Vehicle Seat Script not working

are you using localscript for it

local seat=script.Parent

seat.ChildAdded:Connect(function(child)
   if child.Name=="SeatWeld" then
      local char=child.Part1.Parent
      local plr=game.Players:GetPlayerFromCharacter(char)
      if plr.Team ~= "Border Director" then
         local hum=char:FindFirstChild("Humanoid")
         hum.Sit=false
         hum.Jump=true
         char.HumanoidRootPart.CFrame *= CFrame.new(Vector3.new(0, 0, -2))
      end
   end
end)

normal script

this must work for sure

No, I’m not.
TEXT-TEXT-TEXT-TEXT

…Doesn’t work…

Could it be possible that this is because of a Backdoor, it’s happened to me before, in a post related to this game?

ok here a way try this in a new game in a different game or better try in a alt acc without any plugins installed

also im pretty sure backdoors wont make your script not work

Ah…have you check that the player actually get’s kicked out the seat?

That’s the whole point of the post. The player isn’t getting ejected.

Without the checks in place. That might be why.

What do you mean by that?

XXXX-XXXX

Tried in a new game, not working.

Have you tried kicking the player out of the seat regardless of which team they are in. It might be that is what isn’t working.

If it isn’t working why not try Humanoid.Jump = true instead?

he already tried jumping the player and didnt work

local seat=script.Parent

seat.ChildAdded:Connect(function(child)
   if child.Name=="SeatWeld" then
      local char=child.Part1.Parent
      local plr=game.Players:GetPlayerFromCharacter(char)
      if plr.Team ~= "Border Director" then
         local hum=char:FindFirstChild("Humanoid")
         child:Destroy()
         print("Destroyed the weld")
         hum.Jump=true
         char.HumanoidRootPart.CFrame *= CFrame.new(Vector3.new(0, 0, -2))
      end
   end
end)

try this in a normal script again

Tried this:

local Seat = script.Parent

Seat.Changed:Connect(function(Prop)
	print("Changed! "..Prop)
	if Prop == "Occupant" then
		print("Occupant!")
		local Occupant = Seat.Occupant
		if Occupant then
			print("Sitting!")
			local Char = Occupant.Parent
			local Player = game.Players:GetPlayerFromCharacter(Char)
				Occupant.Sit = false
				Occupant.Jump = true
				Occupant.Parent.HumanoidRootPart.CFrame *= CFrame.new(Vector3.new(0, 0, -2))
		end
	end
end)

Not working.

This is the output.

i would reccomend not using .Changed and then checking if it was the Occupant because its not good its better using GetPropertyChangedSignal

I tried using both methods, both yield no results. And on the official API it uses .Changed

Sorry I didn’t think you understood what I meant.

Are you sure that this you can’t do this?
Have you tried making the player jump regardless of what team they are in.
https://gyazo.com/c306ebc9d4b6791f72be0e3d42d7ebd1

This is the code I used.

local Seat = script.Parent

Seat.Changed:Connect(function(Property)
	if Property == "Occupant" and Seat.Occupant then
		wait(1)
		local Humanoid = Seat.Occupant
		Humanoid.Jump = true
	end
end)

When I get stuck I usually do something like this-simplify.

1 Like

Yes, I’ve tried that. I’ll try with the wait.

The problem may also be that I’m using Roblox’s Police Car.

Ah, wait, it worked

Just doing a final test and marking as solution

1 Like