Enrique_Black
Специалист
В OnPlayerConnect
Где нибудь после всех new
В OnPlayerSpawn
В OnPlayerEnterVehicle
В OnPlayerExitVehicle
В CALL ВACK с ежесекундным обновлением.
Подробности функциях
- Моя функция кика.
- Моя проверка на AFK.
- Моя проверка на скорость автомобиля.
- Моя проверка на админка.
- Мой enum(У меня системы администрирования реализована на несколько серверов поэтому массив не PlayerInfo]
- Мой массив стринга для оптимизации мода.
- Моя переменная для антифлуда варнингами
Автор античита: Enrique_Black
Попрошу придерживаться авторских прав.
Запрещается: Присваивание себе авторских прав.
Размещать данную работу на других порталах без разрешения автора.
Размещать данную работу без указание автора.
PHP:
SetPVarInt(playerid, "AC_iBlack", 65);
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
PHP:
SetPVarInt(playerid, "AC_iBlack", 5);
PHP:
SetPVarInt(playerid, "AC_iBlack", 5);
PHP:
SetPVarInt(playerid, "AC_iBlack", 5);
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]
PHP:
SpeedVehicle(i)
PHP:
AdminInfo[i][aLevel]
PHP:
AdminInfo
PHP:
PlayerString[i]
PHP:
GetPVarInt(i,"WarningCheat")
Автор античита: Enrique_Black
Попрошу придерживаться авторских прав.
Запрещается: Присваивание себе авторских прав.
Размещать данную работу на других порталах без разрешения автора.
Размещать данную работу без указание автора.
Последнее редактирование:
