Античит кикает при ResetPlayerWeapons
#1

PHP код:
ResetWeapons(playerid)
{
    for(new 
047i++) Weapon[playerid][i] = false;
    
ResetPlayerWeapons(playerid);

PHP код:
new weap GetPlayerWeapon(playerid);
    if(
weap != 46 && weap != 40 && weap && Weapon[playerid][weap] == false// àíòè÷èò
    
{
        if(
GetPlayerState(playerid) == || GetPlayerState(playerid) == || GetPlayerState(playerid) == 3)
        {
            if((
GetPlayerState(playerid) == PLAYER_STATE_DRIVER || GetPlayerState(playerid) == PLAYER_STATE_PASSENGER))
            {
                if(
GetPlayerAmmo(playerid) > 0)
                {
                    
SetPVarInt(playerid"AntiSave"1);
                    
Kick(playerid);
                }
            }
            else
            {
                
SetPVarInt(playerid"AntiSave"1);
                
Kick(playerid);
            }
        }
    } 
Античит кикает иногда, не всегда, время через время. Не знаю как исправить чтоб не кикало.
Reply
#2

Может быть из за пинга у игрока оружие не сразу забирается. При выдаче/забирании оружия не проверяй сразу игрока на читы, а проверяй спустя несколько секунд.
Reply
#3

Делал, при этом игрок может использовать оружие что начитерил и это совсем не круто. Сразу появляется много способов как-то обойти античит. Мне кажется можно как-то по другому.
Reply
#4

На самом деле у тебя античит вообще плох. Если норм сделать то всё будет работать отлично.
Reply
#5

Это все что я умею. Если есть античит получше, я только рад.
Reply
#6

OnPlayerWeaponShot
Минимум ложных срабатываний, но задержку в 2 секунды всё же нужно.
Reply
#7

Для дм сервера хороший античит, но для рп сервера(как мой проект) не подойдет. Просто оружие в руках уже играет большую роль.
Reply
#8

Проблема остается нерешенной.
Reply
#9

До версии 0.3z R1-2 когда чел в состояние водилы, то функциия возращает предущие оружие, которое было в руках.
Reply
#10

PHP код:
new AntiProtect[MAX_PLAYERS char]; 
PHP код:
ResetWeapons(playerid

    
AntiProtect{playerid} = 2;
    for(new 
047i++) Weapon[playerid][i] = false
    
ResetPlayerWeapons(playerid); 

PHP код:
new weap GetPlayerWeapon(playerid); 
    if(
weap != 46 && weap != 40 && weap && Weapon[playerid][weap] == false// àíòè÷èò 
    

        if(
GetPlayerState(playerid) == || GetPlayerState(playerid) == || GetPlayerState(playerid) == 3
        { 
            if(
AntiProtect{playerid} > 0)
            {
                 
AntiProtect{playerid}--;
                 return 
true;
            }
            if((
GetPlayerState(playerid) == PLAYER_STATE_DRIVER || GetPlayerState(playerid) == PLAYER_STATE_PASSENGER)) 
            { 
                if(
GetPlayerAmmo(playerid) > 0
                { 
                    
SetPVarInt(playerid"AntiSave"1); 
                    
Kick(playerid); 
                } 
            } 
            else 
            { 
                
SetPVarInt(playerid"AntiSave"1); 
                
Kick(playerid); 
            } 
        } 
    } 
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)