So I have a boat script here that works fine although isn't smooth. Sometimes the speed might glitch switching numbers really fast or the boat will float on nothing because of its body positions. Is there are way I can make boats smoother/better? This was a attempt.
seat = script.Parent
gyro = seat.BodyGyro
pos = seat.BodyPosition
vel = seat.BodyVelocity
pos.Position = seat.Position
gyro.CFrame = seat.CFrame
speed = 0
ready = true
wait()
seat.Anchored = false
function move(property)
if property == "Steer" then
if not ready then
return
end
ready = false
local steer = seat.Steer
while steer ~= 0 do
steer = seat.Steer
if steer == 1 then
gyro.CFrame = gyro.CFrame * CFrame.fromEulerAnglesXYZ(0,-.1,0)
elseif steer == -1 then
gyro.CFrame = gyro.CFrame * CFrame.fromEulerAnglesXYZ(0,.1,0)
end
wait()
vel.Velocity = seat.CFrame.lookVector * speed
end
ready = true
elseif property == "Throttle" then
local throttle = seat.Throttle
while throttle ~= 0 do
if throttle == 1 and speed < seat.MaxSpeed then
speed = speed + 1
elseif throttle == -1 and speed > 0 then
speed = speed - 1
end
wait()
vel.Velocity = seat.CFrame.lookVector * speed
end
end
end
seat.Changed:Connect(move)
