How to change “Vehicle Seat” Steer property?

Every time my script changes the value to 1, that value is reset to 0
Sample script:

Humanoid:GetPropertyChangedSignal("SeatPart"):Connect(function()
	if Humanoid.SeatPart and Humanoid.SeatPart.Parent and Humanoid.SeatPart.Parent.Parent then
		local Chassis = Humanoid.SeatPart.Parent
		while game:GetService("RunService").Heartbeat:Wait() do
			local Steer = 1
			Humanoid.SeatPart.SteerFloat = Steer
		end		
	end
end)

Why are you setting an integer (1) to SteerFloat, which obviously only accepts float types (1.0 etc.).
Use SeatPart.Steer instead.

Although that is not hte main issue here.
It says on the developer page, that it needs to be constantly set.

https://developer.roblox.com/en-us/api-reference/property/Humanoid/SeatPart

Remember that the SeatPart property doesn’t replicate across the client-server boundary, so it can only be assigned to and read from with precision from either the server or the client exclusively.

local RS = game:GetService("RunService")
local Players = game:GetService("Players")
local Heartbeat

Players.PlayerAdded:Connect(function(Player)
	Player.CharacterAdded:Connect(function(Character)
		local Humanoid = Character:WaitForChild("Humanoid")
		Humanoid:GetPropertyChangedSignal("SeatPart"):Connect(function()
			if Humanoid.SeatPart then
				Heartbeat = RS.Heartbeat:Connect(function()
					local Seat = Humanoid.SeatPart
					local Chassis = Seat.Parent
					Seat.Steer = 1
					print(Seat.Steer)
				end)
			else
				Heartbeat:Disconnect()
			end
		end)
	end)
end)

This is currently working for me.

image

My chassis was albeit very primitive.

Thanks to you I understand the problem, I needed to use “Script” instead of “local script”