local Player = game.Players.LocalPlayer
function Weldnow()
local w1 = Instance.new("Weld")
w1.Parent = script.Parent.Handle -- This is the original Handle.
w1.Part0 = w1.Parent
w1.Part1 = script.Parent.Link1 -- Change PARTNAME to your second part's name.
w1.C1 = CFrame.Angles(0, 0, 0) * CFrame.new(0, 0, 0)
local w2 = Instance.new("Weld")
w2.Parent = script.Parent.Handle
w2.Part0 = w1.Parent
w2.Part1 = script.Parent.Link2 -- Change this to the third part's name.
w2.C1 = CFrame.Angles(0, 0, 0) * CFrame.new(0, 0, 0)
local w3 = Instance.new("Weld")
w3.Parent = script.Parent.Handle
w3.Part0 = w1.Parent
w3.Part1 = script.Parent.Link3 -- Change this to the third part's name.
w3.C1 = CFrame.Angles(0, 0, 0) * CFrame.new(0, 0, 0)
local x = script.Parent.Handle
x.CFrame = Player.Character.Torso.CFrame*CFrame.new(0, -1, 0)
local w4 = Instance.new("Weld")
w4.Part0 = script.Parent.Handle
w4.Part1 = Player.Character.Torso
w4.Parent = script.Parent.Handle
w4.C1 = CFrame.Angles(0, 0, 0) * CFrame.new(0, 0, 0)
end
script.Parent.Equipped:connect(Weldnow)
script.Parent.Unequipped:connect(Weldnow)
The script should weld the handle to my torso, however when the tool is equipped it appears where toe weapon was made and freezes my body. I want to be able to walk freely with the weapon welded to me.

3 comments
Wait, are you welding the body to the tool or the tool to the body because that can have a huge impact.
To weld a gun to a part of the Humanoid, you MUST create a Fake Limb, or your character will freeze. Unluckily for you, I don't know how to do that, only the theory of it... :(
Im welding the tool to the body