Accessories fall off when in ragdoll

The accessories stay on for a few seconds but just fall off after a few seconds, i have tried by making the rootjoint not get turned into a ball joint but allas, it still failed.

here is the code, it is server side in startercharacterscripts. it is r6 too.

local rig = script.Parent
local humanoid = rig:WaitForChild("Humanoid")

local function ragdoll()
	
	humanoid.PlatformStand = true
	humanoid.AutoRotate = false

	for index,joint in pairs(rig:GetDescendants()) do
		local smallboom = Instance.new("Explosion")
		smallboom.BlastPressure = 500
		smallboom.BlastRadius = 1
		smallboom.ExplosionType = Enum.ExplosionType.NoCraters
		smallboom.DestroyJointRadiusPercent = -1
		smallboom.Parent = rig
		smallboom.Position = rig.HumanoidRootPart.Position
		smallboom.Visible = false
		if joint:IsA("Motor6D") then
			if joint.Name == "RootJoint" then
				
			else
				local socket = Instance.new("BallSocketConstraint")
				local a1 = Instance.new("Attachment")
				local a2 = Instance.new("Attachment")
				a1.Name = "RagdollAttachment0"
				a2.Name = "RagdollAttachment1"
				a1.Parent = joint.Part0
				a2.Parent = joint.Part1
				socket.Name = joint.Name
				socket.Parent = joint.Parent
				socket.Attachment0 = a1
				socket.Attachment1 = a2
				a1.CFrame = joint.C0
				a2.CFrame = joint.C1
				socket.LimitsEnabled = true
				socket.Restitution = 0
				socket.UpperAngle = 45
				socket.TwistLowerAngle = -30
				socket.TwistUpperAngle = 30
				socket.TwistLimitsEnabled = true
				joint:Destroy()
			end
		end
		if joint:IsA("BasePartPart") then
			joint.CanCollide = true
		end
		if joint:IsA("Accessory") then
			
		end
	end
end

humanoid.Died:Connect(ragdoll)

I’m not sure if this will help, I had an issue very similar to this which I never ended up figuring out…

I ended up just using the system that this video used

Sorry for not responding, removing the explosion seems to have fixed it.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.