[Ajuda] Salario do jogo indo para um player apenas
#1

Salario ta indo sу para um jogador!Porque?

PHP код:
public OnGameModeInit()
{
    
SetTimer("SalarioJogo"60000true);
    return 
1;
}
forward SalarioJogo(playerid);
public 
SalarioJogo(playerid)
{
    
GetPlayerName(playeridNomesizeof(Nome));
    
format(Stringsizeof(String), CONTASNome);
     if(
PlayerInfo[playerid][Trabalho] == 0)//Desempregado
    
{
         
DOF2_SetInt(String"DinheiroBanco"DOF2_GetInt(String"DinheiroBanco")+200);
        
DOF2_SaveFile();
        
SendClientMessage(playerid0xD8781000"~~~~~~~~~~~~~~~~~ Salario ~~~~~~~~~~~~~~~~~");
        
SendClientMessage(playerid0xFFFFFF00"Por estб conectado vocк recebeu seu salario");
        
SendClientMessage(playerid0xFFFFFF00"Salario: {2B982F}R$200");
        
format(Stringsizeof(String), "Saldo Atual: R$%d",DOF2_GetInt(String"DinheiroBanco")),
        
SendClientMessage(playerid0xFFFFFF00String);
        
SendClientMessage(playerid0xD8781000"~~~~~~~~~~~~~~~~~ Salario ~~~~~~~~~~~~~~~~~");
    }
    if(
PlayerInfo[playerid][Trabalho] == || PlayerInfo[playerid][Trabalho] == || PlayerInfo[playerid][Trabalho] == 3)//Policia Militar
    
{
         
DOF2_SetInt(String"DinheiroBanco"DOF2_GetInt(String"DinheiroBanco")+1500);
        
DOF2_SaveFile();
        
SendClientMessage(playerid0xD8781000"~~~~~~~~~~~~~~~~~ Salario ~~~~~~~~~~~~~~~~~");
        
SendClientMessage(playerid0xFFFFFF00"Por estб conectado vocк recebeu seu salario");
        
SendClientMessage(playerid0xFFFFFF00"Salario: {2B982F}R$1500");
        
format(Stringsizeof(String), "Saldo Atual: R$%d",DOF2_GetInt(String"DinheiroBanco")),
        
SendClientMessage(playerid0xFFFFFF00String);
        
SendClientMessage(playerid0xD8781000"~~~~~~~~~~~~~~~~~ Salario ~~~~~~~~~~~~~~~~~");
    }
    if(
PlayerInfo[playerid][Trabalho] == 12)//Traficante
    
{
         
DOF2_SetInt(String"DinheiroBanco"DOF2_GetInt(String"DinheiroBanco")+500);
        
DOF2_SaveFile();
        
SendClientMessage(playerid0xD8781000"~~~~~~~~~~~~~~~~~ Salario ~~~~~~~~~~~~~~~~~");
        
SendClientMessage(playerid0xFFFFFF00"Por estб conectado vocк recebeu seu salario");
        
SendClientMessage(playerid0xFFFFFF00"Salario: {2B982F}R$500");
        
format(Stringsizeof(String), "Saldo Atual: R$%d",DOF2_GetInt(String"DinheiroBanco")),
        
SendClientMessage(playerid0xFFFFFF00String);
        
SendClientMessage(playerid0xD8781000"~~~~~~~~~~~~~~~~~ Salario ~~~~~~~~~~~~~~~~~");
    }
    if(
PlayerInfo[playerid][Trabalho] == 13)//Assaltante
    
{
         
DOF2_SetInt(String"DinheiroBanco"DOF2_GetInt(String"DinheiroBanco")+800);
        
DOF2_SaveFile();
        
SendClientMessage(playerid0xD8781000"~~~~~~~~~~~~~~~~~ Salario ~~~~~~~~~~~~~~~~~");
        
SendClientMessage(playerid0xFFFFFF00"Por estб conectado vocк recebeu seu salario");
        
SendClientMessage(playerid0xFFFFFF00"Salario: {2B982F}R$800");
        
format(Stringsizeof(String), "Saldo Atual: R$%d",DOF2_GetInt(String"DinheiroBanco")),
        
SendClientMessage(playerid0xFFFFFF00String);
        
SendClientMessage(playerid0xD8781000"~~~~~~~~~~~~~~~~~ Salario ~~~~~~~~~~~~~~~~~");
    }
    if(
PlayerInfo[playerid][Trabalho] == 14)//Terrorista
    
{
         
DOF2_SetInt(String"DinheiroBanco"DOF2_GetInt(String"DinheiroBanco")+1200);
        
DOF2_SaveFile();
        
SendClientMessage(playerid0xD8781000"~~~~~~~~~~~~~~~~~ Salario ~~~~~~~~~~~~~~~~~");
        
SendClientMessage(playerid0xFFFFFF00"Por estб conectado vocк recebeu seu salario");
        
SendClientMessage(playerid0xFFFFFF00"Salario: {2B982F}R$1200");
        
format(Stringsizeof(String), "Saldo Atual: R$%d",DOF2_GetInt(String"DinheiroBanco")),
        
SendClientMessage(playerid0xFFFFFF00String);
        
SendClientMessage(playerid0xD8781000"~~~~~~~~~~~~~~~~~ Salario ~~~~~~~~~~~~~~~~~");
    }
    if(
PlayerInfo[playerid][Trabalho] == 11)//Prefeito
    
{
         
DOF2_SetInt(String"DinheiroBanco"DOF2_GetInt(String"DinheiroBanco")+0);
        
DOF2_SaveFile();
        
SendClientMessage(playerid0xD8781000"~~~~~~~~~~~~~~~~~ Salario ~~~~~~~~~~~~~~~~~");
        
SendClientMessage(playerid0xFFFFFF00"Vocк tem pregilegios Admin e nгo recebeu salario");
        
SendClientMessage(playerid0xFFFFFF00"Salario: {2B982F}R$0");
        
format(Stringsizeof(String), "Saldo Atual: R$%d",DOF2_GetInt(String"DinheiroBanco")),
        
SendClientMessage(playerid0xFFFFFF00String);
        
SendClientMessage(playerid0xD8781000"~~~~~~~~~~~~~~~~~ Salario ~~~~~~~~~~~~~~~~~");
    }
    return 
1;

Reply
#2

PHP код:
public OnGameModeInit()
{
    
SetTimer("SalarioJogo"60000true);
    return 
1;
}
forward SalarioJogo();
public 
SalarioJogo()
{
    for(new 
i=0MAX_PLAYERSi++)
    {
         
GetPlayerName(iNomesizeof(Nome));
         
format(Stringsizeof(String), CONTASNome);
         if(
PlayerInfo[i][Trabalho] == 0)//Desempregado
        
{
             
DOF2_SetInt(String"DinheiroBanco"DOF2_GetInt(String"DinheiroBanco")+200);
            
DOF2_SaveFile();
            
SendClientMessage(i0xD8781000"~~~~~~~~~~~~~~~~~ Salario ~~~~~~~~~~~~~~~~~");
            
SendClientMessage(i0xFFFFFF00"Por estб conectado vocк recebeu seu salario");
            
SendClientMessage(i0xFFFFFF00"Salario: {2B982F}R$200");
            
format(Stringsizeof(String), "Saldo Atual: R$%d",DOF2_GetInt(String"DinheiroBanco")),
            
SendClientMessage(i0xFFFFFF00String);
            
SendClientMessage(i0xD8781000"~~~~~~~~~~~~~~~~~ Salario ~~~~~~~~~~~~~~~~~");
        }
        if(
PlayerInfo[i][Trabalho] == || PlayerInfo[i][Trabalho] == || PlayerInfo[i][Trabalho] == 3)//Policia Militar
        
{
             
DOF2_SetInt(String"DinheiroBanco"DOF2_GetInt(String"DinheiroBanco")+1500);
            
DOF2_SaveFile();
            
SendClientMessage(i0xD8781000"~~~~~~~~~~~~~~~~~ Salario ~~~~~~~~~~~~~~~~~");
            
SendClientMessage(i0xFFFFFF00"Por estб conectado vocк recebeu seu salario");
            
SendClientMessage(i0xFFFFFF00"Salario: {2B982F}R$1500");
            
format(Stringsizeof(String), "Saldo Atual: R$%d",DOF2_GetInt(String"DinheiroBanco")),
            
SendClientMessage(i0xFFFFFF00String);
            
SendClientMessage(i0xD8781000"~~~~~~~~~~~~~~~~~ Salario ~~~~~~~~~~~~~~~~~");
        }
        if(
PlayerInfo[i][Trabalho] == 12)//Traficante
        
{
             
DOF2_SetInt(String"DinheiroBanco"DOF2_GetInt(String"DinheiroBanco")+500);
            
DOF2_SaveFile();
            
SendClientMessage(i0xD8781000"~~~~~~~~~~~~~~~~~ Salario ~~~~~~~~~~~~~~~~~");
            
SendClientMessage(i0xFFFFFF00"Por estб conectado vocк recebeu seu salario");
            
SendClientMessage(i0xFFFFFF00"Salario: {2B982F}R$500");
            
format(Stringsizeof(String), "Saldo Atual: R$%d",DOF2_GetInt(String"DinheiroBanco")),
            
SendClientMessage(i0xFFFFFF00String);
            
SendClientMessage(i0xD8781000"~~~~~~~~~~~~~~~~~ Salario ~~~~~~~~~~~~~~~~~");
        }
        if(
PlayerInfo[i][Trabalho] == 13)//Assaltante
        
{
             
DOF2_SetInt(String"DinheiroBanco"DOF2_GetInt(String"DinheiroBanco")+800);
            
DOF2_SaveFile();
            
SendClientMessage(i0xD8781000"~~~~~~~~~~~~~~~~~ Salario ~~~~~~~~~~~~~~~~~");
            
SendClientMessage(i0xFFFFFF00"Por estб conectado vocк recebeu seu salario");
            
SendClientMessage(i0xFFFFFF00"Salario: {2B982F}R$800");
            
format(Stringsizeof(String), "Saldo Atual: R$%d",DOF2_GetInt(String"DinheiroBanco")),
            
SendClientMessage(i0xFFFFFF00String);
            
SendClientMessage(i0xD8781000"~~~~~~~~~~~~~~~~~ Salario ~~~~~~~~~~~~~~~~~");
        }
        if(
PlayerInfo[i][Trabalho] == 14)//Terrorista
        
{
             
DOF2_SetInt(String"DinheiroBanco"DOF2_GetInt(String"DinheiroBanco")+1200);
            
DOF2_SaveFile();
            
SendClientMessage(i0xD8781000"~~~~~~~~~~~~~~~~~ Salario ~~~~~~~~~~~~~~~~~");
            
SendClientMessage(i0xFFFFFF00"Por estб conectado vocк recebeu seu salario");
            
SendClientMessage(i0xFFFFFF00"Salario: {2B982F}R$1200");
            
format(Stringsizeof(String), "Saldo Atual: R$%d",DOF2_GetInt(String"DinheiroBanco")),
            
SendClientMessage(i0xFFFFFF00String);
            
SendClientMessage(i0xD8781000"~~~~~~~~~~~~~~~~~ Salario ~~~~~~~~~~~~~~~~~");
        }
        if(
PlayerInfo[i][Trabalho] == 11)//Prefeito
        
{
             
DOF2_SetInt(String"DinheiroBanco"DOF2_GetInt(String"DinheiroBanco")+0);
            
DOF2_SaveFile();
            
SendClientMessage(i0xD8781000"~~~~~~~~~~~~~~~~~ Salario ~~~~~~~~~~~~~~~~~");
            
SendClientMessage(i0xFFFFFF00"Vocк tem pregilegios Admin e nгo recebeu salario");
            
SendClientMessage(i0xFFFFFF00"Salario: {2B982F}R$0");
            
format(Stringsizeof(String), "Saldo Atual: R$%d",DOF2_GetInt(String"DinheiroBanco")),
            
SendClientMessage(i0xFFFFFF00String);
            
SendClientMessage(i0xD8781000"~~~~~~~~~~~~~~~~~ Salario ~~~~~~~~~~~~~~~~~");
        }
    }
    return 
1;

Reply
#3

Se vocк tenta fazer um timer em uma callback com parametro e nгo seta valor a esse parametro, ele ficarб Zero, por isso sу um jogador estб recebendo o salбrio, o que tem que fazer й verificar todos os jogadores.

Troque sua callback por essa.

PHP код:
forward SalarioJogo(); 
public 
SalarioJogo()

    for(new 
i!= MAX_PLAYERSi++)
    {
        
GetPlayerName(iNomesizeof(Nome)); 
        
format(Stringsizeof(String), CONTASNome); 
        if(
PlayerInfo[i][Trabalho] == 0)//Desempregado 
        

            
DOF2_SetInt(String"DinheiroBanco"DOF2_GetInt(String"DinheiroBanco")+200); 
            
DOF2_SaveFile(); 
            
SendClientMessage(i0xD8781000"~~~~~~~~~~~~~~~~~ Salario ~~~~~~~~~~~~~~~~~"); 
            
SendClientMessage(i0xFFFFFF00"Por estб conectado vocк recebeu seu salario"); 
            
SendClientMessage(i0xFFFFFF00"Salario: {2B982F}R$200"); 
            
format(Stringsizeof(String), "Saldo Atual: R$%d",DOF2_GetInt(String"DinheiroBanco")), 
            
SendClientMessage(i0xFFFFFF00String); 
            
SendClientMessage(i0xD8781000"~~~~~~~~~~~~~~~~~ Salario ~~~~~~~~~~~~~~~~~"); 
        } 
        if(
PlayerInfo[i][Trabalho] == || PlayerInfo[i][Trabalho] == || PlayerInfo[i][Trabalho] == 3)//Policia Militar 
        

            
DOF2_SetInt(String"DinheiroBanco"DOF2_GetInt(String"DinheiroBanco")+1500); 
            
DOF2_SaveFile(); 
            
SendClientMessage(i0xD8781000"~~~~~~~~~~~~~~~~~ Salario ~~~~~~~~~~~~~~~~~"); 
            
SendClientMessage(i0xFFFFFF00"Por estб conectado vocк recebeu seu salario"); 
            
SendClientMessage(i0xFFFFFF00"Salario: {2B982F}R$1500"); 
            
format(Stringsizeof(String), "Saldo Atual: R$%d",DOF2_GetInt(String"DinheiroBanco")), 
            
SendClientMessage(i0xFFFFFF00String); 
            
SendClientMessage(i0xD8781000"~~~~~~~~~~~~~~~~~ Salario ~~~~~~~~~~~~~~~~~"); 
        } 
        if(
PlayerInfo[i][Trabalho] == 12)//Traficante 
        

            
DOF2_SetInt(String"DinheiroBanco"DOF2_GetInt(String"DinheiroBanco")+500); 
            
DOF2_SaveFile(); 
            
SendClientMessage(i0xD8781000"~~~~~~~~~~~~~~~~~ Salario ~~~~~~~~~~~~~~~~~"); 
            
SendClientMessage(i0xFFFFFF00"Por estб conectado vocк recebeu seu salario"); 
            
SendClientMessage(i0xFFFFFF00"Salario: {2B982F}R$500"); 
            
format(Stringsizeof(String), "Saldo Atual: R$%d",DOF2_GetInt(String"DinheiroBanco")), 
            
SendClientMessage(i0xFFFFFF00String); 
            
SendClientMessage(i0xD8781000"~~~~~~~~~~~~~~~~~ Salario ~~~~~~~~~~~~~~~~~"); 
        } 
        if(
PlayerInfo[i][Trabalho] == 13)//Assaltante 
        

            
DOF2_SetInt(String"DinheiroBanco"DOF2_GetInt(String"DinheiroBanco")+800); 
            
