Ragdoll carrying system bug

Then I suggest to either find a way to make them non-collideable if that is even possible (as changing the collision of legs doesnt work so this might not work).

Streaming enabled completely disallows me to disable collision on the torso.

How are you welding the ragdoll to the player? Are you using WeldConstraints, Attachments?

I’m using a basic weld. Part0 is the players torso, and part1 is the other players humanoidrootpart.

Then do it server-wide, instead of client-sided.

I’ve offset the humanoidrootpart in hopes of fixing this, but it ends up colliding with the torso.
image

I would experiment with AlignPositions, and AlignOrientations and offset it to the character’s shoulder. I looked around at some other posts, and this is what they used.

A post I looked at

Edit: If you do go this route, give NetworkOwnership to the character not ragdolled I believe.

Is that essentially just setting the ragdolled characters position to a certain position, or what?

How I would go about this is every time a ragdolled player is picked up, create a new AlignPosition and a new AlignOrientation and then parent these to the HumanoidRootPart of the ragdolled player.

After this, make sure the RigidityEnabled property of the AlignPosition is enabled, and start playing around with the properties until you get something you desire.

I thought I saw a while back that you can change a character’s Properties but you have to do it every RenderStep. I could be waaay off base about this though.
If anything a player carries isn’t Massless (like another torso or HRP) then it throws player physics off.

Yea i set all of the ragdolled players baseparts to massless, there isn’t any way it’s that, i mostly think it’s the torso CanCollide on

I am not sure how this could work-

I tried, and it was sloppy, and not what i want

This is a sort of workaround I use. When a player logs in, I copy the upper and lower torso and head, and I parent the clone’s to the character, but weld them to the HRP humanoid root part.
Then you add a script in the character local, that ever run step sets the collision on the real upper and lower torso and head, and HRP to false.

The fake parts keep you from going through walls and the terrain, and allows you to have animations or ragdoll on the real parts without collision issues.

If you are being carried, just temporarily set the fake parts collision to false, and re-enable it when they are dropped or jump free.

Wouldn’t the real limbs be set back to true because of FilteringEnabled though?

no if the script is local and running each render step set it, it will keep the collision to whatever you set it in that script

local character = script.Parent.Parent

connection = game:GetService('RunService').Stepped:Connect(function()

local lowerTorso = character:FindFirstChild("LowerTorso")

if lowerTorso then lowerTorso.CanCollide = false end

local upperTorso = character:FindFirstChild("UpperTorso")

if upperTorso then upperTorso.CanCollide = false end

local head = character:FindFirstChild("Head")

if head then head.CanCollide = false end

--local hrp = character:FindFirstChild("HumanoidRootPart")

--if hrp then hrp.CanCollide = false end

end)

while not character:FindFirstChild("Humanoid") do wait() end

local humanoid = character.Humanoid

humanoid.Died:Connect(function()

if connection then

connection:Disconnect()

end

connection = nil

end)
1 Like

Regardless if i’d use RenderStepped, the torso would still have CanCollide set to true.

Not sure if this worked for you, since i’m using an R6 rig, i tried that, and it didn’t really help at all.

Ok, so by using CollisionGroups i’ve solved it, the main bug was the limbs fake parts dangling around and hitting the character. If you’d change their collision to not hit the character, it will work. I honestly wanted to achieve the effect of the limbs colliding with the player, but I guess I couldn’t.

1 Like