How do i remove the possibility to spam click an item animation? I know that i have to add a debounce and other things like that but im not an expert, so i dont know how to add it!
Hi, you can use a boolean value to control that you can't play the animation again while it's playing. I'll show you how it works.
01 | local animPlaying = false -- Boolean Value. |
02 |
03 | local tool = script.Parent |
04 | local anim = tool:WaitForChild( "Animation" ) |
05 |
06 | local player = game.Players.LocalPlayer |
07 |
08 |
09 | tool.Activated:Connect( function () |
10 | if animPlaying = = false then -- You can only play the animation if the boolean is false. |
11 | animPlaying = true -- Make the value to "true" so you can't play the animation again. |
12 | local loadedAnim = player.Character.Humanoid:LoadAnimation(anim) |
13 | loadedAnim:Play() |
14 |
15 | wait(animationlength) -- Add in wait() "animationlength" (Credits to: @sayer80) or a float value how much it should wait. |
16 |
17 | animPlaying = false -- After wait() it'll become false so you can play the animation again. |
18 | end |
19 | end ) |
Hope I could help you, good day!
This is the localscript that i use to play an item animation :
01 | local tool = script.Parent |
02 | local anim = tool:WaitForChild( "Animation" ) |
03 |
04 | local player = game.Players.LocalPlayer |
05 |
06 |
07 | tool.Activated:Connect( function () |
08 | local loadedAnim = player.Character.Humanoid:LoadAnimation(anim) |
09 | loadedAnim:Play() |
10 |
11 |
12 | end ) |