In your OnTakeDamage hook, L47 attacker < 0 should be attacker <= 0. Your victim == attacker check could be a lot sooner, along with your IsClientInGame check on the victim at the very end. L66 is kind of useless and just invalidates a valid client index (victim < MaxClients should be victim <= MaxClients).