So I'm trying to make a boat seat move and I'm not 100% clear on Filtering Enabled yet but if you can help and explain this to me a bit, I would really appreciate it.
I don't know if I did this right?
so Both the MoveEvent and StopEvent are in the VehicleSeat, as well as the localscript and script, are in the vehicleseat as well.
--Client local Players = game:GetService("Players") local UserInputService = game:GetService("UserInputService") local MoveEvent = script:WaitForChild("MoveEvent") local StopEvent = script:WaitForChild("StopEvent") local KeysDown = {} UserInputService.InputBegan:connect(function(Input) local KeyCodeName = Input.KeyCode.Name if KeyCodeName == "W" then MoveEvent:FireServer("Forwards") elseif KeyCodeName == "S" then MoveEvent:FireServer("Backwards") elseif KeyCodeName == "A" then MoveEvent:FireServer("Left") elseif KeyCodeName == "D" then MoveEvent:FireServer("Right") end if KeyCodeName ~= "Unknown" then KeysDown[KeyCodeName] = true end end) UserInputService.InputEnded:connect(function(Input) local KeyCodeName = Input.KeyCode.Name if KeyCodeName == "W" then if KeysDown["S"] then MoveEvent:FireServer("Backwards") else StopEvent:FireServer("Forwards") end elseif KeyCodeName == "S" then if KeysDown["W"] then MoveEvent:FireServer("Forwards") else StopEvent:FireServer("Backwards") end elseif KeyCodeName == "A" then if KeysDown["D"] then MoveEvent:FireServer("Right") else StopEvent:FireServer("Left") end elseif KeyCodeName == "D" then if KeysDown["A"] then MoveEvent:FireServer("Left") else StopEvent:FireServer("Right") end end if KeyCodeName ~= "Unknown" then KeysDown[KeyCodeName] = nil end end)
--Server local Boat = script.Parent local Players = game:GetService("Players") local MoveEvent = script:WaitForChild("MoveEvent") local StopEvent = script:WaitForChild("StopEvent") Boat.MaxSpeed = 18 maxspeed = Boat.MaxSpeed Boat.BodyPosition.position = Boat.Position Boat.BodyGyro.cframe = Boat.CFrame speed = 0 Boat.ChildAdded:connect(function(Weld) if Weld:IsA("Weld") then local Torso = Weld.Part1 if Torso then end end end) Boat.ChildRemoved:connect(function(Child) end) MoveEvent.OnServerEvent:connect(function(Player, Type) if Type == "Forwards" then Forwards = 1 if speed < maxspeed then speed = speed + 0.1 end Boat.BodyVelocity.velocity = Boat.CFrame.lookVector*speed elseif Type == "Backwards" then Forwards = -1 if speed < 18 then speed = speed + 0.1 end Boat.BodyVelocity.velocity = Boat.CFrame.lookVector*-speed elseif Type == "Left" then Turn = -1 Boat.BodyGyro.cframe = Boat.BodyGyro.cframe * CFrame.fromEulerAnglesXYZ(0,0.01,0) elseif Type == "Right" then Turn = 1 Boat.BodyGyro.cframe = Boat.BodyGyro.cframe * CFrame.fromEulerAnglesXYZ(0,-0.01,0) end end) StopEvent.OnServerEvent:connect(function(Player, Type) if Type == "Forwards" or Type == "Backwards" then Forwards = nil elseif Type == "Left" or Type == "Right" then Turn = nil end end)