SA-MP Forums Archive
[Ajuda] /admins em dialog nгo aparece. - 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] /admins em dialog nгo aparece. (/showthread.php?tid=624502)



/admins em dialog nгo aparece. - Luiiiz - 17.12.2016

Fiz um admins por dialog em zcmd e por algum motivo nгo aparece o dialog. E sim, jб defini ele.
/admins:
PHP код:
CMD:admins(playeridparams[])
{
    new 
s[2500], ss[2500], iname[MAX_PLAYER_NAME];
    for(new 
0MAX_PLAYERSi++)
    {
    if(
aInfo[i][Admin] == || aInfo[i][Moderador] == || aInfo[i][Ajudante] == || aInfo[i][AdminL] == 1)
    {
    
GetPlayerName(iinamesizeof(iname));
    
format(ss2500"{FFFFFF}%s[%d] %s \n"inameiadmin(i));
    
strcat(sss);
    }
    }
    
ShowPlayerDialog(playeridDIALOG_ADMINSDIALOG_STYLE_MSGBOX"Administradores online:"s"Fechar""");
    return 
1;

admin:
PHP код:
admin(id)
{
    new 
String[64], iname[MAX_PLAYER_NAME];
    
GetPlayerName(idinamesizeof(iname));
    if(
aInfo[id][Admin] == 1)
        
String "Administrador";
    else if(
aInfo[id][Moderador] == 1)
        
String "Moderador";
    else if(
aInfo[id][Ajudante] == 1)
        
String "Ajudante";
    else if(
aInfo[id][AdminL] == 1)
        
String "Desenvolvedor";
    return 
String;




Respuesta: /admins em dialog nгo aparece. - OverKiller - 18.12.2016

Se estiver usando dois processadores de comandos EXP: strcmp e zcmd, nгo vai funcionar o comando!


Re: /admins em dialog nгo aparece. - B4dSh33p - 18.12.2016

Tente isso.
PHP код:
CMD:admins(playeridparams[]) 

    new 
string[200],pName[24]; 
    for(new 
0MAX_PLAYERSi++) 
    { 
        if(
aInfo[i][Admin] == || aInfo[i][Moderador] == || aInfo[i][Ajudante] == || aInfo[i][AdminL] == 1
        { 
            
GetPlayerName(i,pName,24);
            
format(string200"{FFFFFF}%s%s[%d] (%d)\n",string,pName,i,aInfo[i][AdminL]);
        } 
    } 
    
ShowPlayerDialog(playeridDIALOG_ADMINSDIALOG_STYLE_MSGBOX"Administradores online:"s"Fechar"""); 
    return 
1




Re: /admins em dialog nгo aparece. - Luiiiz - 18.12.2016

Tem nd a ver cara AdminL й variavel de dono '-'


Re: /admins em dialog nгo aparece. - RodrigoMSR - 19.12.2016

Nгo estб mostrando porque a string estб nula (sem admins online), ou porque 's' e 'ss' sгo do mesmo tamanho e isso buga o strcat. Tente:
Код:
CMD:admins(playerid, params[])
{
    new ss[2500], iname[MAX_PLAYER_NAME];
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i))
        {
		    if(aInfo[i][Admin] == 1 || aInfo[i][Moderador] == 1 || aInfo[i][Ajudante] == 1 || aInfo[i][AdminL] == 1)
		    {
			    GetPlayerName(i, iname, sizeof(iname));
			    format(ss, sizeof(ss), "%s\n{FFFFFF}%s[%d] %s", ss, iname, i, admin(i)); //formata a string com o novo admin mantendo seu valor antigo
		    }
		}
    }
    if(ss[0] == EOS) format(ss, sizeof(ss), "Nenhum admin online"); //caso a string esteja vazia
    ShowPlayerDialog(playerid, DIALOG_ADMINS, DIALOG_STYLE_MSGBOX, "Administradores online:", ss, "Fechar", "");
    return 1;
}