Анти-CarAirSlap v1.2.5:
Quote (GameMan)
Привет всем! Многие знают про такой чит как CarAirSlap. Если кто не знает, он кидает соседний автомобиль путем быстрого перемещения в него. (При этом состояние игрока не меняется и OnPlayerStateChange не вызывается)
Насколько я знаю такого анти-чита в паблике нет. Представляю вам свой античит на этот хак.
Установка:
В OnPlayerUpdate:
Code
static oldData[MAX_PLAYERS][2];
new newstate = GetPlayerState(playerid); // Получаем состояние игрока
if(newstate == PLAYER_STATE_DRIVER)
{
new newveh = GetPlayerVehicleID(playerid); // Получаем ID транспортного средства в котором сидит игрок
if((oldData[playerid][0] == PLAYER_STATE_DRIVER || oldData[playerid][0] == PLAYER_STATE_PASSENGER) && oldData[playerid][1] != INVALID_VEHICLE_ID && newveh != oldData[playerid][1])
{
SetVehicleVelocity(newveh, 0.0, 0.0, 0.0); // Останавливаем подкинутый автомобиль
new str[100]; // Создаем переменные
GetPlayerName(playerid, str, sizeof(str)); // Получаем ник игрока
format(str, sizeof(str), "Игрок {ffffaa}%s(%d){ffffff} был кикнут за использование читов", str, playerid);
SendClientMessageToAll(0xffffffff, str); // Отправляем всем игрокам сообщение в чат
Kick(playerid); // Кикаем игрока
oldData[playerid] = {PLAYER_STATE_NONE, INVALID_VEHICLE_ID};
return 1;
}
oldData[playerid][1] = newveh; // Устанавливаем "старый" ID транспортного средства
}
else
{
oldData[playerid][1] = INVALID_VEHICLE_ID;
}
oldData[playerid][0] = newstate; // Устанавливаем "старое" состояние игрока
Автор: GameMan ([DST]TiGER)