Alright, so I made a localscript inside of StarterPlayerScripts because according to some resources, a localscript can stop the input lag of the cars physics. Now my problem is that how am I gonna call a specific VehicleSeat that the player is sitting on and what if there were 2 players and there were 2 models of the same name?
LocalScript:
--car and seat variables
local seat = workspace.Chassis.VehicleSeat
local car = seat.Parent
--constraint variables
local LS = car.FL.SpringMount.Steer
local RS = car.FR.SpringMount.Steer
--VehicleSeat function
local function onChanged(property)
--forward and reverse speed
if seat.Throttle >= 0 then
seat.Speed.Value = 50
else
seat.Speed.Value = 20
end
--steering
if seat.Steer == -1 then
LS.AngularSpeed = 1
RS.AngularSpeed = 0.8
LS.TargetAngle = -30
RS.TargetAngle = -25
end
if seat.Steer == 1 then
LS.AngularSpeed = 0.8
RS.AngularSpeed = 1
LS.TargetAngle = 25
RS.TargetAngle = 30
end
if seat.Steer == 0 then
LS.AngularSpeed = 5
RS.AngularSpeed = 5
LS.TargetAngle = 0
RS.TargetAngle = 0
end
end
seat.Changed:Connect(onChanged)

4 comments
It gave me an error saying Infinite yield possible on 'Players.Gam3r_Play3r.PlayerScripts:WaitForChild("Humanoid")'
I moved it to StarterCharacterScripts then it gave me another error saying Infinite yield possible on 'Workspace.Cars.Chassis.FL:WaitForChild("SprintMount")'
Is there a way to reduce steering latency without localscripts?
^ No there isn't