DOF2_SaveFile(); 
            
SendClientMessage(i0xD8781000"~~~~~~~~~~~~~~~~~ Salario ~~~~~~~~~~~~~~~~~"); 
            
SendClientMessage(i0xFFFFFF00"Por estб conectado vocк recebeu seu salario"); 
            
SendClientMessage(i0xFFFFFF00"Salario: {2B982F}R$800"); 
            
format(Stringsizeof(String), "Saldo Atual: R$%d",DOF2_GetInt(String"DinheiroBanco")), 
            
SendClientMessage(i0xFFFFFF00String); 
            
SendClientMessage(i0xD8781000"~~~~~~~~~~~~~~~~~ Salario ~~~~~~~~~~~~~~~~~"); 
        } 
        if(
PlayerInfo[i][Trabalho] == 14)//Terrorista 
        

            
DOF2_SetInt(String"DinheiroBanco"DOF2_GetInt(String"DinheiroBanco")+1200); 
            
DOF2_SaveFile(); 
            
SendClientMessage(i0xD8781000"~~~~~~~~~~~~~~~~~ Salario ~~~~~~~~~~~~~~~~~"); 
            
SendClientMessage(i0xFFFFFF00"Por estб conectado vocк recebeu seu salario"); 
            
SendClientMessage(i0xFFFFFF00"Salario: {2B982F}R$1200"); 
            
