Проблема с античитом на патроны
#1

Здравствуйте, у меня возникла проблема с античитом на патроны.
Суть проблемы:
Когда игрок под ID 0 покупает оружие и у игрока начинает подвисать паблик TimerTime и некоторые функции которые должны обновляться 1 рав в 1 секунду перестают работать.
Подвисание вызывает stock AntiWeaponAmmoTime(i) и внем находится сама проверка на патроны

PHP Code:
stock AntiWeaponAmmoTime(i)
{
    new 
string[200];
    new 
playersip[125];
    new 
sendername[MAX_PLAYER_NAME];
    
GetPlayerName(i, sendername, sizeof(sendername));
    
GetPlayerIp(i, playersip, sizeof(playersip));
       if(
GetPlayerAmmo(i) >= 2)
       {
          if(
GetPlayerAmmo(i) > PlayerAmmoSlot[i][GetPlayerWeapon(i)])
              {
                     if(
CheatCheck[i] == 0)
               {
                   
format(string, sizeof(string), "[A]: >> Игрок %s [ID: %d] был кикнут за прибавление патрон {808080}%d {C3C3C3}Код: #11.3 [IP: %s] [Ping: %d]", sendername, i,  GetPlayerAmmo(i), playersip, GetPlayerPing(i));
                   
ABroadCast(0xC3C3C3AA, string, 4);
                   
Log("System/Weapons11.1", string);
                   
CheatCheck[i] = 1;
                   
PlayerInfo[i][pCheatSystem] += 1;
                   
PlayerPlaySound(i, 31202, 0.0, 0.0, 0.0);
                   if(
PlayerInfo[i][pRussifierGameText] == 0)
                   {
                       
GameTextForPlayer(i, "~r~ Kick player", 5000, 2);
                   }
                   else
                   {
                       
GameTextForPlayer(i, "~r~ ‹Ё —Ёћњ kњk®y¦Ё", 5000, 2);
                   }
                   
KickWithMessage(i, 0xFFA500AA, "Вы были отсоединены от игрового сервера. C причиной: Использование Чит Программ [{FF0000}Код: #11.3{FFA500}]");
               }
              }
              
//return 1;
       
}
    return 
1;
}
GivePlayerWeaponZS(playerid, weaponid, ammo)
{
    
PlayerWeapons[playerid][0] = 1;
    
PlayerWeapons[playerid][weaponid] = 1;
    new 
slot = GetWeaponSlot(weaponid);
    
PlayerAmmoSlot[playerid][slot] = ammo;
    
GivePlayerWeapon(playerid, weaponid, ammo);
    return 
1;
}
stock GetWeaponSlot(weaponid)
{
    new 
slot;
    switch(
weaponid)
    {
        case 
0: slot = 0;
        case 
1: slot = 0;
        case 
2: slot = 1;
        case 
3: slot = 1;
        case 
4: slot = 1;
        case 
5: slot = 1;
        case 
6: slot = 1;
        case 
7: slot = 1;
        case 
8: slot = 1;
        case 
9: slot = 1;
        case 
22: slot = 2;
        case 
23: slot = 2;
        case 
24: slot = 2;
        case 
25: slot = 3;
        case 
26: slot = 3;
        case 
27: slot = 3;
        case 
28: slot = 4;
        case 
29: slot = 4;
        case 
32: slot = 4;
        case 
30: slot = 5;
        case 
31: slot = 5;
        case 
33: slot = 6;
        case 
34: slot = 6;
        case 
35: slot = 7;
        case 
36: slot = 7;
        case 
37: slot = 7;
        case 
38: slot = 7;
        case 
16: slot = 8;
        case 
17: slot = 8;
        case 
18: slot = 8;
        case 
39: slot = 8;
        case 
41: slot = 9;
        case 
42: slot = 9;
        case 
43: slot = 9;
        case 
10: slot = 10;
        case 
11: slot = 10;
        case 
12: slot = 10;
        case 
13: slot = 10;
        case 
14: slot = 10;
        case 
15: slot = 10;
        case 
44: slot = 11;
        case 
45: slot = 11;
        case 
46: slot = 11;
        case 
40: slot = 12;
    }
    return 
slot;
} 
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)