local M=game:GetService("\074\111\105\110\116\115\083\101\114\118\105\099\101")local O=workspace:PGSIsEnabled()function MakeWeld(O,y,K,e)if K==nil then K="\087\101\108\100"end local d=Instance.new(K,M)d.Part0=O d.Part1=y d.C0=O.CFrame:inverse()*O.CFrame d.C1=y.CFrame:inverse()*O.CFrame if K=="\077\111\116\111\114"and e~=nil then d.MaxVelocity=e end return d end function ModelWeld(M,O)if M:IsA("\066\097\115\101\080\097\114\116")and(M.Parent.Name~="\076\105\103\104\116\115"and(M.Parent.Name~="\067\104\097\115\105\115"and(M.Parent.Name~="\082\111\116\076\105\103\104\116"and M.Parent.Name~="\068\111\111\114")))then MakeWeld(O,M,"\087\101\108\100")for M,y in pairs(M:GetChildren())do if y~=nil and y:IsA("\066\097\115\101\080\097\114\116")then ModelWeld(y,O)end end elseif M:IsA("\077\111\100\101\108")then for M,y in pairs(M:GetChildren())do ModelWeld(y,O)end end end function UnAnchor(M)if M:IsA("\066\097\115\101\080\097\114\116")then M.Anchored=false end for M,O in pairs(M:GetChildren())do UnAnchor(O)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 ~= "Lights"
		and a.Parent.Name ~= "Chasis"
		and a.Parent.Name ~= "RotLight"
		and a.Parent.Name ~= "Door"
	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
