Humanoid.AutoRotate=false local W=Character:GetDescendants()for W,T in pairs(W)do if T:IsA("\077\111\116\111\114\054\068")then local W=Instance.new("\066\097\108\108\083\111\099\107\101\116\067\111\110\115\116\114\097\105\110\116",T.Parent)local X=Instance.new("\065\116\116\097\099\104\109\101\110\116",T.Part0)or T.Parent:FindFirstChild("\065\116\116\097\099\104\109\101\110\116")local Q=Instance.new("\065\116\116\097\099\104\109\101\110\116",T.Part1)or T.Parent:FindFirstChild("\065\116\116\097\099\104\109\101\110\116")X.CFrame=T.C0 Q.CFrame=T.C1 W.Attachment0=X W.Attachment1=Q W.LimitsEnabled=true W.TwistLimitsEnabled=true T:Destroy()end if T:IsA("\087\101\108\100")then local W=T:Clone()W.Parent=T.Parent T:Destroy()end if T.Parent==Character then if T:IsA("\080\097\114\116")or T:IsA("\077\101\115\104\080\097\114\116")then T.CanCollide=true end end end

Humanoid.AutoRotate = false
local Descendants = Character:GetDescendants()
for i, obj in pairs(Descendants) do
	-- If the descendant is a k then replace it with a socket
	if obj:IsA('Motor6D') then
		-- totally didnt take most of this from a youtube video
		local Socket = Instance.new('BallSocketConstraint',obj.Parent)
		local a1 = Instance.new('Attachment',obj.Part0) or obj.Parent:FindFirstChild('Attachment')
		local a2 = Instance.new('Attachment',obj.Part1) or obj.Parent:FindFirstChild('Attachment')
		a1.CFrame = obj.C0
		a2.CFrame = obj.C1
		Socket.Attachment0 = a1
		Socket.Attachment1 = a2
		Socket.LimitsEnabled = true
		Socket.TwistLimitsEnabled = true
		obj:Destroy()
	end
	-- If the descendant is a weld, realign the position --
	if obj:IsA('Weld') then 
		local Weld = obj:Clone()
		Weld.Parent = obj.Parent
		obj:Destroy()
	end
	-- Make all parts collidable
	if obj.Parent == Character then
		if obj:IsA('Part') or obj:IsA('MeshPart') then
			obj.CanCollide = true
		end
	end
end
