Issue with a boat using VehicleSeat

I’m trying to make a boat, which goes on regular part / smooth plastic water.
Accelerating forward and backwards work when u first get on the boat, but then when turning, the model of the boat MOVES, but the boat still goes forward the direction it originally went to even if I hold W or S. If i go left enough, the boat will start to slowly shift to the left, and vice-versa for the right side.
This is my first time doing vehicles, I’ve asked around and even looked on the developer’s hub for possible solutions but to no avail.

The properties for the BodyThrust are : Force = 0,4,0 (Though it gets changed in the script) ;
Location = 0,0,0

The properties for the BodyAngularVelocity are : AngularVelocity = 0,0,0 (Though it gets changed in the script);
MaxTorque = 4000,4000,4000
P = 1250

The script, which is parented to the vehicle seat, is as follows :

local Engine = script.Parent.Parent.Engine.BodyThrust 
local SForce = script.Parent.Parent.Steer.BodyAngularVelocity 
local DSeat = script.Parent 
local Base = script.Parent.Parent 
speed = 75 
SteerSpeed = 1
BaseDensity = 0.1
DSeat.Changed:Connect(function(p)
    if p == "ThrottleFloat"then
        wait(1)
        Engine.Force = Vector3.new(0,0,speed * DSeat.ThrottleFloat)
        left.Transparency = 0
        right.Transparency = 0
    end
    if p == "SteerFloat"then
        SForce.AngularVelocity = Vector3.new(0,-SteerSpeed*DSeat.SteerFloat,0)
    end
end)

Base.CustomPhysicalProperties = PhysicalProperties.new(BaseDensity,0,0)```
1 Like