function MakeWeld(A,J,X,o)local l=Instance.new(X)l.Part0=A l.Part1=J l.C0=A.CFrame:inverse()*A.CFrame l.C1=J.CFrame:inverse()*A.CFrame l.Parent=A if X=="\077\111\116\111\114"and o~=nil then l.MaxVelocity=o end return l end function ModelWeld(A,J)if A:IsA("\066\097\115\101\080\097\114\116")then MakeWeld(J,A,"\087\101\108\100")elseif A:IsA("\077\111\100\101\108")then for A,X in pairs(A:GetChildren())do ModelWeld(X,J)end end end function UnAnchor(A)if A:IsA("\066\097\115\101\080\097\114\116")then A.Anchored=false elseif A:IsA("\077\111\100\101\108")then for A,J in pairs(A:GetChildren())do UnAnchor(J)end end end

function MakeWeld(x,y,type,s) 
	local W=Instance.new(type) 
	W.Part0=x W.Part1=y 
	W.C0=x.CFrame:inverse()*x.CFrame 
	W.C1=y.CFrame:inverse()*x.CFrame 
	W.Parent=x 
	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") 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 elseif a:IsA("Model") then for i,v in pairs(a:GetChildren()) do UnAnchor(v) end end 
end