SA-MP Forums

Go Back   SA-MP Forums > Non-English > Languages > Português/Portuguese

Reply
 
Thread Tools Display Modes
Old 13/02/2018, 12:14 PM   #1
brunogusava
Little Clucker
 
brunogusava's Avatar
 
Join Date: Jan 2018
Posts: 23
Reputation: 0
Default Erros no comando /membros

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 Code:
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 Code:
..\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:

brunogusava is offline   Reply With Quote
Old 13/02/2018, 01:15 PM   #2
Cycle
Big Clucker
 
Join Date: Sep 2017
Location: Salvador, Brazil
Posts: 128
Reputation: 90
Default Re: Erros no comando /membros

PHP Code:
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;

Cycle is offline   Reply With Quote
Old 13/02/2018, 03:02 PM   #3
FerrariL
Gangsta
 
FerrariL's Avatar
 
Join Date: Sep 2016
Location: Goiânia
Posts: 535
Reputation: 22
Default Re: Erros no comando /membros

Uma observação,isso aqui não vai funcionar como esperado :
PHP Code:
  if(Player[playerid][Organizacao] == 0
    { 
        
SendClientMessage(playerid0xFF0000FF"[BLC] |Erro| Você não é de uma organização."); 
    } 
Modo correto :
PHP Code:
  if(Player[playerid][Organizacao] == 0
  return 
SendClientMessage(playerid0xFF0000FF"[BLC] |Erro| Você não é de uma organização."); 
__________________
Faço sistemas por encomenda, discord: FerrariL
#5104
FerrariL is online now   Reply With Quote
Old 13/02/2018, 03:54 PM   #4
n0minal
High-roller
 
n0minal's Avatar
 
Join Date: Mar 2013
Location: Rio de Janeiro
Posts: 4,155
Reputation: 728
Default Re: Erros no comando /membros

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).
__________________
n0minal is online now   Reply With Quote
Old 13/02/2018, 04:26 PM   #5
brunogusava
Little Clucker
 
brunogusava's Avatar
 
Join Date: Jan 2018
Posts: 23
Reputation: 0
Default Re: Erros no comando /membros

Quote:
Originally Posted by FerrariL View Post
Uma observação,isso aqui não vai funcionar como esperado :
PHP Code:
  if(Player[playerid][Organizacao] == 0
    { 
        
SendClientMessage(playerid0xFF0000FF"[BLC] |Erro| Você não é de uma organização."); 
    } 
Modo correto :
PHP Code:
  if(Player[playerid][Organizacao] == 0
  return 
SendClientMessage(playerid0xFF0000FF"[BLC] |Erro| Você não é de uma organização."); 
Tipo assim?

PHP Code:
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 View Post
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.
brunogusava is offline   Reply With Quote
Old 13/02/2018, 04:29 PM   #6
n0minal
High-roller
 
n0minal's Avatar
 
Join Date: Mar 2013
Location: Rio de Janeiro
Posts: 4,155
Reputation: 728
Default Re: Erros no comando /membros

Ah sim, já vi o erro, você tá usando vírgulas no loop ao invés de ponto e vírgula, o correto seria:

Code:
for(new i = 0; i < MAX_PLAYERS; i++)
__________________
n0minal is online now   Reply With Quote
Old 13/02/2018, 04:34 PM   #7
brunogusava
Little Clucker
 
brunogusava's Avatar
 
Join Date: Jan 2018
Posts: 23
Reputation: 0
Default Re: Erros no comando /membros

Quote:
Originally Posted by n0minal View Post
Ah sim, já vi o erro, você tá usando vírgulas no loop ao invés de ponto e vírgula, o correto seria:

Code:
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
brunogusava is offline   Reply With Quote
Old 13/02/2018, 04:57 PM   #8
[BOPE]Seu._.Madruga
Gangsta
 
[BOPE]Seu._.Madruga's Avatar
 
Join Date: Nov 2011
Location: São Paulo - SP
Posts: 975
Reputation: 70
Thumbs up Re: Erros no comando /membros

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 Code:
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;

__________________

_\|/_ Ei vey é Nozes _\|/_

Nick: LeozinIMPERATUS

Patente: Coronel 3

Página Oficial: Leonardo " lbs " Bradoks » www.facebo ok.com/leobradoks
Página de Programação: Programação em Foco » www.facebo ok.com/groups/ProgramacaoEmFoco
Atualmente focado ao competitivo de Point Blank
Email | Site Pessoal | Skype
O topo da inteligência é alcançar a humildade

Last edited by [BOPE]Seu._.Madruga; 13/02/2018 at 05:28 PM.
[BOPE]Seu._.Madruga is offline   Reply With Quote
Old 13/02/2018, 05:57 PM   #9
brunogusava
Little Clucker
 
brunogusava's Avatar
 
Join Date: Jan 2018
Posts: 23
Reputation: 0
Default Re: Erros no comando /membros

Quote:
Originally Posted by [BOPE]Seu._.Madruga View Post
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 Code:
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 !!!!
brunogusava is offline   Reply With Quote
Old 05/03/2018, 08:33 PM   #10
[BOPE]Seu._.Madruga
Gangsta
 
[BOPE]Seu._.Madruga's Avatar
 
Join Date: Nov 2011
Location: São Paulo - SP
Posts: 975
Reputation: 70
Thumbs up Re: Erros no comando /membros

Quote:
Originally Posted by [BOPE]Seu._.Madruga View Post
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 Code:
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 Code:
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;

__________________

_\|/_ Ei vey é Nozes _\|/_

Nick: LeozinIMPERATUS

Patente: Coronel 3

Página Oficial: Leonardo " lbs " Bradoks » www.facebo ok.com/leobradoks
Página de Programação: Programação em Foco » www.facebo ok.com/groups/ProgramacaoEmFoco
Atualmente focado ao competitivo de Point Blank
Email | Site Pessoal | Skype
O topo da inteligência é alcançar a humildade

Last edited by [BOPE]Seu._.Madruga; 25/03/2018 at 03:37 PM.
[BOPE]Seu._.Madruga is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
[Ajuda] comando /membros, não sei mais o que fazer |: johntrybescripter Português/Portuguese 5 15/01/2017 02:11 PM
[Ajuda] comando de chat entre membros da org Rodrigo_Avenged Português/Portuguese 2 18/01/2013 08:28 PM
[Ajuda] Erros em um comando. Gabriel Santana Português/Portuguese 4 18/08/2012 10:34 PM
[AJUDA] Comando /membros Chis Português/Portuguese 4 26/04/2012 11:22 PM
comando /membros xolp25 Português/Portuguese 1 09/01/2010 08:11 PM


All times are GMT. The time now is 09:09 PM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.