Если перевод случайного игрока то зачем проверять в RG_CBasePlayer_Killed -> CheckTeams() который подтягивает GetPlayerForBalance ?
Очень много вызовов RG_CBasePlayer_Killed в секунду при мясе на сервере.
Слишком сложный и в тоже время примитивный плагин. Вроде всё хорошо но что-то не то.
Наверное пойду в стол заказов ибо проще проверять разницу в K/D команд и в проверке:
1. Проверка на кол-во игроков - если в проигрывающей команды меньше игроков - перевести туда игрока(ов)
2. Если одинаковое кол-во игроков - менять местами самого сильного (с выигрывающей команды) и самого слабого (с проигрывающей команды).