[Ajuda] Erros no comando /membros
#1

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:

Reply
#2

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;

Reply
#3

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."); 
Reply
#4

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).
Reply
#5

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.
Reply
#6

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++)
Reply
#7

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
Reply
#8

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;

Reply
#9

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 !!!!
Reply
#10

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;

Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)