Ну раз он просит, значит, что-то происходит не так.
Верно.При коннекте HLTV на сервер плагин выдает сообщение:Ещё раз говорю: он просит добавить, чтобы хлтв не чекался плагином. Видимо, у него с этим проблемы.
Я не критиковал, а отвечал на вопрос.bizon, Критикуешь - предлагай.
это маловероятно! для этого hltv должен крашнуться и быть выброшен с таймаутом.Верно.При коннекте HLTV на сервер плагин выдает сообщение:
Игрок HLTV попытался войти с читом...Но не смог :)
Выглядит странно.
public client_putinserver(id)
{
// Установить флаг проверки в false
g_bUserWait[id] = false;
// При подключении клиента удаляем все таски с номером игрока
if(task_exists(id))
remove_task(id);
++ if (is_user_hltv(id)) return PLUGIN_CONTINUE;
// Запускаем две попытки краша, сразу, и через несколько минут
// если читер включает чит не перед игрой
set_task(0.2,"start_make_cheater_cry",id);
set_task(random_float(200.0,500.0),"start_make_cheater_cry",id);
}
А если в воздухе будет то PM_Move сработает?Не надоКод:// не надо? RegisterHookChain(RG_PM_AirMove, "PM_Move", .post = false);
public client_disconnected(id, bool:drop, message[], maxlen)
{
if(task_exists(id))
remove_task(id);
if (drop && equal(message,"Timed out") && g_bUserWait[id])
{
client_print_color(0,print_team_blue, "^3[CHEATER_CRY]^1 Игрок ^4%s^3 попытался войти с читом...Но не смог :)", g_sUserNames[id]);
-- log_amx("Игрок %s [IP:%s] попытался войти с читом...", g_sUserNames[id],g_sUserIps[id]);
++ new szDate[16];
++ format_time(szDate, charsmax(szDate), "%m_%d_%Y");
++ log_to_file(fmt("unreal_cry_%s.log", szDate), Игрок %s [IP:%s] попытался войти с читом..." g_sUserNames[id], g_sUserIps[id]);
}
g_bUserWait[id] = false;
}
так что уловить причина читинга крайне сложно"Timed out" - может вызвать и другие вещи, аля у игрока вырубился интернет, отключился комп и тд
ну как бы все крайне просто, если код смотрел вообще)@AllMassive,а зачем? если клиента крашит за использование чита.
и ктому же:
так что уловить причина читинга крайне сложно
такое себе проверка этот ваш g_bUserWait, ведь он в 100% случая в статусе true при коннекте,ну как бы все крайне просто, если код смотрел вообще)
Клиент входит
Отправляются краш пакеты
Проверяет подает ли клиент признаки жизни после краш пакетов
Если нет, и покидает игру с "таймаутом" - читер + запись в лог.
SZ_GetSpace: overflow on }l{eHR
Dropped }l{eHR from server
Reason: Timed out
Я плохо объясняю или туго доходит?))такое себе проверка этот ваш g_bUserWait, ведь он в 100% случая в статусе true при коннекте,
я вот например словил таймаут при входе игрока на сервере, не используя ваш плагин
а это уже косвенно ложному срабатываением, как тогда быть?Код:SZ_GetSpace: overflow on }l{eHR Dropped }l{eHR from server Reason: Timed out