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

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

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

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

ServerDetectAimbotMobile

DimaShift

Умник
привет всем.
Xочу показать функция что позволяет фиксировать игроков с Samp_Launcher кто использует Auto Aim (Aimbot) включен!
Примечание: Для работы данной функции нужен плагин Pawn.RakNet.

PHP:
#define ID_MOBILE 221
#define IsPlayerUseMobileAimbot(%0)  Aimbot[%0] == true



new bool: Aimbot[MAX_PLAYERS];

public OnIncomingPacket(playerid, packetid, BitStream:bs){

    if(packetid == ID_MOBILE)
    {
        BS_ReadValue(bs, PR_IGNORE_BITS, 16, PR_UINT8, _:Aimbot[playerid]);
    }
    return 1;

}



public OnPlayerDisconnect(playerid, reason) {

    Aimbot[playerid] = false;

    return 1;

}
Конечно можно их забанить или кикнуть, ну можно заделать не большой фильтер, пример:



PHP:
#define ID_MOBILE 221
#define MAX_SHOT 3
#define IsPlayerUseMobile(%0)  PlayerMobile[%0][Mobile] == true
#define IsPlayerUseMobileAimbot(%0)  PlayerMobile[%0][Aimbot] == true




enum data{

bool: Aimbot,

bool: Mobile,

AimbotMobileShot

}



new PlayerMobile[MAX_PLAYERS][data];

public OnIncomingPacket(playerid, packetid, BitStream:bs){

    if(packetid == ID_MOBILE)
    {
        PlayerMobile[playerid][Mobile] = true;
        BS_ReadValue(bs, PR_IGNORE_BITS, 16, PR_UINT8, _:PlayerMobile[playerid][Aimbot]);
    }
    return 1;

}



public OnPlayerDisconnect(playerid, reason) {

    PlayerMobile[playerid][Aimbot] = false;
    PlayerMobile[playerid][Mobile] = false;
    PlayerMobile[playerid][AimbotMobileShot] = 0;
    return 1;

}


public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ){
    if(IsPlayerUseMobile(playerid)){
        if(IsPlayerUseMobileAimbot(playerid)){
            if(hittype == BULLET_HIT_TYPE_PLAYER && hitid != INVALID_PLAYER_ID){
                if(++PlayerMobile[playerid][AimbotMobileShot] < MAX_SHOT) return 0; //  из 3 попадание в игрока только одно пуля берет урон
                PlayerMobile[playerid][AimbotMobileShot] = 0;
            }}}
    return 1;

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