function WeldPair(t,s)local P=Instance.new("\087\101\108\100",t)P.Part0=t P.Part1=s P.C1=s.CFrame:toObjectSpace(t.CFrame)end function WeldAll(t,s)if t:IsA("\066\097\115\101\080\097\114\116")then WeldPair(s,t)end for t,P in pairs(t:GetChildren())do WeldAll(P,s)end end function UnanchorAll(t)if t:IsA("\066\097\115\101\080\097\114\116")then t.Anchored=false end for t,s in pairs(t:GetChildren())do UnanchorAll(s)end end WeldAll(script.Parent,script.Parent.Part)UnanchorAll(script.Parent)script:Destroy()
-- MasterWeld by Zephyred
-- Works for all types of parts, unions etc.
function WeldPair(x, y)
	local weld = Instance.new("Weld", x)
	weld.Part0 = x
	weld.Part1 = y
	weld.C1 = y.CFrame:toObjectSpace(x.CFrame)
end

function WeldAll(model, main) -- model can be anything
	if model:IsA("BasePart") then
		WeldPair(main, model)
	end
	for _, v in pairs(model:GetChildren()) do
		WeldAll(v, main)
	end
end

function UnanchorAll(model) -- model can be anything
	if model:IsA("BasePart") then
		model.Anchored = false
	end
	for _, v in pairs(model:GetChildren()) do
		UnanchorAll(v)
	end
end

WeldAll(script.Parent, script.Parent.Part)
UnanchorAll(script.Parent)

script:Destroy() -- Done, clean script up.
