[Ajuda] Dialogo bugado
#1

Eae pessoal, alguem pode me ajudar? o dialogo nгo estб aparecendo.. quando digito o comando /admins..

PHP код:
    if (strcmp(cmd"/admins"true) == 0)
    {
        new 
count 0dialog1[1000], adm[64], adm1[25];
        for (new 
0MAX_PLAYERSi++)
        {
            if (
IsPlayerConnected(i))
            {
                if (
AccountData[i][pAdmin] >= 0)
                {
                    if (
ModociaAdm3000[i] == 0)
                    {
                        switch (
AccountData[i][pAdmDuty])
                        {
                            case 
0:
                            {
                                if (
AccountData[i][pAdmin] == 0)
                                {
                                    
format(admsizeof(adm), "Moderador: %s [Trabalhando]\n"GetPlayerNameRP(i));
                                    
strcat(dialog1adm1sizeof dialog1);
                                    
count++;
                                }
                                else if (
AccountData[i][pAdmin] >= 1)
                                {
                                    
format(admsizeof(adm), "Admin [%d]: %s [Trabalhando]\n"AccountData[i][pAdmin], GetPlayerNameRP(i));
                                    
strcat(dialog1adm1sizeof dialog1);
                                    
count++;
                                }
                            }
                            case 
1:
                            {
                                if (
AccountData[i][pAdmin] == 0)
                                {
                                    
format(admsizeof(adm), "Moderador: %s [Jogando]\n"GetPlayerNameRP(i));
                                    
strcat(dialog1adm1sizeof dialog1);
                                    
count++;
                                }
                                else if (
AccountData[i][pAdmin] >= 1)
                                {
                                    
format(admsizeof(adm), "Admin [%d]: %s [Jogando]\n"AccountData[i][pAdmin], GetPlayerNameRP(i));
                                    
strcat(dialog1adm1sizeof dialog1);
                                    
count++;
                                }
                            }
                        }
                    }
                }
                if (
count == 0ShowPlayerDialog(playerid0DIALOG_STYLE_MSGBOX"ERRO""Nгo hб nenhum admin/moderador online""Fechar""");
            }
        }
        
ShowPlayerDialog(playerid0DIALOG_STYLE_LIST"Administraзгo"dialog1"Fechar""");
        return 
1;
    } 
Reply
#2

Tenta isso mano:

PHP код:
    if(!strcmp(cmdtext"/admins"true)){
        
        static
            
boolWorking,
            
dialog[667],
            
str[100]
        ;
        
        
Working false;
        
dialog[0] = EOS;
        
str[0] = EOS;
        
        for(new 
iGetPlayerPoolSize(); != e; ++i){
            if(
AccountData[i][pAdmin] > 0){
                
format(str100"%s [%d]: %s [%s]\n", !AccountData[i][pAdmin] ? ("Moderador") : ("Admin"), AccountData[i][pAdmDuty] ? ("Trabalhando") : ("Jogando"), AccountData[i][pAdmin], GetPlayerNameRP(i)); 
                
strcat(dialogstr);
                
Working true;
            }
        }
        
        if(!
Working){
            
format(dialogsizeof(dialog), "Nгo hб nenhum admin/moderador online"); 
        }
        
        
ShowPlayerDialog(playerid0DIALOG_STYLE_LIST"Administraзгo"dialog"Fechar"""); 
        return 
true;
    } 
Reply
#3

zSuYaNw, eu dei uma modificada no comando, mais tem apenas um problema, quando tem admin/moderador online aparece o dialogo com "Nгo hб nenhum admin/moderador online", em veis de aparece o nome da pessoa, como eu faзo para deixar a mensagem apenas com "Nгo hб nenhum admin/moderador online" para quando n tiver mesmo admin online e quando tiver, mostrar os admins.

Cуdigo atual:
PHP код:
    if(!strcmp(cmdtext"/admins"true))
    {
        static
            
boolWorking,
            
dialog[667],
            
str[100]
        ;

        
Working false;
        
dialog[0] = EOS;
        
str[0] = EOS;

        for(new 
iGetPlayerPoolSize(); != e; ++i)
        {
            if(
AccountData[i][pAdmin] > 0){
                
format(str100"%s [%d]: %s [%s]\n", !AccountData[i][pAdmin] ? ("Moderador") : ("Admin"), AccountData[i][pAdmDuty] ? ("Trabalhando") : ("Jogando"), AccountData[i][pAdmin], GetPlayerNameRP(i));
                
strcat(dialogstr);
                
Working true;
            }
        }

        if(
Working == falseformat(dialogsizeof(dialog), "Nгo hб nenhum admin/moderador online");

        
ShowPlayerDialog(playerid0DIALOG_STYLE_LIST"Administraзгo"dialog"Fechar""");
        return 
true;
    } 
Reply
#4

Quote:
Originally Posted by SukMathcuck
Посмотреть сообщение
zSuYaNw, eu dei uma modificada no comando, mais tem apenas um problema, quando tem admin/moderador online aparece o dialogo com "Nгo hб nenhum admin/moderador online", em veis de aparece o nome da pessoa, como eu faзo para deixar a mensagem apenas com "Nгo hб nenhum admin/moderador online" para quando n tiver mesmo admin online e quando tiver, mostrar os admins.

Cуdigo atual:
PHP код:
    if(!strcmp(cmdtext"/admins"true))
    {
        static
            
boolWorking,
            
dialog[667],
            
str[100]
        ;
        
Working false;
        
dialog[0] = EOS;
        
str[0] = EOS;
        for(new 
iGetPlayerPoolSize(); != e; ++i)
        {
            if(
AccountData[i][pAdmin] > 0){
                
format(str100"%s [%d]: %s [%s]\n", !AccountData[i][pAdmin] ? ("Moderador") : ("Admin"), AccountData[i][pAdmDuty] ? ("Trabalhando") : ("Jogando"), AccountData[i][pAdmin], GetPlayerNameRP(i));
                
strcat(dialogstr);
                
Working true;
            }
        }
        if(
Working == falseformat(dialogsizeof(dialog), "Nгo hб nenhum admin/moderador online");
        
ShowPlayerDialog(playerid0DIALOG_STYLE_LIST"Administraзгo"dialog"Fechar""");
        return 
true;
    } 
Tenta assim:

PHP код:
 if(!strcmp(cmdtext"/admins"true))
    {
        static
            
boolWorking,
            
dialog[667],
            
str[100]
        ;
        
Working false;
        
dialog[0] = EOS;
        
str[0] = EOS;
        for(new 
iGetPlayerPoolSize(); != e; ++i)
        {
            if(
AccountData[i][pAdmin] > 0){
                
format(str100"%s [%d]: %s [%s]\n", !AccountData[i][pAdmin] ? ("Moderador") : ("Admin"), AccountData[i][pAdmDuty] ? ("Trabalhando") : ("Jogando"), AccountData[i][pAdmin], GetPlayerNameRP(i));
                
strcat(dialogstr);
                
Working true;
            }
        }
        if(
Working == false) return ShowPlayerDialog(playerid0DIALOG_STYLE_LIST"Administraзгo""Nenhum administrador online :/""Fechar""");
        
ShowPlayerDialog(playerid0DIALOG_STYLE_LIST"Administraзгo"dialog"Fechar""");
        return 
true;
    } 
Reply
#5

Nгo funcionou Ana, tб do mesmo jeito..
Reply
#6

Ao meu ver, o comando parece estar correcto.


Mande o comando que dб nнvel de administrador.
Reply
#7

Quote:
Originally Posted by zSuYaNw
Посмотреть сообщение
Ao meu ver, o comando parece estar correcto.


Mande o comando que dб nнvel de administrador.
Entгo, no dialogo nгo mostra os admin online.. mandei o comando pm.
Reply
#8

Testa aн e manda oque aparece no Console do jogador..

pawn Код:
if(!strcmp(cmdtext, "/admins", true)){
       
        static
            bool: Working,
            dialog[667],
            str[100]
        ;
       
        Working = false;
        dialog[0] = EOS;
        str[0] = EOS;
       
        for(new i, e = GetPlayerPoolSize(); i != e; ++i){
            if(AccountData[i][pAdmin] > 0){ // AccountData[playerid][pAdmin]
                format(str, 100, "%s [%d]: %s [%s]\n", !AccountData[i][pAdmin] ? ("Moderador") : ("Admin"), AccountData[i][pAdmDuty] ? ("Trabalhando") : ("Jogando"), AccountData[i][pAdmin], GetPlayerNameRP(i));
                strcat(dialog, str); printf(str);
                Working = true;
            }
        }
       
        if(!Working){
            format(dialog, sizeof(dialog), "Nгo hб nenhum admin/moderador online");
        }
       
        ShowPlayerDialog(playerid, 0, DIALOG_STYLE_LIST, "Administraзгo", dialog, "Fechar", "");
        return true;
    }
Reply
#9

Quote:
Originally Posted by zSuYaNw
Посмотреть сообщение
Testa aн e manda oque aparece no Console do jogador..

pawn Код:
if(!strcmp(cmdtext, "/admins", true)){
       
        static
            bool: Working,
            dialog[667],
            str[100]
        ;
       
        Working = false;
        dialog[0] = EOS;
        str[0] = EOS;
       
        for(new i, e = GetPlayerPoolSize(); i != e; ++i){
            if(AccountData[i][pAdmin] > 0){ // AccountData[playerid][pAdmin]
                format(str, 100, "%s [%d]: %s [%s]\n", !AccountData[i][pAdmin] ? ("Moderador") : ("Admin"), AccountData[i][pAdmDuty] ? ("Trabalhando") : ("Jogando"), AccountData[i][pAdmin], GetPlayerNameRP(i));
                strcat(dialog, str); printf(str);
                Working = true;
            }
        }
       
        if(!Working){
            format(dialog, sizeof(dialog), "Nгo hб nenhum admin/moderador online");
        }
       
        ShowPlayerDialog(playerid, 0, DIALOG_STYLE_LIST, "Administraзгo", dialog, "Fechar", "");
        return true;
    }
Beleza..

@edit

Entгo, o problema й que nгo mostrou nada no console e continua o mesmo problema, vou enviar o comando de entrar em adm serviзo, pm PM.
Reply
#10

Teste novamente:
Fale oque aparece no console apуs digitar o comando.

pawn Код:
if(!strcmp(cmdtext, "/admins", true)){
       
        static
            bool: Working,
            dialog[667],
            str[100]
        ;
       
        Working = false;
        dialog[0] = EOS;
        str[0] = EOS;
       
        for(new i, e = GetPlayerPoolSize(); i != e; ++i){  printf("DEBUG LVL: %d", AccountData[i][pAdmin]);
            if(AccountData[i][pAdmin] >= 0){ // AccountData[playerid][pAdmin]
                format(str, 100, "%s [%d]: %s [%s]\n", !AccountData[i][pAdmin] ? ("Moderador") : ("Admin"), AccountData[i][pAdmDuty] ? ("Trabalhando") : ("Jogando"), AccountData[i][pAdmin], GetPlayerNameRP(i));
                strcat(dialog, str);
                Working = true;
            }
        }
       
        if(!Working){
            format(dialog, sizeof(dialog), "Nгo hб nenhum admin/moderador online");
        }
       
        ShowPlayerDialog(playerid, 0, DIALOG_STYLE_LIST, "Administraзгo", dialog, "Fechar", "");
        return true;
    }
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)