Listen to the VehicleSeat’s Throttle and Steer properties. Use :GetPropertyChangedSignal(“PropertyName”) to check if the player moved forward/backwards, left/right.
local boat = script.Parent.Parent
local seat = boat.VehicleSeat
local main = boat.Main
seat:GetPropertyChangedSignal("Throttle"):Connect(function()
main.BodyForce.Force = seat.CFrame.LookVector * 10000 * seat.Throttle
end)
seat:GetPropertyChangedSignal("Steer"):Connect(function()
main.AngularVelocity.AngularVelocity = Vector3.new(0, -1 * seat.Steer, 0)
end)