So I am some-what bad at scripting, but I decided to use this script, the script will play the Idle animation however when unequipped the Idle animation will keep playing even though I use :Stop()
Script:
local Tool = script.Parent
local Animation = Tool.Idle
Tool.Equipped:Connect(function()
local Character = Tool.Parent
local Humanoid = Character.Humanoid
local AnimationTrack = Humanoid:LoadAnimation(Animation)
AnimationTrack:Play()
end)
Tool.Unequipped:Connect(function()
AnimationTrack:Stop()
end)

2 comments
Could you try to remove the local infront of the variable?
https://developer.roblox.com/en-us/articles/Scope <--- this may help you