SA-MP Forums Archive
[Ajuda] Erros no comando /membros - 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] Erros no comando /membros (/showthread.php?tid=649679)



Erros no comando /membros - brunogusava - 13.02.2018

Galera estou fazendo um sistema de ORGs para o BETA do servidor em que estou ajudando a codar, porйm sou iniciante no Pawn e o erro/warning que estб dando aqui, nгo em vem na cabeзa uma soluзгo.

PHP код:
CMD:membros(playeridparams[])
{
        if(
Player[playerid][Organizacao] == 0)
    {
        
SendClientMessage(playerid0xFF0000FF"[BLC] |Erro| Vocк nгo й de uma organizaзгo.");
    }
    else
    {
        for(new 
0MAX_PLAYERSi++)
        {
            if(
Player[i][Organizacao] == Player[playerid][Organizacao])
            {
                
SendClientMessage(playerid, -1"/-----Membros Online-----/\n");
                new 
nome[MAX_PLAYER_NAME], string[MAX_PLAYER_NAME];
                
GetPlayerName(inomesizeof(nome));
                
format(stringsizeof(string), "%s"nome);
                
SendClientMessage(playerid, -1string);
                
SendClientMessage(playerid, -1"\n/-----Membros Online-----/");
            }
        }
    }

PHP код:
..\modulos\LoginRegistro.pwn(227) : error 021symbol already defined"i"
..\modulos\LoginRegistro.pwn(227) : warning 204symbol is assigned a value that is never used"i" 
Para vocкs se localizarem melhor estб aн uma imagem do cуdigo:




Re: Erros no comando /membros - Cycle - 13.02.2018

PHP код:
CMD:membros(playerid

    if(
Player[playerid][Organizacao] == 0
    { 
        
SendClientMessage(playerid0xFF0000FF"[BLC] |Erro| Vocк nгo й de uma organizaзгo."); 
    } 
    else 
    { 
        for(new 
0MAX_PLAYERSi++) 
        { 
            if(
Player[i][Organizacao] == Player[playerid][Organizacao]) 
            { 
                
SendClientMessage(playerid, -1"/-----Membros Online-----/\n"); 
                new 
nome[MAX_PLAYER_NAME], string[MAX_PLAYER_NAME]; 
                
GetPlayerName(inomesizeof(nome)); 
                
format(stringsizeof(string), "%s"nome); 
                
SendClientMessage(playerid, -1string); 
                
SendClientMessage(playerid, -1"\n/-----Membros Online-----/"); 
            } 
        } 
    }
    return 
true;




Re: Erros no comando /membros - FerrariL - 13.02.2018

Uma observaзгo,isso aqui nгo vai funcionar como esperado :
PHP код:
  if(Player[playerid][Organizacao] == 0
    { 
        
SendClientMessage(playerid0xFF0000FF"[BLC] |Erro| Vocк nгo й de uma organizaзгo."); 
    } 
Modo correto :
PHP код:
  if(Player[playerid][Organizacao] == 0
  return 
SendClientMessage(playerid0xFF0000FF"[BLC] |Erro| Vocк nгo й de uma organizaзгo."); 



Re: Erros no comando /membros - n0minal - 13.02.2018

Provavelmente vocк ou algum outro novato do seu time criaram uma variбvel global chamada "i", vai dar esse erro em todas as funзхes que vocк criar uma variбvel com nome "i", sugiro que revise seu cуdigo e elimine se possнvel essa variбvel global, ou renomeie a variбvel do loop (nгo й uma boa prбtica deixar uma variбvel i global, й pйssimo na verdade).


Re: Erros no comando /membros - brunogusava - 13.02.2018

Quote:
Originally Posted by FerrariL
Посмотреть сообщение
Uma observaзгo,isso aqui nгo vai funcionar como esperado :
PHP код:
  if(Player[playerid][Organizacao] == 0
    { 
        
SendClientMessage(playerid0xFF0000FF"[BLC] |Erro| Vocк nгo й de uma organizaзгo."); 
    } 
Modo correto :
PHP код:
  if(Player[playerid][Organizacao] == 0
  return 
SendClientMessage(playerid0xFF0000FF"[BLC] |Erro| Vocк nгo й de uma organizaзгo."); 
Tipo assim?

PHP код:
CMD:membros(playerid

    if(
Player[playerid][Organizacao] == 0
     return 
SendClientMessage(playerid0xFF0000FF"[BLC] |Erro| Vocк nгo й de uma organizaзгo."); 
        for(new 
0MAX_PLAYERSi++) 
        { 
            if(
Player[i][Organizacao] == Player[playerid][Organizacao]) 
            { 
                
SendClientMessage(playerid, -1"/-----Membros Online-----/\n"); 
                new 
nome[MAX_PLAYER_NAME], string[MAX_PLAYER_NAME]; 
                
GetPlayerName(inomesizeof(nome)); 
                
format(stringsizeof(string), "%s"nome); 
                
SendClientMessage(playerid, -1string); 
                
SendClientMessage(playerid, -1"\n/-----Membros Online-----/"); 
            } 
        } 
    }
    return 
true;

---------------------------------------------------------------------------------

Quote:
Originally Posted by n0minal
Посмотреть сообщение
Provavelmente vocк ou algum outro novato do seu time criaram uma variбvel global chamada "i", vai dar esse erro em todas as funзхes que vocк criar uma variбvel com nome "i", sugiro que revise seu cуdigo e elimine se possнvel essa variбvel global, ou renomeie a variбvel do loop (nгo й uma boa prбtica deixar uma variбvel i global, й pйssimo na verdade).
Pior que nгo n0minal, nгo existe nenhuma variбvel "i" global, inclusive й a primeira vez que declaro ela, tentei mudar para outras letras, mas persistiu o erro e o warning, mas assim que chegar em casa vou tentar botar o "return true" antes da ъltima chave, igual o mano Cycle mandou ali em cima no post.

Mas realmente й algo que faria sentido, valeu pela ajuda, mas acredito que seja sу a falta de um "return" mesmo.


Re: Erros no comando /membros - n0minal - 13.02.2018

Ah sim, jб vi o erro, vocк tб usando vнrgulas no loop ao invйs de ponto e vнrgula, o correto seria:

Код:
for(new i = 0; i < MAX_PLAYERS; i++)



Re: Erros no comando /membros - brunogusava - 13.02.2018

Quote:
Originally Posted by n0minal
Посмотреть сообщение
Ah sim, jб vi o erro, vocк tб usando vнrgulas no loop ao invйs de ponto e vнrgula, o correto seria:

Код:
for(new i = 0; i < MAX_PLAYERS; i++)
Nossaaaaaa mano, como que eu nгo vi KKKKKKKKK, na programaзгo tem dessas, por um simples ";" da erro na metade do cуdigo kkkkkkkkk, valeu mano, vc e o Cycle ganharam Rep


Re: Erros no comando /membros - [BOPE]Seu._.Madruga - 13.02.2018

Adicionei a funзгo para informar se nгo tem nenhum membro da organizaзгo online e jб aproveitei e dei uma otimizada no cуdigo e na forma que estava sendo chamada as mensagens.



PHP код:
CMD:membros(playerid) {
    if(
Player[playerid][Organizacao] == 0) return SendClientMessage(playerid0xFF0000FF"[BLC] |Erro| Vocк nгo й de uma organizaзгo.");
    new 
CountMembers 0;
    
SendClientMessage(playerid, -1"/-----Membros da Organizaзгo Online -----/");
    for(new 
0MAX_PLAYERSi++) {
        if(
Player[i][Organizacao] == Player[playerid][Organizacao]) {
            new 
nome[MAX_PLAYER_NAME], string[MAX_PLAYER_NAME];
            
GetPlayerName(inomesizeof(nome));
            
format(stringsizeof(string), "%s"nome);
            
SendClientMessage(playerid, -1string);
            
CountMembers++;
        }
    }
    if(
CountMembers >= 1) return SendClientMessage(playerid, -1"/-----Membros da Organizaзгo Online -----/");
    if(
CountMembers == 0) return SendClientMessage(playerid0xFF0000FF"[BLC] Nenhum membro da sua organizaзгo estб online.");
    return 
true;




Re: Erros no comando /membros - brunogusava - 13.02.2018

Quote:
Originally Posted by [BOPE]Seu._.Madruga
Посмотреть сообщение
Adicionei a funзгo para informar se nгo tem nenhum membro da organizaзгo online e jб aproveitei e dei uma otimizada no cуdigo e na forma que estava sendo chamada as mensagens.



PHP код:
CMD:membros(playerid) {
    if(
Player[playerid][Organizacao] == 0) return SendClientMessage(playerid0xFF0000FF"[BLC] |Erro| Vocк nгo й de uma organizaзгo.");
    new 
CountMembers 0;
    
SendClientMessage(playerid, -1"/-----Membros da Organizaзгo Online -----/");
    for(new 
0MAX_PLAYERSi++) {
        if(
Player[i][Organizacao] == Player[playerid][Organizacao]) {
            new 
nome[MAX_PLAYER_NAME], string[MAX_PLAYER_NAME];
            
GetPlayerName(inomesizeof(nome));
            
format(stringsizeof(string), "%s"nome);
            
SendClientMessage(playerid, -1string);
            
CountMembers++;
        }
    }
    if(
CountMembers >= 1) return SendClientMessage(playerid, -1"/-----Membros da Organizaзгo Online -----/");
    if(
CountMembers == 0) return SendClientMessage(playerid0xFF0000FF"[BLC] Nenhum membro da sua organizaзгo estб online.");
    return 
true;

Caraca, valeu manoo, +REP !!!!


Re: Erros no comando /membros - [BOPE]Seu._.Madruga - 05.03.2018

Quote:
Originally Posted by [BOPE]Seu._.Madruga
Посмотреть сообщение
Adicionei a funзгo para informar se nгo tem nenhum membro da organizaзгo online e jб aproveitei e dei uma otimizada no cуdigo e na forma que estava sendo chamada as mensagens.



PHP код:
CMD:membros(playerid) {
    if(
Player[playerid][Organizacao] == 0) return SendClientMessage(playerid0xFF0000FF"[BLC] |Erro| Vocк nгo й de uma organizaзгo.");
    new 
CountMembers 0;
    
SendClientMessage(playerid, -1"/-----Membros da Organizaзгo Online -----/");
    for(new 
0MAX_PLAYERSi++) {
        if(
Player[i][Organizacao] == Player[playerid][Organizacao]) {
            new 
nome[MAX_PLAYER_NAME], string[MAX_PLAYER_NAME];
            
GetPlayerName(inomesizeof(nome));
            
format(stringsizeof(string), "%s"nome);
            
SendClientMessage(playerid, -1string);
            
CountMembers++;
        }
    }
    if(
CountMembers >= 1) return SendClientMessage(playerid, -1"/-----Membros da Organizaзгo Online -----/");
    if(
CountMembers == 0) return SendClientMessage(playerid0xFF0000FF"[BLC] Nenhum membro da sua organizaзгo estб online.");
    return 
true;

Apenas mais uma otimizada bбsica

PHP код:
CMD:membros(playerid) {
    if(!
Player[playerid][Organizacao]) return SendClientMessage(playerid0xFF0000FF"[BLC] Vocк nгo й de uma organizaзгo.");
    static 
CountMembers 0nome[MAX_PLAYER_NAME], string[MAX_PLAYER_NAME];
    foreach(
Playeri) {
        if(
Player[i][Organizacao] == Player[playerid][Organizacao] && != playerid) {
            if(!
CountMembersSendClientMessage(playerid, -1"/-----Membros da Organizaзгo Online -----/");
            
GetPlayerName(inomesizeof(nome));
            
format(stringsizeof(string), "%s"nome);
            
SendClientMessage(playerid, -1string);
            
CountMembers++;
        }
    }
    
SendClientMessage(playeridCountMembers >= ? (-1) : (0xFF0000FF), CountMembers >= ? ("/----- Membros da Organizaзгo Online -----/") : ("[BLC] Fora vocк nгo hб nenhum(a) outro(a) membro(a) da sua organizaзгo estб online."));
    return 
true;