When the animations load into the gun an equip animation plays with a couple remote events. If you either spam between the gun and another item or unequip the gun before the equip animation and it's remote events are done the Idle animation doesn't go away.
function OnEquipped(mouse)
script.Parent.Handle.DrawSound:Play()
local EquipR = Tool:WaitForChild("EquipR")
RecoilAnim = WaitForChild(Tool, "Recoil")
IdleAnim = WaitForChild(Tool, "Idle")
EquipAnim = WaitForChild(Tool, "Equip")
ReloadAnim = WaitForChild(Tool, "Reload")
FireSound = WaitForChild(Handle, 'FireSound')
MyCharacter = Tool.Parent
MyPlayer = game:GetService('Players'):GetPlayerFromCharacter(MyCharacter)
MyHumanoid = MyCharacter:FindFirstChild('Humanoid')
MyTorso = MyCharacter:FindFirstChild('Torso')
MyMouse = mouse
if IdleAnim then
if MyHumanoid ~= nil then
local spamcheck = false
if spamcheck == false then
IdleTrack = MyHumanoid:LoadAnimation(IdleAnim)
wait(0.1)
spamcheck = true
elseif spamcheck == true then
end
end
end
if RecoilAnim then
RecoilTrack = MyHumanoid:LoadAnimation(RecoilAnim)
end
if ReloadAnim then
ReloadTrack = MyHumanoid:LoadAnimation(ReloadAnim)
end
WeaponGui = WaitForChild(Tool, 'WeaponHud'):Clone()
if WeaponGui and MyPlayer then
WeaponGui.Parent = MyPlayer.PlayerGui
UpdateAmmo(AmmoInClip)
end
if EquipAnim then
EquipTrack = MyHumanoid:LoadAnimation(EquipAnim)
EquipTrack:Play()
wait(1)
EquipR:FireServer()
Receiver:FireServer("PlaySound", "EquipSound")
wait(0.6)
if IdleAnim ~= nil then
if IdleTrack ~= nil then
IdleTrack:Play()
else if IdleAnim == nil then
IdleAnim:Stop()
IdleTrack:Destroy()
IdleTrack:Stop()
end
end
end
end
if MyMouse then
MyMouse.Icon = "rbxassetid://18662154"
MyMouse.Button1Down:connect(OnMouseDown)
MyMouse.Button1Up:connect(OnMouseUp)
MyMouse.KeyDown:connect(OnKeyDown)
wait(0.25)
StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Backpack, true)
Check = true
end
end
function OnUnequipped()
Check = false
LeftButtonDown = false
Reloading = false
MyCharacter = nil
MyHumanoid = nil
MyTorso = nil
MyPlayer = nil
MyMouse = nil
if EquipAnim ~= nil then
IdleTrack:Stop()
end
if IdleAnim ~= nil then
IdleTrack:Destroy()
IdleTrack:Stop()
end
if EquipAnim then
EquipTrack:Stop()
end
if RecoilTrack then
RecoilTrack:Stop()
end
MyHumanoid = nil
MyTorso = nil
MyPlayer = nil
MyMouse = nil
if OnFireConnection then
OnFireConnection:disconnect()
end
if OnReloadConnection then
OnReloadConnection:disconnect()
end
if FlashHolder then
FlashHolder = nil
end
if WeaponGui then
WeaponGui.Parent = nil
WeaponGui = nil
end
end
if Reload == true then
Reload = false
end
