Thanks for suggesting GerMarkerReachedSignal, however it still stack firing.
animations.shootWithPump:GetMarkerReachedSignal("Pump"):Connect(function()
PlayGunSound(TempTool.Sounds.Pump, TempToolBodyAttach, 20)
flingshell(TempTool)
end)
animations
is a table with humanoid:LoadAnimation, and this GetMarkerReachedSignal is inside a function, which is called when player inputs.