m_fLastMovement проверяет только WASD и прочие движения
Производится в престнке сверка битсуммы кнопок, включая мышь, таб и прочее.
По client_print_color(........ , id) - не понял зачем в конце id.
По алгоритму - идеальный чек на спектатора - по факту дорогого стоит. Так что, можно отсечь факт попадания игроком в тайминг проверки.
Однако, когда в игрока стреляют с учетом некоторых факторов он сдвигается с места. (Punchangle не учитываем, по сколько он по прежнему не влияет на ViewAngle).
Поэтому, было бы вероятнее всего добавить константу в кодч которая проверяла бы максимальное отклонение от позиции. Если сейчас идет простое сравнение текущего и прошлого вектора - то я говорю о "узнавании" разницы с учетом двух векторов (vector_distance). И если она больше некоторого "допуска" - тогда игрок афк не считается.
CBasePlayer::Spawn -> CGameRules::PlayerSpawn или RoundRespawn. Ибо именно они производят игровой респавн, не дадут заспаунить мертвую ентити (можно на мертвого не проверять).
Я заметил, что идет передача бомбы рандомному игроку. По сути, можно было бы предоставил выбор кваром, передача или выбрасывать на землю, геймплей штука такая...
Делал я как-то для себя проверку афк для SurfMod. Так вот, там скорость ентити может постоянно меняться, но угол обзора всегда один (допустим, на surf_ski_2 без клетки падает игрок постонно).
А еще, я тебя не узнаю
neygomon . Ты решил попробовать стиль всего и вся поменять?) квары... Ланги.... -AMXX182... Прислушиваешься к пожеланиям... (Даже новичков). Круть