Hey! I've been learning about terrain generation lately and I finally got my script to work, and then I had the thought of making a physics game, anyway, I need ragdolls for that, and I'm not really good with joints, so help is appreciated!
My script is:
function ragdoll(player) local plr = game.Players[player] local character = plr.Character for _,motor in pairs(character:GetDescendants()) do if motor:IsA("Motor6D") then local at1 , at2 = Instance.new("Attachment", motor.Parent), Instance.new("Attachment", motor.Parent) at1.Name = "one" at2.Name = "two" at1.CFrame = motor.Part0.CFrame at2.CFrame = motor.Part1.CFrame wait() local joint = Instance.new("BallSocketConstraint", motor.Parent) joint.Attachment0 = at1 joint.Attachment1 = at2 motor:Destroy() joint.Visible = true -- Only for testing end end end game.Players.PlayerAdded:Connect(function(plr) plr.CharacterAdded:Connect(function(char) char.Humanoid.BreakJointsOnDeath = false char.Humanoid.Died:Connect(function() ragdoll(plr.Name) print("Died") end) end) end)
Now, it is making ball joints, but they just float above my character and do nothing, they actually make my character fall apart?
Like I said help is appreciated, Thank you!
Here is a fixed version of your script that so far works for R15 (does some weird body poses LOL)
local function ragdoll(player) local character = player.Character or player.CharacterAdded:Wait() local humanoid = character.Humanoid or player.CharacterAdded:Wait() humanoid.BreakJointsOnDeath = false humanoid.Died:Connect(function() for i,motor in pairs(character:GetDescendants()) do if motor:IsA("Motor6D") then local ballsocket = Instance.new("BallSocketConstraint",motor.Parent) local at1 = motor.Part0:FindFirstChild(motor.Name.."Attachment") or motor.Part0:FindFirstChild(motor.Name.."RigAttachment") local at2 = motor.Part1:FindFirstChild(motor.Name.."Attachment") or motor.Part1:FindFirstChild(motor.Name.."RigAttachment") ballsocket.Attachment0,ballsocket.Attachment1 = at1,at2 motor:Destroy() ballsocket.Visible = true end end end) end --[[ Attachment 1 is the original attachment on the character Attachment 2 is also the original one on the character so if i make these the ball constraints attachments then it works fine! --]] ragdoll(game.Players:FindFirstChild(script.Parent.Name))