Weird ragdoll behavior

Hi, so I’m trying to make a tool ragdoll players upon contact. The ragdolling seems to be working, however, the torso just floats in midair and the player still can move their character, not really sure as to why?

Any help appreciated, thanks.

5 Likes

I’m not an expert with ragdolls, infact never done them before. However, is the ragdoll script effecting the Torso as well? (Did you write code to make the torso ragdoll as well?)

2 Likes

Hard to know why when we don’t have any implementation details, but do keep in mind that the Humanoid applies its own forces in order to keep itself upright and able to move or stand across surfaces. Setting the Humanoid’s state to Physics can resolve this as the physics state tells the Humanoid to stop applying its own forces and only rely on natural physics simulation to get it around.

4 Likes

Is anything anchored? It looks to be you have anchored the HumanoidRootPart or one of the torsos. If this is not the case, then try setting the humanoid’s PlatformStanding property to true.

3 Likes

This happens because the ragdoll is still standing. You’ll have to either make it sit or platform stand to stop it from floating when the limbs become uhh… ragdolled?

2 Likes

Please may we see your script so we can give you more help.

2 Likes

Hey, is that a player? I thought that was NPC.

The issue is because you forget to set State of Humanoid to ragdoll and disable a State. Simply
put this code into LocalScript, not Script.

script.Parent.Humanoid:ChangeState(Enum.HumanoidStateType.Ragdoll)
script.Parent.Humanoid:SetStateEnabled(Enum.HumanoidStateType.GettingUp,false)

4 Likes

Can you only change the humanoid state from a local script?

Hey, is that a player? I thought that was NPC.

What if it was an NPC? I’m a little stuck there and can’t find anything useful which works on devforum to solve that issue

The issue is more like, the limbs not colliding with the ground and going through it while the Torso is just floating on the ground as a base.

I tested it out, perhaps you could make local script for NPC itself and a boolvalue. Make that local script check if value changed and apply the :SetStateEnabled script mentioned above depending on value.