Tool animation not ending after drop

tool is looping, any way around it with a looping anim?

are you using a custom drop system or roblox’s default drop system?

  • some code would be useful

Local Script (Under Tool):

local tool = script.Parent
local animation = Instance.new("Animation",tool)
animation.AnimationId = 0 -- put animation ID
animation.Looped = true
local animation_track = game.Players.LocalPlayer.Character.Humanoid:LoadAnimation(animation)
local function onActivated()
   animation_track:Play()
end

local function unEquipped()
   animation_track:Stop()
end)
tool.Activated:Connect(onActivated)
tool.UnEquipped:Connect(unEquipped)

No not unequipped. dropped from the inventory. (pressing the backspace while its equipped)

Default drop system.

local parent = script.Parent
local Handle = parent:WaitForChild("Handle")
local Creator = parent:WaitForChild("Creator")
local Players = game:GetService("Players")

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

-- Ensure that the character's humanoid contains an "Animator" object
local Humanoid = character:WaitForChild("Humanoid")
EquipAnim = parent.Animations.Equip
IdleAnim = parent.Animations.Idle
Attack = parent.Animations.Attack
local Equip = Humanoid:WaitForChild("Animator"):LoadAnimation(EquipAnim)
local Idle = Humanoid:WaitForChild("Animator"):LoadAnimation(IdleAnim)
local Attack = Humanoid:WaitForChild("Animator"):LoadAnimation(Attack)
CanDmg = false
Can = true
cd = 0.42

parent.Equipped:Connect(function()
	Humanoid.WalkSpeed = 23
	Handle.Equip:Play()
	if Creator.Value == nil then
		Creator.Value = parent.Parent end
	Equip:Play()
	wait()
	print("Equipped")
	Idle:Play()
end)


parent.Unequipped:Connect(function()
	Handle.UnEquip:Play()
	Idle:Stop()
	Humanoid.WalkSpeed = 24
end)


parent.Activated:Connect(function()
	if Handle.Transparency == 1 then return end
	function slash()
		print("hip")
		local creator = Creator.Value

		if Can == true then
			Humanoid.WalkSpeed = 15
			Humanoid.JumpPower = 0
			Idle:Stop()
			Can = false
			Attack:Play()
			CanDmg = true
			wait(0.42)
			Humanoid.WalkSpeed = 23
			Humanoid.JumpPower = 60.999
			Handle.Swing:Play()
			Idle:Play()
			wait(cd)
			CanDmg = false
			Can = true

		end
	end
	slash()
end)

im experiencing the same issue but something is weird, because Unequipped() works even after dropped in one of my places, but it doesnt work in other places

is the animation looped? If so then that might be your problem…