local v=game:GetService("\074\111\105\110\116\115\083\101\114\118\105\099\101")local Y=workspace:PGSIsEnabled()function MakeWeld(Y,y,w,I)if w==nil then w="\087\101\108\100"end local n=Instance.new(w,v)n.Part0=Y n.Part1=y n.C0=Y.CFrame:inverse()*Y.CFrame n.C1=y.CFrame:inverse()*Y.CFrame if w=="\077\111\116\111\114"and I~=nil then n.MaxVelocity=I end return n end function ModelWeld(v,Y)if v:IsA("\066\097\115\101\080\097\114\116")then MakeWeld(Y,v,"\087\101\108\100")elseif v:IsA("\077\111\100\101\108")or v:IsA("\070\111\108\100\101\114")then for v,y in pairs(v:GetChildren())do ModelWeld(y,Y)end end end function UnAnchor(v)if v:IsA("\066\097\115\101\080\097\114\116")then v.Anchored=false end for v,Y in pairs(v:GetChildren())do UnAnchor(Y)end end
--[[Weld functions]]

local JS = game:GetService("JointsService")
local PGS_ON = workspace:PGSIsEnabled()

function MakeWeld(x, y, type, s)
	if type == nil then
		type = "Weld"
	end
	local W = Instance.new(type, JS)
	W.Part0 = x
	W.Part1 = y
	W.C0 = x.CFrame:inverse() * x.CFrame
	W.C1 = y.CFrame:inverse() * x.CFrame
	if type == "Motor" and s ~= nil then
		W.MaxVelocity = s
	end
	return W
end

function ModelWeld(a, b)
	if a:IsA("BasePart") then
		MakeWeld(b, a, "Weld")
	elseif a:IsA("Model") or a:IsA("Folder") then
		for i, v in pairs(a:GetChildren()) do
			ModelWeld(v, b)
		end
	end
end

function UnAnchor(a)
	if a:IsA("BasePart") then
		a.Anchored = false
	end
	for i, v in pairs(a:GetChildren()) do
		UnAnchor(v)
	end
end
