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

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

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

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

Античит на GMCar от пуль

Andrey_Prylkin

Умник
Всем доброго времени суток.
Представляю вашему вниманию анти 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

Теперь там более новая и актуальная версия, а эту версию мы решили выложить в паблик.

​
 
Сверху Снизу