Portal SAMP
[Ajuda] Ranking em textdraw - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Ranking em textdraw (/showthread.php?tid=1372)



Ranking em textdraw - Rev - 09/07/2021

Estou tentando fazer um ranking de equipes em textdraw.
O sistema em si eu consegui fazer, só estou com dificuldade de colocar as equipes e pontos em ordens.
Alguém da uma moral ai?

Era pra aparecer assim:

[Imagem: SN6VyHm.png]

mas esta aparecendo apenas o nome de 1 equipe com os pontos foram de ordem


Vou deixar os códigos.

Textdraw: 
Código PHP:
//Nome das equipes    
td_nome_equipes[0] = TextDrawCreate(424.000000307.000000"~g~~h~~h~Ranking de Equipos:~n~~w~] L0S D0MAD0RES~n~~w~] Barney y sus amigos~n~~w~] plegs.texas~n~~w~] UNIÓN LGBTQ+~n~~w~] Cartel de Medellin~n~~w~] La Mala Junta~n~~w~] Apagando velas");
    
TextDrawLetterSize(td_nome_equipes[0], 0.2100000.899999);
    
TextDrawTextSize(td_nome_equipes[0], 1280.0000001280.000000);
    
TextDrawAlignment(td_nome_equipes[0], 0);
    
TextDrawColor(td_nome_equipes[0], 0xFFFFFFFF);
    
TextDrawUseBox(td_nome_equipes[0], 0);
    
TextDrawBoxColor(td_nome_equipes[0], 0x80808080);
    
TextDrawSetShadow(td_nome_equipes[0], 1);
    
TextDrawSetOutline(td_nome_equipes[0], 0);
    
TextDrawBackgroundColor(td_nome_equipes[0], 0x000000FF);
    
TextDrawFont(td_nome_equipes[0], 2);
    
TextDrawSetProportional(td_nome_equipes[0], 1);
    
TextDrawSetSelectable(td_nome_equipes[0], 0);
//Pontos das equipes
    
td_ponto_equipes[0] = TextDrawCreate(585.000000317.000000"~w~19222~n~~w~13509~n~~w~12212~n~~w~5141~n~~w~2886~n~~w~1998~n~~w~25~n~");
    
TextDrawLetterSize(td_ponto_equipes[0], 0.2900000.899999);
    
TextDrawTextSize(td_ponto_equipes[0], 1280.0000001280.000000);
    
TextDrawAlignment(td_ponto_equipes[0], 0);
    
TextDrawColor(td_ponto_equipes[0], 0xFFFFFFFF);
    
TextDrawUseBox(td_ponto_equipes[0], 0);
    
TextDrawBoxColor(td_ponto_equipes[0], 0x80808080);
    
TextDrawSetShadow(td_ponto_equipes[0], 1);
    
TextDrawSetOutline(td_ponto_equipes[0], 0);
    
TextDrawBackgroundColor(td_ponto_equipes[0], 0x000000FF);
    
TextDrawFont(td_ponto_equipes[0], 2);
    
TextDrawSetProportional(td_ponto_equipes[0], 1);
    
TextDrawSetSelectable(td_ponto_equipes[0], 0); 

Os nomes e os pontos estão sendo puxados daqui:

Código PHP:
ShowTextdrawSeason(playerid)
{
    
TextDrawShowForPlayer(playeridtd_nome_equipes[0]);
    
TextDrawShowForPlayer(playeridtd_ponto_equipes[0]);
}


forward ShowRank();
public 
ShowRank()
{


    new str[120], name[MAX_PLAYER_NAME], tScore;

    for(new 0cache_num_rows(); i++)
    {
        cache_get_value_name(i"Nombre"name);
         
cache_get_value_name_int(i"Kills"tScore);
        
        format
(strsizeof(str), "%s"name);
           TextDrawSetString(td_nome_equipes[i], str);
           
           format
(strsizeof(str), "%d"tScore);
           TextDrawSetString(td_ponto_equipes[i], str);
    }

    return 1;




RE: Ranking em textdraw - xbruno1000x - 09/07/2021

Eu tinha um sistema de ranking de quem tinha mais players em um gamemode de torcidas, talvez te ajude.

Código:
    while(Percorrido < 10)
    {
        for(new i; i < sizeof(Torcidas); i++)
         {
            if(CTorcidas[i] > Valor_Maximo[Percorrido] && !TopFoi[i])
            {
                TorcidaMelhor[Percorrido] = i;
                Valor_Maximo[Percorrido] = CTorcidas[i];
                TopFoi[i] = true;
            }
        }
        Percorrido++;
    }

    Percorrido = -1;

    while(++Percorrido < 10)
        if(TorcidaMelhor[Percorrido] != EOS)
            format(string, sizeof(string), "%s %s - %d Onlines", string, Torcidas[TorcidaMelhor[Percorrido]][tNome], CTorcidas[TorcidaMelhor[Percorrido]]);
O primeiro era o maior, então ele setava como ValorMaximo o primeiro e rodava o looping para o segundo e assim por diante...
O problema no seu parece ser que o looping só está rodando uma vez, tente usar a while para controlar o looping.

Adendo:
Você usou apenas uma textdraw, não sei te afirmar se será possível formatar todos esses textos juntos pois nunca tentei fazer assim.