SA-MP Forums Archive
[Ajuda] Salario do jogo indo para um player apenas - 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] Salario do jogo indo para um player apenas (/showthread.php?tid=597041)



Salario do jogo indo para um player apenas - felipelm3g - 26.12.2015

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;




Re: Salario do jogo indo para um player apenas - 99fe3rnando - 26.12.2015

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;




Re: Salario do jogo indo para um player apenas - EditPawn - 26.12.2015

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.


Re: Salario do jogo indo para um player apenas - felipelm3g - 26.12.2015

Deu ainda o mesmo erro


Editado -

Deu certo sim! vlw galera amo vcs!


Re: Salario do jogo indo para um player apenas - ipsLuan - 26.12.2015

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



Re: Salario do jogo indo para um player apenas - felipelm3g - 26.12.2015

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


Re: Salario do jogo indo para um player apenas - EditPawn - 26.12.2015

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;  




Re: Salario do jogo indo para um player apenas - felipelm3g - 27.12.2015

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


Re: Salario do jogo indo para um player apenas - EditPawn - 27.12.2015

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.


Re: Salario do jogo indo para um player apenas - felipelm3g - 27.12.2015

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"