SA-MP Forums Archive
[Pedido] Rank Global - 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: [Pedido] Rank Global (/showthread.php?tid=651909)



Rank Global - BrGabrielBr - 30.03.2018

Alguйm pode me passa uma base de um rank global que fala no chat global o player com mais level й tal й tal й atualiza sozinho sem precissar bota /atualizarrank se alguйm tive uma base me manda porfavor precisso muito


Re: Rank Global - FerrariL - 30.03.2018

Olha a lуgica :
Crie uma variбvel global,crie uma funзгo que sera chamada de X em X minutos,nesta funзгo vocк ira fazer um looping para percorrer todos os id's do servidor,vamos supor que vocк deseja ver o level mais alto do servidor naquele momento,entгo vocк iria usar uma condicional if,SE o level do player for maior que A variбvel criada,A variбvel criada ira receber o level do player. Simples assim.
PHP код:
new Maior;
forward Ranking(playerid);
public 
Ranking(playerid)
{
    for(new 
0<= GetPlayerPoolSize(); i++)
    {
        if(
GetPlayerLevel(i) > Maior)
        {
            
Maior GetPlayerLevel(i);
        }
    }

Estude e veja sobre SetTimer.


Re: Rank Global - BrGabrielBr - 31.03.2018

Quote:
Originally Posted by FerrariL
Посмотреть сообщение
Olha a lуgica :
Crie uma variбvel global,crie uma funзгo que sera chamada de X em X minutos,nesta funзгo vocк ira fazer um looping para percorrer todos os id's do servidor,vamos supor que vocк deseja ver o level mais alto do servidor naquele momento,entгo vocк iria usar uma condicional if,SE o level do player for maior que A variбvel criada,A variбvel criada ira receber o level do player. Simples assim.
PHP код:
new Maior;
forward Ranking(playerid);
public 
Ranking(playerid)
{
    for(new 
0<= GetPlayerPoolSize(); i++)
    {
        if(
GetPlayerLevel(i) > Maior)
        {
            
Maior GetPlayerLevel(i);
        }
    }

Estude e veja sobre SetTimer.
Me tira uma duvida boto a mensagem abaixo do Maior = GetplayerLevel ne?


Re: Rank Global - FerrariL - 31.03.2018

Nгo,a mensagem iria repetir vбrias vezes...
O certo seria desse modo :
PHP код:
new Maior
new 
Str[120];
forward Ranking(playerid); 
public 
Ranking(playerid

    for(new 
0<= GetPlayerPoolSize(); i++) 
    { 
        if(
GetPlayerLevel(i) > Maior
        { 
            
Maior GetPlayerLevel(i); 
        } 
    }
    
    
format(Str,sizeof(Str),"O jogador com maior level online й %s. Level atual : %d",SuaFunзгodePegarOnomedoPlayer,Maior);
    
SendClientMessageToAll(-1,Str);




Re: Rank Global - BrGabrielBr - 31.03.2018

Quote:
Originally Posted by FerrariL
Посмотреть сообщение
Nгo,a mensagem iria repetir vбrias vezes...
O certo seria desse modo :
PHP код:
new Maior
new 
Str;
forward Ranking(playerid); 
public 
Ranking(playerid

    for(new 
0<= GetPlayerPoolSize(); i++) 
    { 
        if(
GetPlayerLevel(i) > Maior
        { 
            
Maior GetPlayerLevel(i); 
        } 
    }
    
    
format(Str,sizeof(Str),"O jogador com maior level online й %s. Level atual : %d",SuaFunзгodePegarOnomedoPlayer,Maior);
    
SendClientMessageToAll(-1,Str);

Erros:
PHP код:
C:\Users\Lan\Desktop\Game Mode\gamemodes\Mode.pwn(15779) : error 035argument type mismatch (argument 1)
C:\Users\Lan\Desktop\Game Mode\gamemodes\Mode.pwn(15779) : error 035argument type mismatch (argument 1)
C:\Users\Lan\Desktop\Game Mode\gamemodes\Mode.pwn(15780) : error 035argument type mismatch (argument 2)
C:\Users\Lan\Desktop\Game Mode\gamemodes\Mode.pwn(15782) : warning 203symbol is never used"StrRank" 
Linha dos erros:
PHP код:
format(StrRank,sizeof(StrRank),"O jogador com maior level online й %s. Level atual : %d",GetPlayerScore,Maior);
    
SendClientMessageToAll(-1,StrRank);

Code completo
PHP код:
//topo do gm
new StrRank;
new 
Maior;
public 
Ranking(playerid)
{
    for(new 
0<= GetPlayerPoolSize(); i++)
    {
        if(
GetPlayerScore(i) > Maior)
        {
            
Maior GetPlayerScore(i);
        }
    }
    
format(StrRank,sizeof(StrRank),"O jogador com maior level online й %s. Level atual : %d",GetPlayerScore,Maior);
    
SendClientMessageToAll(-1,StrRank);




Re: Rank Global - BrGabrielBr - 31.03.2018

Alguйm ajuda ae nos erros


Re: Rank Global - FerrariL - 31.03.2018

Do jeito que vocк esta fazendo nгo vai funcionar...
PHP код:
format(StrRank,sizeof(StrRank),"O jogador com maior level online й %s. Level atual : %d",FunзгoNomeDoPlayer,Maior); 
Onde esta FunзгoNomeDoPlayer vocк vai colocar a funзгo do seu gamemode que retorna o nome do jogador. E a variбvel Maior jб esta com o level do player,nгo precisa do GetPlayerLevel.

Outro erro que passou despercebido por minha parte,vocк deve declarar a variбvel StrRank como string,ela esta como inteira. Exemplo :
PHP код:
new StrRank[120]; 



Re: Rank Global - AllanSG - 31.03.2018

Caso nгo tenho nenhuma variбvel de pegar nome, use esta:
PHP код:
stock GetPlayerNameEx(playerid)
{
    new 
Nome[MAX_PLAYER_NAME];
    
GetPlayerName(playeridNomesizeof(Nome));
    return 
Nome;

modo uso
PHP код:
GetPlayerNameEx(playerid
PHP код:
format(StrRank,sizeof(StrRank),"O jogador com maior level online й %s. Level atual : %d",GetPlayerNameEx(i), Maior); 



Re: Rank Global - BrGabrielBr - 31.03.2018

Valeu geral +rep alguйm pode me dizer como faзo pra pega os players offline adaptei meu gm й deixei o rank assim como faзo pra pega os players off

Quote:

// | RANK |
public Ranking(playerid)
{
new
Money,
Level,
Kill
;
for(new i = 0; i <= GetPlayerPoolSize(); i++)
{
if(GetPlayerScore(i) > Level)
{
Level = GetPlayerScore(i);
}
if(GetPlayerMoney(i) > Money)
{
Money = GetPlayerMoney(i);
}
}
new String[500];
format(String,sizeof(String),"O jogador com maior level online й %s. Level atual : %d",Nome(playerid),Level);
SendClientMessageToAll(-1,String);
format(String,sizeof(String),"O jogador com mais dinheiro online й %s. Dinheiro atual : %d",Nome(playerid),Money);
SendClientMessageToAll(-1,String);
}

como faзo pra pegar as contas offline alguйm pode me explicar


Re: Rank Global - Marllun - 31.03.2018

pode falar se tem um salvamento de dinheiro e level na sua gm?