format(Stringsizeof(String), "Saldo Atual: R$%d",DOF2_GetInt(String"DinheiroBanco")), 
            
SendClientMessage(i0xFFFFFF00String); 
            
SendClientMessage(i0xD8781000"~~~~~~~~~~~~~~~~~ Salario ~~~~~~~~~~~~~~~~~"); 
        } 
        if(
PlayerInfo[i][Trabalho] == 11)//Prefeito 
        

            
DOF2_SetInt(String"DinheiroBanco"DOF2_GetInt(String"DinheiroBanco")+0); 
            
DOF2_SaveFile(); 
            
SendClientMessage(i0xD8781000"~~~~~~~~~~~~~~~~~ Salario ~~~~~~~~~~~~~~~~~"); 
            
SendClientMessage(i0xFFFFFF00"Vocк tem pregilegios Admin e nгo recebeu salario"); 
            
SendClientMessage(i0xFFFFFF00"Salario: {2B982F}R$0"); 
            
format(Stringsizeof(String), "Saldo Atual: R$%d",DOF2_GetInt(String"DinheiroBanco")), 
            
SendClientMessage(i0xFFFFFF00String); 
            
SendClientMessage(i0xD8781000"~~~~~~~~~~~~~~~~~ Salario ~~~~~~~~~~~~~~~~~"); 
        }
    }
    return 
