[Ajuda] Ranking mostrar Score Player OFF
#1

Ola queria que o codigo que peguei de base aqui no forum mostrasse o score de players offline mais a lista /ranking so atualiza as posiзхes conforme o player de ex: primeira posiзгo logue no servidor eu queria que apareзesse mesmo ele tando off


CODIGO

pawn Код:
@_CallBack: MostrarRankPlayer(playerid)
{
    new
        playerScores[MAX_PLAYERS][rankingEnum],
        index
    ;
    for(new i; i != MAX_PLAYERS; ++i)
    {
        if(IsPlayerConnected(i) && !IsPlayerNPC(i))
        {
            playerScores[index][player_Score] = GetPlayerScore(i);
            playerScores[index++][player_ID] = i;
        }
    }
    GetPlayerHighestScores(playerScores, 0, index);
    new
        score_Text[1000] = "\n",
        player_Name[MAX_PLAYER_NAME]
    ;
    for(new i; i < 20; ++i)
    {
          if(i < index)
          {
                GetPlayerName(playerScores[i][player_ID], player_Name, sizeof(player_Name));
                format(score_Text, sizeof(score_Text), "%s{FFFFFF}%dє - %s {FFFFFF}- Score: {FFD700}%d\n", score_Text, i + 1, player_Name, playerScores[i][player_Score]);
          }
          else
          {
                format(score_Text, sizeof(score_Text), "%s{FFFFFF}%dє - Ninguйm\n", score_Text, i + 1);
          }
    }
    ShowPlayerDialog(playerid, DIALOG_MENSAGEM, DIALOG_STYLE_MSGBOX, "{FFFFFF}TOP Score {228B22}20", score_Text, "Fechar", "");
    return true;
}

se alguem ajudasse eu agradeзia.. estou louco ja tentei de tudo e nгo consigo.
Reply
#2

Tente retirar a parte que verifica se o player estб online "if(IsPlayerConnected(i)", mantendo apenas a que verifica se o player й um NPC.

PHP код:
if(!IsPlayerNPC(i)) 
Reply
#3

tentei diego e ficou sem ninguem na lista mesmo o player logado ou deslogado

print:
Reply
#4

para isso usa uma base de dados em MySQL ou SQLite e atravйs de uma simples query para fazeres o que queres.
Reply
#5

Quote:
Originally Posted by PT
Посмотреть сообщение
para isso usa uma base de dados em MySQL ou SQLite e atravйs de uma simples query para fazeres o que queres.
Й o jeito mais fбcil(e melhor), porйm nгo o ъnico.

Vocк pode criar um arquivo contendo este rank e fazer a leitura do mesmo.

Ou vocк pode criar um arquivo contendo o nome de todos os usuбrios cadastrados, depois ler esse arquivo e verificar a conta de jogador por jogador e "ranquear".

O primeiro jeito й fбcil e rбpido.

Mesmo assim recomendo SQLite.
Reply
#6

meu sistema e DOF2 nгo sei nada de MySQL e SQLlite alguem poderia arrumar o codigo que postei para que mostrasse a posiзгo do player mesmo ele estando off?

vejo varios posts toscos que os caras ja fazem certinho eu peзo um comando ninguem faz.. pq? e so um comando eu nгo venho todo dia encher o saco de vocкs tem gente que faz topico todo dia dando codigo e pedindo concerto e ganha todo dia prontinho.. to mentindo?? e vdd isso entгo por favor me ajuda ai e so um comando
Reply
#7

Quote:
Originally Posted by DiegoCosta
Посмотреть сообщение
Tente retirar a parte que verifica se o player estб online "if(IsPlayerConnected(i)", mantendo apenas a que verifica se o player й um NPC.

PHP код:
if(!IsPlayerNPC(i)) 
isto nгo funcionou oque pode ser?

ainda me falta este bug kk
Reply
#8

Quote:
Originally Posted by Tiger157000
Посмотреть сообщение
isto nгo funcionou oque pode ser?

ainda me falta este bug kk
Posso estar errado, mas como muita coisa eu resolvo na base da "tentativa e erro", eu tentaria dessa forma, nesse trecho:
PHP код:
 for(new iMAX_PLAYERS; ++i//troque != por <
    
{
        if(!
IsPlayerNPC(i))
        {
            
playerScores[index][player_Score] = GetPlayerScore(i);
            
playerScores[index++][player_ID] = i;
        }
    } 
Leia a parte sobre "operadores": https://sampwiki.blast.hk/wiki/Controlando_Estruturas
Reply
#9

Quote:
Originally Posted by DiegoCosta
Посмотреть сообщение
Posso estar errado, mas como muita coisa eu resolvo na base da "tentativa e erro", eu tentaria dessa forma, nesse trecho:
PHP код:
 for(new iMAX_PLAYERS; ++i//troque != por <
    
{
        if(!
IsPlayerNPC(i))
        {
            
playerScores[index][player_Score] = GetPlayerScore(i);
            
playerScores[index++][player_ID] = i;
        }
    } 
Leia a parte sobre "operadores": https://sampwiki.blast.hk/wiki/Controlando_Estruturas
mano tentei do geito que vc postou ficou assim

PRINT:
Reply
#10

Como o PT falou й melhor armazenar os valores em MySQL e tudo se torna muito mais fбcil.
Reply


Forum Jump:


Users browsing this thread: