Well my question is why does my puppet change positions? I've had this for too long and I really need a anwser, everytime I pull the tool out it's good at the first time but like 2nd and 3rd time then it keeps changing positions like when I have it forward it stays like that when I deselect it and select it again then it has his body positioned to the sky or the ground. It's a glitch and I need it fixed, please I think it has something to do with the Welding and Arm Movement, I use stickmasterluke's weld script so I think it's old but I just need to fix this Weld Script:
function Weld(x,y) local W = Instance.new("Weld") W.Part0 = x W.Part1 = y local CJ = CFrame.new(x.Position) local C0 = x.CFrame:inverse()*CJ local C1 = y.CFrame:inverse()*CJ W.C0 = C0 W.C1 = C1 W.Parent = x end function Get(A) if A.className == "Part" then Weld(script.Parent.Handle, A) A.Anchored = false else local C = A:GetChildren() for i=1, #C do Get(C[i]) end end end function Finale() Get(script.Parent) end script.Parent.Equipped:connect(Finale) script.Parent.Unequipped:connect(Finale) Finale()
Arm Movement Script:
--Stickmasterluke --just put this script under the tool and when weilded the left arm will go up aswell. tool=script.Parent while true do if tool.Parent.Parent.Name=="Workspace" then local la=tool.Parent:FindFirstChild("Left Arm") local ra=tool.Parent:FindFirstChild("Left Arm") local ts=tool.Parent:FindFirstChild("Torso") if la~=nil and ts~=nil and ra~=nil then local ls=ts:FindFirstChild("Left Shoulder") local rs=ts:FindFirstChild("Right Shoulder") if ls~=nil and rs~=nil then ls.CurrentAngle=rs.CurrentAngle*-1 ls.MaxVelocity=0 end end end wait(.01) --If arm looks glitchy, then make this number smaller. And avoid setting to 0(game will crash). end
Thanks for reading and hopefully you can anwser my question