I have made a script using Body Velocity to move my aircraft forwards and backward, Body Gyro to turn it and Body Position to make it move up and down. I am testing flight for a future game. Everything is working fine using the Vehicle seat except that when I attempt to turn, the aircraft drifts and slows down before it turns and makes turning very slow and difficult. Could anyone please tell me how I can make my aircraft change direction without drifting? (I already tried changing the power on the BV)
SCRIPT
VehiclePrompt.Triggered:Connect(function(player)
Events.Enter:FireClient(player,AircraftCamera)
local Char = player.Character
local HRP = Char.HumanoidRootPart
local Humanoid = Char.Humanoid
wait(1)
Humanoid.JumpPower = 0
VehicleSeat:Sit(Humanoid)
BG.MaxTorque = BGDefault.Value
BP.MaxForce = BPDefault.Value
Occupied.Value = true
Occupant.Value = player.Name
while Occupied.Value == true do
wait()
if VehicleSeat.Throttle == 1 then
if value1 < maxspeed then value1 = value1 + 1 end
BV.velocity = VehicleSeat.CFrame.lookVector * value1
end
if VehicleSeat.Throttle == 0 then
value1 = 0
BV.velocity = VehicleSeat.CFrame.lookVector * value1
end
if VehicleSeat.Throttle == -1 then
if VehicleSeat.Steer == -1 then
BP.Position = VehicleSeat.CFrame * Vector3.new(0,10,0)
end
end
if VehicleSeat.Throttle == -1 then
if VehicleSeat.Steer == 0 then
BP.Position = VehicleSeat.CFrame * Vector3.new(0,-10,0)
end
end
if VehicleSeat.Steer == 1 then
BG.CFrame = BG.CFrame * CFrame.fromEulerAnglesXYZ(0,-.018,0)
BV.velocity = VehicleSeat.CFrame.lookVector * value1 * 2
end
if VehicleSeat.Steer == -1 then
if VehicleSeat.Throttle == 0 or VehicleSeat.Throttle == 1 then
BG.CFrame = BG.CFrame * CFrame.fromEulerAnglesXYZ(0,.018,0)
BV.velocity = VehicleSeat.CFrame.lookVector * value1 * 2
end
end
end
end)
Video of the Aircraft "Drifting"