function chargerLogic(_, activator) local callbacks = {} local function removeCallbacks() for _, callbackData in pairs(callbacks) do activator:RemoveCallback(callbackData.Type, callbackData.ID) end end callbacks.keypress = { -- Apply animation when bot pushes M2 Type = 7, ID = activator:AddCallback(7, function(_, key) if key ~= IN_ATTACK2 then return end if activator.m_flChargeMeter < 99 then return end activator:PlaySequence("Charger_Charge") activator:PlaySound("Charger.Charge") end), } callbacks.spawned = { Type = 1, ID = activator:AddCallback(1, function() removeCallbacks() end), } callbacks.died = { Type = 9, ID = activator:AddCallback(9, function() removeCallbacks() end), } end