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!
That’s kind of why I said this.
perhaps you can try detecting the npc sitting, and instantly make it jump
I assume that the seat is still colliding with the npc after it jumps and, therefore he sits back
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
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):
Try this:
NPC.Sit = true
-- do something
NPC.Sit = false
I will try to do that! thank you!
it doesnt work after 2 tries it broke again