Character Tripping When Exiting Seat

When I remove a player from either
A) A seat
or
B) A custom seat, consisting of a normal part, then welding the characters root part to it, and setting Humanoid.Sit = true

By destroying the weld and then setting the CFrame of the characters root part, there’s about an 80% chance the character will enter a trip state and fall flat on the ground for a few seconds with no obvious reason. Is there a reliable way to prevent this?

1 Like

Can you show a GIF of what you mean? I may have an idea, but I need to see what you did to see if my prediction is correct.

1 Like

There’s always the option of disabling a HumanoidStateType, whether temporarily or permanently. I think the state for this case specifically is FallingDown.

I’m not quite sure if this would solve the issue necessarily, but it should. Give it a try.

1 Like

https://gyazo.com/83c52ab78b2f6ab5f5946c75673bff2d
https://i.gyazo.com/3199efb19da5ae159ea55371b37f4e41.mp4

Definitely a possibility, although I’d prefer not to mess around with the Humanoid states if possible in one of the projects.

1 Like

Sorry to bother you again, but was just wondering if it was the same issue you were expecting? Disabling the Humanoid Fall state creates quite a few complications, so any other solutions would be really appreciated :slight_smile:

Try briefly anchoring the character’s HumanoidRootPart before removing the seat weld to prevent physics from occurring and then immediately unanchoring it once they have been disconnected/positioned. This should prevent the character from being knocked out when they stop sitting and it should be seamless.

2 Likes

Unfortunately this doesn’t seem to work. I kept the HumanoidRootPart anchored before the weld was destroyed, then for half a second after moving it, and when it unanchored it performed identical behavior.

I think the behavior is purely dependent on whether the humanoid is lowered onto completely flat ground or not, but I’m still not sure how to get around that. Starting to wonder if this is either a bug with Humanoids or something to add as a feature request for them.

Trying setting humanoid.jump to true as they leave the car?

Try setting the humanoid state to GettingUp after destroying the weld.

3 Likes

Try moving the character upward. The problem is when the character gets out they are inside of parts, and therefore get flung weirdly.

My best guess after reading through this is to make humanoid.sit = false to make them stand up, remove the weld, have humanoid.jump = true, a wait(), then adjust its CFrame. (or maybe in some similar order…)

What I’ve noticed in the past with an old game of mine is when HumanoidRootPart is anchored, is welded. or one of the two are disabled then CFrame is adjusted almost instantly without wait() someplace, it causes the Character to trip onto the ground.

He’s already moving the character upward as seen by the GIF. The issue is that the moment the character is placed on top of the car, they trip.

I tried using

Humanoid:ChangeState(Enum.HumanoidStateType.GettingUp)

This seems to work like a treat :smiley:

3 Likes