Tool = script.Parent; local arms = nil local torso = nil local welds = {} local model = nil function Equip(mouse) wait(0.01) arms = {Tool.Parent:FindFirstChild("Left Arm"), Tool.Parent:FindFirstChild("Right Arm")} torso = Tool.Parent:FindFirstChild("Torso") if arms ~= nil and torso ~= nil then local sh = {torso:FindFirstChild("Left Shoulder"), torso:FindFirstChild("Right Shoulder")} if sh ~= nil then local yes = true if yes then yes = false sh[1].Part1 = nil sh[2].Part1 = nil local torsoCF = torso.CFrame model = Instance.new("Model", workspace) local humanoid = Instance.new("Humanoid", model) local armcL = Tool.Parent:FindFirstChild("Left Arm"):Clone() armcR = Tool.Parent:FindFirstChild("Right Arm"):Clone() armcL.CanCollide = false armcR.CanCollide = false armcL.Parent = model armcL.Size = Vector3.new(1, 2.8, 1) armcR.Parent = model for i,v in pairs (Tool.Parent:GetChildren()) do if v:IsA("Shirt") then local shirt = v:Clone() shirt.Parent = model end end arms[1].Transparency = 1 arms[2].Transparency = 1 local farmLW = Instance.new("Weld", torso) farmLW.Part0 = torso farmLW.Part1 = armcL farmLW.C1 = CFrame.new(-0.4, 0.8, 0.6) * CFrame.fromEulerAnglesXYZ(math.rad(320), 0, math.rad(-90)) local farmRW = Instance.new("Weld", torso) farmRW.Part0 = torso farmRW.Part1 = armcR farmRW.C1 = CFrame.new(-1, 0.5, 0.5) * CFrame.fromEulerAnglesXYZ(math.rad(-90), math.rad(-0), 0) weld1 = Instance.new("Weld") weld1.Part0 = torso weld1.Parent = torso weld1.Part1 = arms[1] weld1.C1 = CFrame.new(-0.4, 0.5, 0.8) * CFrame.fromEulerAnglesXYZ(math.rad(320), 0, math.rad(-90)) welds[1] = weld1 weld2 = Instance.new("Weld") weld2.Part0 = torso weld2.Parent = torso weld2.Part1 = arms[2] weld2.C1 = CFrame.new(-1, 0.5, 0.5) * CFrame.fromEulerAnglesXYZ(math.rad(-90), math.rad(-0), 0) welds[2] = weld2 end else print("sh") end else print("arms") end end ----------------------------[v The problem begins here v]------------------------------- function Unequip(mouse) if arms ~= nil and torso ~= nil then local sh = {torso:FindFirstChild("Left Shoulder"), torso:FindFirstChild("Right Shoulder")} if sh ~= nil then local yes = true if yes then yes = false sh[1].Part1 = arms[1] -- This works sh[2].Part1 = arms[2] -- This works welds[1] = nil -- This is just one of my many attempts to fix this. welds[2] = nil -- Same here model:Destroy() -- not working arms[1].Transparency = 0 --This works arms[2].Transparency = 0 -- This works end else print("sh") end else print("arms") end end Tool.Equipped:connect(Equip) Tool.Unequipped:connect(Unequip)
I am not exactly sure what is wrong here. Everything was working just fine. I hadn't made any changes to it until after.
I can't set the welds to nil and I can't call the :Destroy() method on model. There are no errors. It just doesn't work.
Any help would be appreciated since I have been trying to figure this out for two days now.