Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

Player keeps playing the Idle Animation for a tool, even when unequipped. Why Is that?

Asked by 3 years ago

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:

01local Tool = script.Parent
02local Animation = Tool.Idle
03 
04Tool.Equipped:Connect(function()
05    local Character = Tool.Parent
06    local Humanoid = Character.Humanoid
07 
08    local AnimationTrack = Humanoid:LoadAnimation(Animation)
09    AnimationTrack:Play()
10end)
11 
12Tool.Unequipped:Connect(function()
13    AnimationTrack:Stop()
14end)
0
Could you try to remove the local infront of the variable? RebornedSnoop 175 — 3y

3 answers

Log in to vote
1
Answered by
SuperPuiu 497 Moderation Voter
3 years ago

Well, Uneqquiped function couldn't access AnimationTrack variable because it is a local variable in another function, so I made it a global one, hope it works (:

01local Tool = script.Parent
02local Animation = Tool.Idle
03local AnimationTrack
04 
05Tool.Equipped:Connect(function()
06    local Character = Tool.Parent
07    local Humanoid = Character.Humanoid
08 
09    AnimationTrack = Humanoid:LoadAnimation(Animation)
10    AnimationTrack:Play()
11end)
12 
13Tool.Unequipped:Connect(function()
14    AnimationTrack:Stop()
15end)
0
Ok thanks! imnotaguest1121 362 — 3y
Ad
Log in to vote
0
Answered by 3 years ago

This is a quick simple mistake. :Stop() actually doesn’t exist. Here’s an actual script that works! ~~~~~~~~~~~~~~~~ Tool.Unequipped:Connect(function() AnimationTrack:Pause() end) ~~~~~~~~~~~~~~~~~ Thanks!

Log in to vote
0
Answered by 3 years ago
  1. Removing the local infront of the variable because of the scope.

  2. Reversing the animation would be an option too. https://developer.roblox.com/en-us/api-reference/function/AnimationTrack/AdjustSpeed

1AnimationTrack:AdjustSpeed(negative number to play it backwards)
0
what do you mean by removing the local? imnotaguest1121 362 — 3y

Answer this question