Доступ к готовым решениям

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Античит на Air-Вreak/Car Airbreak/TP>150 метров Copy Samp-Rp

Enrique_Black

Специалист
В OnPlayerConnect
PHP:
SetPVarInt(playerid, "AC_iBlack", 65);
Где нибудь после всех new
PHP:
stock BAC_SetPlayerPos( playerid, Float:x, Float:y, Float:z ) 
{ 
     SetPVarInt(playerid, "AC_iBlack", 5); 
     SetPVarFloat(playerid, "PosX", x); 
     SetPVarFloat(playerid, "PosY", y); 
     SetPVarFloat(playerid, "PosZ", z); 
     return SetPlayerPos(playerid,x,y,z); 
} 
stock BAC_SetVehiclePos(vehicleid, Float:x, Float:y, Float:z) 
{ 
     for(new i = 0; i < MAX_PLAYERS; i ++) 
     { 
         if(IsPlayerConnected(i) && IsPlayerInVehicle(i,vehicleid)) 
         { 
             SetPVarInt(i, "AC_iBlack", 5); 
             SetPVarFloat(i, "PosX", x); 
          SetPVarFloat(i, "PosY", y); 
          SetPVarFloat(i, "PosZ", z); 
         } 
     } 
     return SetVehiclePos(vehicleid,x,y,z); 
} 
#define SetPlayerPos BAC_SetPlayerPos 
#define SetVehiclePos BAC_SetVehiclePos
В OnPlayerSpawn
PHP:
SetPVarInt(playerid, "AC_iBlack", 5);
В OnPlayerEnterVehicle
PHP:
SetPVarInt(playerid, "AC_iBlack", 5);
В OnPlayerExitVehicle
PHP:
SetPVarInt(playerid, "AC_iBlack", 5);
В CALL ВACK с ежесекундным обновлением.

PHP:
new Float:dist = 5; 
      new Float:MyPosition[3]; 
         GetPlayerPos(i,MyPosition[0], MyPosition[1],MyPosition[2]); 
         distance = floatround(GetPlayerDistanceFromPoint(i,GetPVarFloat(i,"PosX"),GetPVarFloat(i,"PosX"),GetPVarFloat(i,"PosX"))); 
   if(GetPVarInt(i, "AC_iBlack") == 0 && AFK[i] < 3 && SpeedVehicle(i) < 2 && AdminInfo[i][aLevel] <= 0) 
   { 
             if(IsPlayerInAnyVehicle(i)) 
    { 
           if(distance > dist) 
     { 
                     if(GetPVarInt(playerid,"WarningCheat") < 1) 
            { 
        format(PlayerString[i],144,"<<Warning>> %s[%i]: Возможно Car Airbreak", Info[i][pName], i); 
       AdminChat(0xFF0000FF, PlayerString[i],1); 
       PlayerString[i][0] = 0; 
       SetPVarInt(i, "WarningCheat", 15); 
                     } 
     } 
    } 
    else 
             { 
                 if(distance > dist) 
     { 
                     if(GetPVarInt(playerid,"WarningCheat") < 1) 
            { 
        format(PlayerString[i],144,"<<Warning>> %s[%i]: Возможно Airbreak", Info[i][pName], i); 
       AdminChat(0xFF0000FF, PlayerString[i],1); 
       PlayerString[i][0] = 0; 
       SetPVarInt(i, "WarningCheat", 15); 
      } 
     } 
    } 
    if(distance > 150) 
    { 
                 SendClientMessage(i,0xFF6347AA,"Вы были кикнуты по подозрению в читерстве! (#0111)"); 
         KickEx(i); 
        } 
         } 
         if(GetPVarInt(i, "AC_iBlack") == 0) 
         { 
          SetPVarFloat(i, "PosX", MyPosition[0]); 
          SetPVarFloat(i, "PosY", MyPosition[1]); 
          SetPVarFloat(i, "PosZ", MyPosition[2]); 
   } 
   if(GetPVarInt(i, "AC_iBlack") > 0) SetPVarInt(i, "AC_iBlack", GetPVarInt(i,"AC_iBlack")-1); 
                 if(GetPVarInt(i,"WarningCheat") > 0) SetPVarInt(i,"WarningCheat",GetPVarInt(i,"WarningCheat")-1

Подробности функциях

PHP:
KickEx(i);
- Моя функция кика.

PHP:
AFK[i]
- Моя проверка на AFK.

PHP:
SpeedVehicle(i)
- Моя проверка на скорость автомобиля.

PHP:
AdminInfo[i][aLevel]
- Моя проверка на админка.

PHP:
AdminInfo
- Мой enum(У меня системы администрирования реализована на несколько серверов поэтому массив не PlayerInfo]

PHP:
PlayerString[i]
- Мой массив стринга для оптимизации мода.

PHP:
GetPVarInt(i,"WarningCheat")
- Моя переменная для антифлуда варнингами

Автор античита: Enrique_Black


Попрошу придерживаться авторских прав.
Запрещается: Присваивание себе авторских прав.
Размещать данную работу на других порталах без разрешения автора.
Размещать данную работу без указание автора.


​
 
Последнее редактирование:
Сверху Снизу