I’m trying to un-ragdoll my character by re-adding the Motor6D’s but when I do the limbs move to the center of the player’s HumanoidRootPart I assume It’s because I haven’t set the C0 and C1 but I have no idea how to do that.
I ragdoll the character by removing the current Motor6D and replacing them with BallSocketConstraint and Attachments.
The Un-Ragdoll code (There’s probably a better way to do this but this was simple to do)
for i,part in pairs(Char:GetDescendants()) do
print("2")
if part.Name == "HumanoidRootPart" then
print("3")
local Root = Instance.new("Motor6D")
Root.Part0 = part
Root.Part1 = part.Parent.Torso
Root.Parent = part
Root.Name = "RootJoint"
elseif part.Name == "Torso" then
print("4")
local LeftH = Instance.new("Motor6D")
LeftH.Part0 = part
LeftH.Part1 = part.Parent["Left Leg"]
LeftH.Parent = part
LeftH.Name = "Left Hip"
local RightH = Instance.new("Motor6D")
RightH.Part0 = part
RightH.Part1 = part.Parent["Right Leg"]
RightH.Parent = part
RightH.Name = "Right Hip"
local Neck = Instance.new("Motor6D")
Neck.Part0 = part
Neck.Part1 = part.Parent.Head
Neck.Parent = part
Neck.Name = "Neck"
local LeftS = Instance.new("Motor6D")
LeftS.Part0 = part
LeftS.Part1 = part.Parent["Left Arm"]
LeftS.Parent = part
LeftS.Name = "Left Shoulder"
local RightS = Instance.new("Motor6D")
RightS.Part0 = part
RightS.Part1 = part.Parent["Right Arm"]
RightS.Parent = part
RightS.Name = "Right Shoulder"
elseif part:IsA("BallSocketConstraint") then
print("Bam")
part:Destroy()
elseif part.Name == "A0" then
print("Gone")
part:Destroy()
elseif part.Name == "A1" then
print("Goone")
part:Destroy()
end
end
Extra Info
This is for a combat script where after a certain amount of health (So when the health is <= 0.01 because I capped the health off at 0.01 you ragdoll) you crawl then you ragdoll and when you gain health you crawl then walk again all this works apart from the Un-ragdolling part.
TD;LR - Player limbs go to the center of the HumanoidRootPart when re-adding the destroyed Motor6D’s