Player weirdly ends up upside down after getting up from ragdoll?

I have this very weird bug in my game that rarely happens where when a player gets up from being ragdolled they are forever upside down. This is a visual bug on other clients and the actual player thats upside down does not see that they are upside down. Only other people see it.

Example of bug:
image

His head isn’t stuck as he can run around and even jump during this. It doesnt fix until the player dies or rejoins. There is no error in the f9 console. For my ragdolling I use this module:

All help is greatly appreciated thanks in advance!

1 Like

Is the HumanoidRootPart getting rotated at all? To fix this, you should make sure that the HumanoidRootPart is still facing up, and not upside down.

2 Likes

It shouldn’t be as far as im aware. How can I make sure it always stays facing up?

How are you using the ragdoll module?

Are you changing orientation by any chance?
You can get a similar effect by doing this

local char = script.Parent

local hrp = char.HumanoidRootPart

hrp.Orientation = Vector3.new(0,0, 180)

image

If you are using .Orientation then use .CFrame instead to avoid messing with the welds and their offsets.

You can also save the C0 and C1s and reset them if the situation occurs.

Seems like the above as well as you can also move in this state.

1 Like

You could check if the player is ragdolled, and is not moving, then set the orientation.

1 Like

There is no where in the module where it sets the orientation. I used find all / replace all tab to check and found nothing. Also checked to see if C0 or C1 got changed at all and they dont. The motor6ds do get disable and re-enabled during ragdoll though.

Next time it happens I am going to print the c0 and c1 to see if they are different than a normal players.

I printed the C0 and C1 and they seem to be the same as a normal players. What could be causing this and how can I fix it?

This is happening since it turns off the RootJoint motor6d
I just bug tested this on my ragdoll system and adding a check that makes sure the RootJoint motor6d fixed this issue for me

1 Like