SA-MP Forums Archive
[Ajuda] Cуdigo nгo funciona - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Cуdigo nгo funciona (/showthread.php?tid=579779)



Cуdigo nгo funciona - bruxo00 - 29.06.2015

PHP код:
new ArmasProibidas[26][3] =
{
    
1,2,3,8,9,10,11,12,13,16,17,18,26,27,28,30,31,32,33,34,35,36,37,38,39,42
};
new 
ArmasPermitidas[17][3] =
{
    
0,4,5,6,7,14,15,19,20,21,22,23,24,25,29,40,41
}; 
PHP код:
public WeaponAntiCheat()
{
    new 
string[128];
    
    for(new 
i=0i<MAX_PLAYERSi++)
    {
        if(
IsPlayerConnected(i))
        {
            if(
PlayerInfo[i][pAdmin] >= || PlayerInfo[i][pGM] >= 1) { continue; }
              new 
weap GetPlayerWeapon(i);
              
              for(new 
0sizeof(ArmasProibidas); w++)
              {
                  if(
weap == ArmasProibidas[w][2])
                  {
                      
format(stringsizeof(string), "Weapon Cheat (ID da arma: %d)"weap);
                      
KickAutomatico(i"Servidor"string);
                  }
              }
              for(new 
0sizeof(ArmasPermitidas); w++)
              {
                  if(
GetPlayerScore(i) >= 3) continue;
                  
                  if(
weap == ArmasPermitidas[w][2])
                  {
                      
format(stringsizeof(string), "[ANTI-CHEAT] {FFFFFF}O jogador %s (ID:%d) pode estar a utilizar Weapon Cheat (ID da arma: %d)"GetPlayerNameEx(i), iweap);
                      
                      for(new 
p=0p<MAX_PLAYERSp++)
                      {
                          if(!
IsPlayerConnected(p)) continue;
                          if(
PlayerInfo[p][pAdmin] != || PlayerInfo[p][pGM] != 0)
                          {
                              
SendClientMessage(pCOLOR_EFEITOstring);
                          }
                      }
                  }
              }
        }
    }
    
    return 
1;

Eu levo sempre kick mesmo que nгo tenha arma nenhuma na mгo. O cуdigo era para kickar quem tivesse na mгo uma arma proibida e para mandar uma mensagem aos admins a alertar se um jogador com menos de 3 de score tem uma arma qualquer na mгo. O que estб errado?


Re: Cуdigo nгo funciona - z0r - 29.06.2015

Use GetPlayerWeapon

Espero ter ajudado


Re: Cуdigo nгo funciona - MultiKill - 29.06.2015

PHP код:
new ArmasProibidas[] =
{
    
1,2,3,8,9,10,11,12,13,16,17,18,26,27,28,30,31,32,33,34,35,36,37,38,39,42
};
new 
ArmasPermitidas[] =
{
    
0,4,5,6,7,14,15,19,20,21,22,23,24,25,29,40,41
};
//================================
if(weap == ArmasProibidas[w][2])
//para
if(weap == ArmasProibidas[w])
//================================
if(weap == ArmasPermitidas[w][2])
//para
if(weap == ArmasPermitidas[w]) 



Re: Cуdigo nгo funciona - bruxo00 - 29.06.2015

Era mesmo isso! Obrigado.


Re: Cуdigo nгo funciona - Pablo098 - 29.06.2015

Mudei para um cуdigo mais curto e retirei pequenos erros na public.

PHP код:
public WeaponAntiCheat(){
    new 
string[128];
    for (new 
0MAX_PLAYERSi++) {
        if (
IsPlayerConnected(i)) {
            if (
PlayerInfo[i][pAdmin] >= || PlayerInfo[i][pGM] >= 1) continue;
            for (new 
0sizeof(ArmasProibidas); w++) {
                if (
GetPlayerWeapon(i) == ArmasProibidas[w][2]) format(stringsizeof(string), "Weapon Cheat (ID da arma: %d)"GetPlayerWeapon(i)), KickAutomatico(i"Servidor"string);
            }
            for (new 
0sizeof(ArmasPermitidas); w++) {
                if (
GetPlayerScore(i) >= 3) continue;
                if (
GetPlayerWeapon(i) == ArmasPermitidas[w][2]) {
                    
format(stringsizeof(string), "[ANTI-CHEAT] {FFFFFF}O jogador %s (ID:%d) pode estar a utilizar Weapon Cheat (ID da arma: %d)"GetPlayerNameEx(i), iGetPlayerWeapon(i));
                    if (!
IsPlayerConnected(p)) continue;
                    if (
PlayerInfo[i][pAdmin] != || PlayerInfo[i][pGM] != 0SendClientMessage(iCOLOR_EFEITOstring);
                }
            }
        }
    }
    return 
1;