[Pedido] Uma Mensagem Por Vez
#1

Bom queria enviar uma mensagem por vez do meu ranking

Code:
PHP код:
SetTimer("Ranking",400001);
public 
Ranking(playerid)
{
    new
    
Money,
    
Level,
    
Kill
    
;
    for(new 
0<= 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);

Tб indo as 2 mensagem de uma vez:
PHP код:
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);

Reply
#2

Bem simples.
Aliбs, seu sistema estava meio errado, nгo que nгo iria funcionar, mas ia sempre mostrar o ID 0. Fixado!

Код:
SetTimerEx("Ranking", 40000, 0, "i", 0); 

public Ranking(id) 
{ 
    new 
        value, 
    	Kill,
	String[500],
     	playerid 
    ;

    switch(id)
    {
    	case 0:
    	{
            for(new i = 0; i <= GetPlayerPoolSize(); i++) 
            { 
	        if(GetPlayerScore(i) > value) 
		{ 
		    value = GetPlayerScore(i);
                    playerid = i; 
		}
	    }
            format(String,sizeof(String),"O jogador com maior level online й %s. Level atual : %d",Nome(playerid), value); 
            SendClientMessageToAll(-1,String); 		         
    	}
    	case 1:
    	{
            for(new i = 0; i <= GetPlayerPoolSize(); i++) 
	    {
	        if(GetPlayerMoney(i) > value) 
	        { 
	            value = GetPlayerMoney(i);
                    playerid = i; 
	        }         		
    	    }
            format(String,sizeof(String),"O jogador com mais dinheiro online й %s. Dinheiro atual : %d",Nome(playerid), value); 
	    SendClientMessageToAll(-1,String);     		
    	}  
    }
    SetTimerEx("Ranking", 40000, 0, "i", ++id % 2);
}
Reply
#3

Quote:
Originally Posted by Injury
Посмотреть сообщение
Bem simples.
Aliбs, seu sistema estava meio errado, nгo que nгo iria funcionar, mas ia sempre mostrar o ID 0. Fixado!

Код:
SetTimerEx("Ranking", 40000, 0, "i", 0); 

public Ranking(id) 
{ 
    new 
        value, 
    	Kill,
	String[500],
     	playerid 
    ;

    switch(id)
    {
    	case 0:
    	{
            for(new i = 0; i <= GetPlayerPoolSize(); i++) 
            { 
	        if(GetPlayerScore(i) > value) 
		{ 
		    value = GetPlayerScore(i);
                    playerid = i; 
		}
	    }
            format(String,sizeof(String),"O jogador com maior level online й %s. Level atual : %d",Nome(playerid), value); 
            SendClientMessageToAll(-1,String); 		         
    	}
    	case 1:
    	{
            for(new i = 0; i <= GetPlayerPoolSize(); i++) 
	    {
	        if(GetPlayerMoney(i) > value) 
	        { 
	            value = GetPlayerMoney(i);
                    playerid = i; 
	        }         		
    	    }
            format(String,sizeof(String),"O jogador com mais dinheiro online й %s. Dinheiro atual : %d",Nome(playerid), value); 
	    SendClientMessageToAll(-1,String);     		
    	}  
    }
    SetTimerEx("Ranking", 40000, 0, "i", ++id % 2);
}
Tipo assim se nгo tive nenhum player com level 1 ou com 1 de dinheiro nгo vai mostra tipo Tб la o jogador com mais dinheiro online й %s ai no caso n vai mostra o nick pq ninguem tem 1 de level ou 1 de dinheiro?
Reply
#4

PHP код:
#include <a_samp>
public OnGameModeInit(){
        
SetTimer("Ranking",400001);
        return 
true;
}
forward Ranking(playerid);
public 
Ranking(playerid)
{
    new
        
MoneyID_0,
        
LevelID_1
    
;
    for(new 
0<= GetPlayerPoolSize(); i++)
    {
        if(!
IsPlayerConnected(i)) continue;
        
        if(
GetPlayerScore(i) > Level)
            
Level GetPlayerScore(i), ID_0 i;
    
        if(
GetPlayerMoney(i) > Money)
            
Money GetPlayerMoney(i), ID_1 i;
       
    }
    new
        
Name[MAX_PLAYER_NAME],
        
string[128]
    ;
    
GetPlayerName(ID_0Namesizeof(Name));
    
format(string,sizeof(string),"O jogador com maior level online й %s. Level atual : %d"NameLevel);
    
SendClientMessageToAll(-1,string);
    
GetPlayerName(ID_1Namesizeof(Name));
    
format(string,sizeof(string),"O jogador com mais dinheiro online й %s. Dinheiro atual : %d"NameMoney);
    
SendClientMessageToAll(-1,string);
    
    return 
true;

USE ESSE E IGNORE O RESTO..
Reply
#5

Quote:
Originally Posted by XandyMello
Посмотреть сообщение
PHP код:
#include <a_samp>
public OnGameModeInit(){
        
SetTimer("Ranking",400001);
        return 
true;
}
forward Ranking(playerid);
public 
Ranking(playerid)
{
    new
        
MoneyID_0,
        
LevelID_1
    
;
    for(new 
0<= GetPlayerPoolSize(); i++)
    {
        if(!
IsPlayerConnected(i)) continue;
        
        if(
GetPlayerScore(i) > Level)
            
Level GetPlayerScore(i), ID_0 i;
    
        if(
GetPlayerMoney(i) > Money)
            
Money GetPlayerMoney(i), ID_1 i;
       
    }
    new
        
Name[MAX_PLAYER_NAME],
        
string[128]
    ;
    
GetPlayerName(ID_0Namesizeof(Name));
    
format(string,sizeof(string),"O jogador com maior level online й %s. Level atual : %d"NameLevel);
    
SendClientMessageToAll(-1,string);
    
GetPlayerName(ID_1Namesizeof(Name));
    
format(string,sizeof(string),"O jogador com mais dinheiro online й %s. Dinheiro atual : %d"NameMoney);
    
SendClientMessageToAll(-1,string);
    
    return 
true;

USE ESSE E IGNORE O RESTO..
Tipo entrei com uma conta teste no servidor pelo serve do samp msm pra testa й tava lб
PHP код:
O jogador com maior level online й [TEV]Gabriel.1994Level atual 
se eu sou level zero nгo tinha que aparece meu nick tinha que parace й

PHP код:
O jogador com maior level online й (NinguйmLevel atual 
tendeu amigo?
Reply
#6

Faзa uma condicional...
Reply
#7

Quote:
Originally Posted by FerrariL
Посмотреть сообщение
Faзa uma condicional...
Como?
Reply
#8

Aqui : https://sampforum.blast.hk/showthread.php?tid=467770
Reply
#9

Meu conselho para uma organizaзгo melhor, use uma dialog e separe o ranking de level e dinheiro. Caso tenha dъvidas me contate.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)