SA-MP Forums Archive
[Ajuda] Ranking - 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] Ranking (/showthread.php?tid=432237)



Ranking - Don_Speed - 21.04.2013

Ola.
Gostaria de saber como posso fazer um Ranking .
Tenho em mente dois modo .
Um ranking so de jogadores online , esse eu sei que da pra fazer .Outro seria um ranking de todas as contas , porem nгo sei se e possivel .

Ha possibilidade




#VemaiLoucosPorDrifv-2.0AinovaзгododriftBrasileiro



Re: Ranking - Kmatsu - 21.04.2013

O de todas as contas, ou vocк faz usando SQL ou usando uma funзгo do Bruno ae. Porem essa funзгo й em PHP e pode demorar muito, dependendo da quantidade de contas registradas '-'


Re: Ranking - Sky™ - 21.04.2013

MYSQL

[ame]http://www.youtube.com/watch?v=5GoKA94x4q4[/ame]


Re: Ranking - MatheusAlcapone - 21.04.2013

Sim os dois sгo possнveis, o com os players que estгo online й sу fazer uma loop para checar os dados de todos players, depois sу comparar os dados de um playerid com os dados de todos players.


Re: Ranking - Don_Speed - 21.04.2013

Exemplos

Nгo quero nada em MySql.



Re: Ranking - Supera - 21.04.2013

Usa como base https://sampforum.blast.hk/showthread.php?tid=191605


Re: Ranking - Skream - 21.04.2013

Possнvel й. Mas tu terб que abrir/fechar todas as contas de seus usuбrios - viabilidade 0.


Re: Ranking - leonardo1434 - 21.04.2013

Caso seja um sistema INI, й totalmente possнvel.(se este plugin abaixo funcionar como eu penso)

1 - Baixe este plugin.
https://sampforum.blast.hk/showthread.php?tid=100177


2 - Veja este post meu...
http://forum.sa-mp.com/showpost.php?...postcount=2485

3 -
- Coloque o .bat do meu post na scriptfiles.
- instale o plugin
- Execute isto "exec("coloqueaquisuapastadosamp/scriptfiles/nomedomeubat.bat ");", essa funзгo do plugin deve ser usada toda vez antes de comparar os ranks, para assim ter a lista de todos os usuбrios sempre atualizados.
- Vai criar um arquivo "lista.txt" com todos os nomes da pasta que vocк escolheu no .bat
- A partir dai, podes trabalhar fazendo um loop no lista.txt e checando seus ranks de acordo.


Viu sу, й bem simples. й bem lento o processo... porйm й melhor que "tentar" converter tudo para outra coisa.


Re: Ranking - Don_Speed - 21.04.2013

E em DOF2.

Cheguei a este comando

pawn Code:
command(rank,playerid,params[])
{
    new top, top2[5] = -1, Jogadortop[5][24];
    while(top < 5)
    {
         for(new i; i < MAX_PLAYERS; i++)
         {
               if(IsPlayerConnected(i))
               {
                    if(PlayerInfo[i][pScore] > top2[top])
                    {
                           top2[top] = PlayerInfo[i][pScore];
                    }
               }
          }
     }
     //for(new i; i < 5;i++)
     for(new i=0; i< 5; i++)
     {
          if(Jogadortop[i][0] == EOS)
          {
               format(arquivo,sizeof arquivo,"[%d] %s | Score: %d",i+1,Nome(top),top2[i]);
               SendClientMessage(playerid,0xC9170EFF,arquivo);
          }
     }
     return true;
}

Meio sem sentido mas tmb nao pega



Re: Ranking - Gleisson_. - 21.04.2013

PHP Code:
new
bool:TopFoi[512],
string_format[128],
Valor_Maximo[10] = -1,
PlayerMelhor[10][24],
Percorrido
;
CMD:rank(playerid)
{
    
TopPlayersOnline(playerid);
    return 
1;
}
stock TopPlayersOnline(playerid)
{
    while(
Percorrido 10) {
        for(new 
i500i++)  if(IsPlayerConnected(i)) {
            if(
GetPlayerScore(i) > Valor_Maximo[Percorrido] && TopFoi[i] == false) {
                
GetPlayerName(i,PlayerMelhor[Percorrido],24);
                
Valor_Maximo[Percorrido] = GetPlayerScore(i);
                
TopFoi[i] = true;
            }
        }
        
Percorrido++;
    }
    for(new 
a500a++)  if(IsPlayerConnected(a)) TopFoi[a] = false;
    
Percorrido 0;
    for(new 
i10;i++) {
        if(
PlayerMelhor[i][0] != EOS) {
            
format(string_format,64,"[%d] - Player: %s | Score: %d",i+1,PlayerMelhor[i],Valor_Maximo[i]);
            
SendClientMessage(playerid,0xC9170EFF,string_format);
            
Valor_Maximo[i] = -1;
        }
    }