Для начала ко всем new добавим:
Code: Select all
new player_NoCheckTimeVeh[MAX_PLAYERS], timer2[MAX_PLAYERS];
new Float:player_VehHealth[MAX_PLAYERS], Float:HealthVeh[MAX_PLAYERS];
Ко всем forward добавим:
Code: Select all
forward CheckForCheater(playerid);
Дальше создаем public самого анти-чита
Code: Select all
public CheckForCheater(playerid)
{
new playername[24], string[128];
if(!IsPlayerInRangeOfPoint(playerid,20,610.9915,-11.1024,1000.9219))
{
if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
if(!player_NoCheckTimeVeh[playerid])
{
GetVehicleHealth(GetPlayerVehicleID(playerid),player_VehHealth[playerid]);
if(player_VehHealth[playerid] > HealthVeh[playerid])
{
if(IsPlayerInRangeOfPoint(playerid,7.5,2064.2842,-1831.4736,13.5469)) { player_NoCheckTimeVeh[playerid] = 3; return 1; }
if(IsPlayerInRangeOfPoint(playerid,7.5,487.6401,-1739.9479,11.1385)) { player_NoCheckTimeVeh[playerid] = 3; return 1; }
if(IsPlayerInRangeOfPoint(playerid,7.5,1024.8651,-1024.0870,32.1016)) { player_NoCheckTimeVeh[playerid] = 3; return 1; }
if(IsPlayerInRangeOfPoint(playerid,7.5,-1904.7019,284.5968,41.0469)) { player_NoCheckTimeVeh[playerid] = 3; return 1; }
if(IsPlayerInRangeOfPoint(playerid,7.5,-2425.7822,1022.1392,50.3977)) { player_NoCheckTimeVeh[playerid] = 3; return 1; }
if(IsPlayerInRangeOfPoint(playerid,7.5,-1420.5195,2584.2305,55.8433)) { player_NoCheckTimeVeh[playerid] = 3; return 1; }
if(IsPlayerInRangeOfPoint(playerid,7.5,-99.9417,1117.9048,19.7417)) { player_NoCheckTimeVeh[playerid] = 3; return 1; }
if(IsPlayerInRangeOfPoint(playerid,7.5,1975.2384,2162.5088,11.0703)) { player_NoCheckTimeVeh[playerid] = 3; return 1; }
if(IsPlayerInRangeOfPoint(playerid,7.5,720.0854,-457.8807,16.3359)) { player_NoCheckTimeVeh[playerid] = 3; return 1; }
format(string,sizeof(string),"{FFFAFA}* {00FF00}[Античит: 4] {FFFAFA}: %s[%d] кикнут за починку авто собейтом",playername,playerid,GetPlayerPing(playerid));
SendClientMessage(playerid,COLOR_LIGHTRED,"{FFFAFA}* {00FF00}[Античит: 4] {FFFAFA}: {FF0000}Вы были кикнуты за починку авто собейтом");
SendClientMessage(playerid,COLOR_LIGHTRED,"{FFFAFA}* {FF0000}Предупреждаем! Использование чит-программ карается баном!");
new sendername[MAX_PLAYER_NAME];
GetPlayerName(playerid, sendername, sizeof(sendername));
new ip[256];
GetPlayerIp(playerid,ip,sizeof(ip));
Kick(playerid);
}
}
else { player_NoCheckTimeVeh[playerid] -= 1; }
GetVehicleHealth(GetPlayerVehicleID(playerid),HealthVeh[playerid]);
}
}
return 1;
}
В public OnPlayerStateChange
Code: Select all
if(newstate == PLAYER_STATE_DRIVER)
{
timer2[playerid] = SetTimerEx("CheckForCheater",1000,true,"i",playerid);
player_NoCheckTimeVeh[playerid] = 1;
}
Автор: J.Wockeez