Ragdoll not working

After searching up solutions I ended up with a result like this

It looks like its trying to stand up and it wont flop over like a normal ragdoll

I’m trying to replicate a model I found that I cant find anymore that works by turning on and off a bool value and it switches the ragdoll on and off

Script (StarterCharacterScripts)

local character = script.Parent 
local humanoid : Humanoid = character:WaitForChild("Humanoid")
local ragdoll = script.Parent:WaitForChild("Ragdoll")
ragdoll.Changed:Connect(function(bool)
	if bool then
		humanoid:ChangeState(Enum.HumanoidStateType.Physics)
		humanoid.WalkSpeed = 0
		humanoid.JumpHeight = 0
		humanoid.RequiresNeck = false
		for _,instance in pairs(script.Parent:GetDescendants()) do
			if instance:IsA("Motor6D") then
				local socket = Instance.new("BallSocketConstraint")
				local a1 = Instance.new("Attachment")
				local a2 = Instance.new("Attachment")
				a1.Parent = instance.Part0
				a2.Parent = instance.Part1
				a1.Name = "a1"
				a2.Name = "a2"
				socket.Parent = instance.Parent
				socket.Attachment0 = a1
				socket.Attachment1 = a2
				a1.CFrame = instance.C0
				a2.CFrame = instance.C1
				socket.LimitsEnabled = true
				socket.TwistLimitsEnabled = true
				instance.Enabled = false
			elseif instance:IsA("MeshPart") then
				if instance.Name == ("LeftLowerArm" or "LeftLowerLeg" or "RightLowerArm" or "RightLowerLeg" or "Head") then
					instance.CanCollide = true
					instance.CollisionGroup = "Ragdoll"
				end
			end
		end
	elseif not bool then
		for _,instance in pairs(script.Parent:GetDescendants()) do
			if instance:IsA("BallSocketConstraint") then
				instance:Destroy()
			elseif instance:IsA("Motor6D") then
				instance.Enabled = true
			elseif instance:IsA("MeshPart") then
				if instance.Name == ("LeftLowerArm" or "LeftLowerLeg" or "RightLowerArm" or "RightLowerLeg" or "Head") then
					instance.CanCollide = false
					instance.CollisionGroup = "Default"
				end
			elseif instance.Name == ("a1" or "a2") then
				instance:Destroy()
			end
		end
		humanoid:ChangeState(Enum.HumanoidStateType.Running)
		humanoid.WalkSpeed = 16
		humanoid.JumpHeight = 7.2
		humanoid.RequiresNeck = true
	end
end)
2 Likes

Have you tried DFunnyTR’s ragdoll system? They have a push tool model that works with that system that you could take the scripts out of and alter to how you like it. It’s worked pretty well for me, let me know if it works for you!

1 Like

Well 30 minutes of trying later, I didn’t like how it functioned. It shrunk the torso when I used it. and the way I used it, it turned into a buggy mess so I’ll probably look else where and do more research

.

Did you try changing their humanoid state type to ragdoll and disabling their GettingUp humanoid state type?

Well I really didn’t find a difference between physics and ragdoll but I would have no idea how to disable the GettingUp state type because I’ve only worked with humanoid states once before

Edit: I searched it up but nothing changed

Can I see a video of how my suggestion currently works for you? We may be able to identify the problem.

Well using the scripts normally stops the player’s torso from moving after a ragdoll and it just looks weird

See the hole in the torso too?

That’s strange, hasn’t happened to me before. Have you made any changes to the code that you would be able to show me?

I reverted after I kinda messed up the entire code on accident and took a break only to come back and not remember how to revert so this is just the unedited script

Edit: this is actually kinda important but I’m changing the humanoid state to physics because I found that the variables in the folder don’t seem to work

I’m also getting warnings in output that seem to suggest that the scripts are outdated

I know it definitely works properly when I have the trip brick as a tool, could there perhaps be any scripts in it that link it specifically to the starterpack?

Are you talking about the trip brick in the push tool? I don’t even see anything with the words “starterpack” , “push” or “trip” in Find All

Edit: maybe you might be confusing this with a different script?
just a possibility

search inside scripts inside the push tool for any references to the starterpack