This feels like it should be so easy but I can't figure it out. When the player picks up a new tool, I want their currently equipped tool to be destroyed. I tried this:
function Equipped(Mouse)
Handle.Anchored = false
Character = Tool.Parent
Humanoid = Character:FindFirstChild("Humanoid")
Torso = Character:FindFirstChild("HumanoidRootPart")
Player = Players:GetPlayerFromCharacter(Character)
Character:FindFirstChildOfClass("Tool"):Destroy()
--This line is the important one^^^
end
but it tries to destroy the tool that is being equipped - the parent of the script. I could probably do a longer system with ChildAdded and classname == "Tool" but I feel like this should be an easy thing to do. Any thoughts?

2 comments
When you find the first child of an object, it will show the longest existing one. Maybe try renaming the new tool for a second, making an if statement regarding the name, and then changing the name back?
Whoops, I forgot about this question. I decided to do it the basic way with a system that destroys the parent when a new tool is equipped. Thanks for the help everyone!