I've tried many different ways of going about this. A lot of tutorials on youtube only have it occur when the player dies. I tried changing the humanoid.Died event to humanoid.HealthChanged but that didn't work, the arms were flailing but the player was still normal. I tried humanoid.GetPropertyChangedSignal("Health)" and I was just frozen in place. I tried using these with several different ragdoll scripts made from other people. Not so sure how I should go about this.
game:GetService("Players").PlayerAdded:Connect(function (plr) plr.CharacterAdded:Connect(function (char) local humanoid = char:WaitForChild("Humanoid") humanoid:GetPropertyChangedSignal("Health"):Connect(function() if char:FindFirstChild("HumanoidRootPart") then //ragdoll script end
At the end of the ragdoll script I tried adding this from a "Press R to ragdoll" script I found to see if it would change the ragdoll state, didn't really do anything though:
wait(4) local setEnabled = humanoid:GetState() ~= Enum.HumanoidStateType.Physics humanoid:ChangeState(humanoid:ChangeState(setEnabled and Enum.HumanoidStateType.Physics or Enum.HumanoidStateType.GettingUp)) char.Animate.Disabled = setEnabled if setEnabled then for _,v in pairs(humanoid:GetPlayingAnimationTracks()) do v:Stop(0) end end
Is there a problem with the way I'm firing the event or is it to do with the ragdoll script as a whole?