humanoid:Sit() forcing npc to sit forever?

You should keep the jump value and the weld deletion

i update some forcing sit because i think it might be a problem:

		repeat
			print("Still finding a chair")
			if script.Parent.Humanoid.SeatPart and script.Parent.Humanoid.SeatPart.Parent:FindFirstChild("Owner").Value == script.Parent.Owner.Value then
				break
			else
				chair:Sit(script.Parent.Humanoid)
				print("Forcing player to sit")
			end
			wait(2)
		until false

and yes still didnt work

I’m gonna make a blind guess: Try setting the seat’s occupant to nil. Also it seems like the NPC is not in the sitting state, but rather just playing the sitting animation. One more thing is that:

I’m pretty sure changestate only works on client. I might be wrong.

ok! i’ll try deleting that part!

OH BTW IMPORTANT
some time it work but sometime it doesnt!

isn’t the occupant a locked value, that is read-only?

That’s kind of why I said this.

perhaps you can try detecting the npc sitting, and instantly make it jump

1 Like

I assume that the seat is still colliding with the npc after it jumps and, therefore he sits back

1 Like

i already did the detection in the chair, but i dont know why it jump like it was fired in the client

if it is, then what should i do?

make sure the seat part isn’t too big

1 Like

i already check in my seat part
the size of it is: 1.578, 0.158, 1.578
i sure that isnt big!

Maybe do this:

NPC.SeatPart = -- whatever seat part

-- do something 

NPC.SeatPart = nil

isnt seat part read only? it the same with occupant!

Well, I think seat part may sit an NPC? Maybe you can try.

i dont understand what are you trying to said

this is the output im occuring to get (after the problem that he jump out):
Screenshot 2021-07-09 132415

Try this:

NPC.Sit = true

-- do something

NPC.Sit = false
1 Like

I will try to do that! thank you!

it doesnt work :frowning: after 2 tries it broke again