1

@EDIT
Nгo tinha visto o cara ali em cima, mas a explicaзгo fica valendo.
Reply
#4

Deu ainda o mesmo erro


Editado -

Deu certo sim! vlw galera amo vcs!
Reply
#5

PHP код:
SetTimer("SalarioJogo"60000true); 
PHP код:
SetTimerEx("SalarioJogo"60000true"i"playerid); 
Reply
#6

sу o valor que ta errado agora, nao sei por que...
invez de setar 200 reais ta setando 100000

Print - http://i.imgur.com/1rzKr1A.png
Reply
#7

Troque sua callback por essa, irб aparecer um debug no console com as informaзхes, assim vocк pode ver o que estб errado.

PHP код:
forward SalarioJogo();  
public 
SalarioJogo() 
{  
    new 
salario;
    for(new 
i!= MAX_PLAYERSi++) 
    { 
        
GetPlayerName(iNomesizeof(Nome));  
        
format(Stringsizeof(String), CONTASNome);
        switch(
PlayerInfo[i][Trabalho]) {
            case 
0salario 200;
            case 
.. 3salario 1500;
            case 
12salario 500;
            case 
13salario 800;
            case 
14salario 1200;
            case 
11salario 0;
            default: continue;
        }
        print(
"DEBUG");
        
printf("Id do Trabalho: %i"PlayerInfo[i][Trabalho]);
        
printf("Dinheiro atual: %i"DOF2_GetInt(String"DinheiroBanco"));
        
printf("Salario: %i"salario);
        
DOF2_SetInt(String"DinheiroBanco"DOF2_GetInt(String"DinheiroBanco") + salario);  
        
DOF2_SaveFile();
        
SendClientMessage(i0xD8781000"~~~~~~~~~~~~~~~~~ Salario ~~~~~~~~~~~~~~~~~");  
        if(
PlayerInfo[i][Trabalho] == 11SendClientMessage(i0xFFFFFF00"Vocк tem pregilegios Admin e nгo recebeu salario");
        else 
SendClientMessage(i0xFFFFFF00"Por estб conectado vocк recebeu seu salario");           
        
format(Stringsizeof(String), "Salario: {2B982F}R$%i"salario), 
        
SendClientMessage(i0xFFFFFF00String); 
        
format(Stringsizeof(String), "Saldo Atual: R$%d",DOF2_GetInt(String"DinheiroBanco")),  
        
SendClientMessage(i0xFFFFFF00String);  
        
SendClientMessage(i0xD8781000"~~~~~~~~~~~~~~~~~ Salario ~~~~~~~~~~~~~~~~~"); 
    }
    return 
1;  

Reply
#8

Deu erro irmao... o salario atual fica 0 e os valores continua setando muito..
Reply
#9

Quote:
Originally Posted by felipelm3g
Посмотреть сообщение
Deu erro irmao... o salario atual fica 0 e os valores continua setando muito..
Poste o que printou no seu console, para saber os valores das variбveis e saber onde estб o problema.
Reply
#10

Estava sу um player conectado

Print Console - http://i.imgur.com/Ji36XLj.png
Print Game - http://i.imgur.com/LxoRKMd.png

PS: Aparece 0 no saldo atual mais altera no arquivo
"DinheiroBanco = 300000"
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)