local G=game:GetService("\074\111\105\110\116\115\083\101\114\118\105\099\101")local M=workspace:PGSIsEnabled()function MakeWeld(M,t,m,D)if m==nil then m="\087\101\108\100"end local n=Instance.new(m,G)n.Part0=M n.Part1=t n.C0=M.CFrame:inverse()*M.CFrame n.C1=t.CFrame:inverse()*M.CFrame if m=="\077\111\116\111\114"and D~=nil then n.MaxVelocity=D end return n end function ModelWeld(G,M)if G:IsA("\066\097\115\101\080\097\114\116")and G.Parent.Name~="\082\111\116\076\105\103\104\116"then MakeWeld(M,G,"\087\101\108\100")for G,t in pairs(G:GetChildren())do if t~=nil and t:IsA("\066\097\115\101\080\097\114\116")then ModelWeld(t,M)end end elseif G:IsA("\077\111\100\101\108")then for G,t in pairs(G:GetChildren())do ModelWeld(t,M)end end end function UnAnchor(G)if G:IsA("\066\097\115\101\080\097\114\116")then G.Anchored=false end for G,M in pairs(G:GetChildren())do UnAnchor(M)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") and a.Parent.Name ~= "RotLight" then
		MakeWeld(b, a, "Weld")
		for i, v in pairs(a:GetChildren()) do
			if v ~= nil and v:IsA("BasePart") then
				ModelWeld(v, b)
			end
		end
	elseif a:IsA("Model") 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
