Andrey_Prylkin
Умник
Всем доброго времени суток.
Представляю вашему вниманию анти GMCar от пуль.
Не буду разводить дискуссий, сразу перейдем к делу.
Представляю вашему вниманию анти GMCar от пуль.
Не буду разводить дискуссий, сразу перейдем к делу.
В OnPlayerWeaponShot
PHP:
if(hitid != INVALID_VEHICLE_ID && hittype == BULLET_HIT_TYPE_VEHICLE && GetPlayerPing(playerid) < 130)
{
new Float:anti_gm;
GetVehicleHealth(hitid,anti_gm);
if(anti_gm < 0) anti_gm = 0;
SetTimerEx("anti_gm_action_vehicle",200,false,"if",hitid,anti_gm);
}
Далее в конец мода
PHP:
forward anti_gm_action_vehicle(vehicleid,Float:conclusion);
public anti_gm_action_vehicle(vehicleid,Float:conclusion)
{
foreach(Player,i)
{
if(GetPlayerState(i) == 2 && !afk_time[i][0] && !afk_time[i][1] && GetPlayerPing(i) < 130 && IsPlayerInVehicle(i, vehicleid))
{
new Float:anti_gm;
GetVehicleHealth(vehicleid,anti_gm);
if(anti_gm < 0)anti_gm = 0;
if(floatround(anti_gm) >= floatround(conclusion) && !admins_online) SendAntiCheatAction(i,1,"002");//Админов нету кикаем.
else SendAntiCheatAction(i,0,"Car God-Mode");//Админы есть посылаем им сообщения в чат о читере.
}
}
return true;
}
Теперь немного обьясню о функциях.
afk_time - моя проверка на нахождения игрока в AFK.
admins_online - моя проверка на нахождение администрации в онлайн.
SendAntiCheatAction - Моя функция кика или варнинга администрации.
PHP:
SendAntiCheatAction(playerid, action, code[])
{
new string[55+MAX_PLAYER_NAME];
if(AdminInfo[playerid][aLevel] >= 2) return true;
if(action == 1)
{
format(string, sizeof(string),"Вы были кикнуты по подозрению в читерстве! (#0%s)",code);
SendChatForPlayer(playerid,0xFF6347AA,string);//Моя функция вывода сообщения в чат игроку(аналог SendClientMessage).
SetTimerEx("PlayerKick",250,false,"d", playerid);//Таймер на функцию с киком игрока.
}
else
{
if(GetPVarInt(playerid,"WarningCheat") > gettime()) return true;
format(string, sizeof(string),"<<Warning>> %s[%d]: Возможно %s.",Info[playerid][pName],playerid,code);
AdminChat(0xFF0000FF,string,2);//Моя функция сообщения в админ чат.
SetPVarInt(playerid, "WarningCheat", gettime()+15);
}
return true;
}
Основа анти-чита "ГМ-Детект by KatranLife"
Античит вырезан с мода America-Rp by Enrique_Black
Теперь там более новая и актуальная версия, а эту версию мы решили выложить в паблик.
