Tools Dissapearing after being equipped

**Whenever i equip the tool, after a couple seconds it will dissapear. **
Its on a local script and whenever i put it on a script, the tool will teleport me back a little.

Also, I found that it wont dissapear if i turn cancollide on

Tool = script.Parent
LSword = script.Parent.LeftSword
RSword = script.Parent.RightSword

Tool.Equipped:Connect(function()
local RArm = Tool.Parent:FindFirstChild(“Right Arm”)
RSword.CFrame = RArm.CFrame * CFrame.new(0,-.6,-1.5) * CFrame.Angles(math.rad(180),0,math.rad(90))
local weld = Instance.new(“Weld”)
weld.Part0 = RArm
weld.Part1 = RSword
weld.C0 = RArm.CFrame:Inverse()
weld.C1 = RSword.CFrame:Inverse()
weld.Parent = script.Parent

local LArm = Tool.Parent:FindFirstChild("Left Arm")
LSword.CFrame = LArm.CFrame * CFrame.new(0,-.6,-1.5) * CFrame.Angles(math.rad(180),0,math.rad(90))
local weld = Instance.new("Weld")
weld.Part0 = LArm
weld.Part1 = LSword
weld.C0 = LArm.CFrame:Inverse()
weld.C1 = LSword.CFrame:Inverse()
weld.Parent = script.Parent

end)

Welds cannot be in tools, the same as anchored.
Hope this helps!

So how and where do i put the weld?

The easiest way to weld in my opinion is having a handle part and then looping through all descendants, making a weldconstraint for each.

Not sure if this helps you.

Also, I found that it wont dissapear if i turn cancollide on

Use weld constraints as @CC_KevinDev said.

It still dissapears

local Players = game.Players
local player = Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()

Tool = script.Parent
Hat = script.Parent.Hat
Dagger = script.Parent.Dagger

local Humanoid = character:WaitForChild(“Humanoid”)
local Animator = Humanoid:WaitForChild(“Animator”)

local Equip = Instance.new(“Animation”)
Equip.AnimationId = “rbxassetid://16559621021”

local EquipAnimTrack = Animator:LoadAnimation(Equip)

Tool.Equipped:Connect(function()
EquipAnimTrack:Play()
local Head = Tool.Parent:WaitForChild(“Head”)
Hat.CFrame = Head.CFrame * CFrame.new(0,.5,0)
local weld = Instance.new(“WeldConstraint”)
weld.Part0 = Head
weld.Part1 = Hat
weld.Parent = script.Parent
EquipAnimTrack:Play()

local LArm = Tool.Parent:WaitForChild("Left Arm")
Dagger.CFrame = LArm.CFrame * CFrame.new(0,-1,0) * CFrame.Angles(math.rad(-180),math.rad(90),math.rad(0))
local weld = Instance.new("WeldConstraint")
weld.Part0 = LArm
weld.Part1 = Dagger
weld.Parent = game.Workspace
EquipAnimTrack:Play()

end)

Tool.Unequipped:Connect(function()
EquipAnimTrack:Play()

end)

You need to weld your parts to the handle of the tool. You need to weld all of your parts to a part in your tool called “Handle”. This should fix your issue.

Yeah but i turned off require handle. Whenever i equip the tool, i see it, but after a couple seconds it dissapears

You need a handle if you are adding parts to it.

how do i keep the arm from sticking up though?

You can disable requires a handle, and then remove your handle but set one of the weld constraints to go onto your right arm/left arm depending on what you want it to be.