local z=script.Parent.Car.Value local T=workspace.CurrentCamera local f=game:GetService("\082\117\110\083\101\114\118\105\099\101")z.DriveSeat.ChildRemoved:connect(function(z)if z.Name=="\083\101\097\116\087\101\108\100"then f:UnbindFromRenderStep("\077\067\097\109")T.CameraType=Enum.CameraType.Custom end end)script.Parent.Values.MouseSteerOn.Changed:connect(function(X)if script.Parent.Values.MouseSteerOn.Value then f:BindToRenderStep("\077\067\097\109",Enum.RenderPriority.Camera.Value,function()T.CameraType=Enum.CameraType.Scriptable local f=math.min(1,z.DriveSeat.Velocity.Magnitude/500)local X=((z.DriveSeat.Position+Vector3.new(0,8+f*2,0))-z.DriveSeat.CFrame.lookVector*17)+(z.DriveSeat.Velocity.Unit*-7)*f T.CoordinateFrame=CFrame.new(X,z.DriveSeat.Position)end)else f:UnbindFromRenderStep("\077\067\097\109")T.CameraType=Enum.CameraType.Custom end end)


local car = script.Parent.Car.Value
local cam = workspace.CurrentCamera
local RS = game:GetService("RunService")

car.DriveSeat.ChildRemoved:connect(function(child)
	if child.Name=="SeatWeld" then
		RS:UnbindFromRenderStep("MCam")
		cam.CameraType = Enum.CameraType.Custom
	end
end)

script.Parent.Values.MouseSteerOn.Changed:connect(function(property)
	if script.Parent.Values.MouseSteerOn.Value then
		RS:BindToRenderStep("MCam",Enum.RenderPriority.Camera.Value,function()	
			cam.CameraType = Enum.CameraType.Scriptable
			local pspeed = math.min(1,car.DriveSeat.Velocity.Magnitude/500)
			local cc = car.DriveSeat.Position+Vector3.new(0,8+(pspeed*2),0)-(car.DriveSeat.CFrame.lookVector*17)+(car.DriveSeat.Velocity.Unit*-7*pspeed)
			cam.CoordinateFrame = CFrame.new(cc,car.DriveSeat.Position)
		end)
	else
		RS:UnbindFromRenderStep("MCam")
		cam.CameraType = Enum.CameraType.Custom
	end
end)
