[DUV] Tempo para receber o Salбrio (RESOLVIDO = SuB_ZeRo0_)
#1

Bom, uma das coisas que eu busquei na internet foi esse sistema de salбrio, e sei que tem alguma coisa errada com ele, pois o player nгo recebe o salбrio de 30 em 30 minutos. Vou postar aqui as linhas que acho que sгo do sistema de salario (Acho por que nгo me lembro quais eram, isso foi uma das primeiras coisas que coloquei no GM):

pawn Код:
//Inicio
forward Tempo();

public OnGameModeInit()
{
//Tem isso aqui antes desse SetTimer, mais nгo sei se tem alguma coisa a ver: fclose(temp);

SetTimer("Tempo", 1800000, true);
    return 1;
}

public Tempo()
{
    worldTime++;
    worldTime%=24;
    SetWorldTime(worldTime);
   
    for(new i=0; i<MAX_PLAYERS; i++) {
        if(worldTime==0){
            if(IsPlayerConnected(i)){
                if(Profissao[i] == DESEMPREGADO) {
                    SendClientMessage(i, COLOR_YELLOW, "UP salбrio +: $545");
                    SendClientMessage(i, COLOR_YELLOW, "Vк se arranja emprego, vagabundo!");
                     pap_SalvarInt(i, "Dinheiro_banco", pap_CarregarInt(i, "Dinheiro_banco") + 545);
                 }
//Pegeui sу o da 1Є profissгo

            }
        }
    }
}
Aliбs, nгo sei se isso tem alguma cosia a ver e tal, mas como coloco para o tempo mudar sozinho de acordo com a hora?
Reply
#2

Tenta Ver com Protioso ele Entende muito bem da Include dele. rs

Caso nгo consiga usar Dini para mim й bem facil,veja meus tutos xD
Reply
#3

Quote:
Originally Posted by DraKoNeoN
Tenta Ver com Protioso ele Entende muito bem da Include dele. rs

Caso nгo consiga usar Dini para mim й bem facil,veja meus tutos xD
Tipo, isso nem tem nada a ver com o include, й que o player nгo estб recebendo o salбrio, tipo, a funзгo nгo estб sendo executada
Reply
#4

pawn Код:
//Inicio
forward Tempo();

public OnGameModeInit()
{
//Tem isso aqui antes desse SetTimer, mais nгo sei se tem alguma coisa a ver: fclose(temp);//NADA HAVER xD

SetTimer("Tempo", 1800000, true);
return 1;
}

public Tempo()
{
worldTime++;
worldTime%=24;
SetWorldTime(worldTime);

for(new i=0; i<MAX_PLAYERS; i++) {
if(worldTime==0){
if(IsPlayerConnected(i)){
if(Profissao[i] == DESEMPREGADO) {
SendClientMessage(i, COLOR_YELLOW, "UP salбrio +: $545");
SendClientMessage(i, COLOR_YELLOW, "Vк se arranja emprego, vagabundo!");
pap_SalvarInt(i, "Dinheiro_banco", pap_CarregarInt(i, "Dinheiro_banco") + 545);
 }
//Peguei** sу o da 1Є profissгo
}
}
}
}
Como irб Pagar se nгo tem GivePlayerMoney?
Reply
#5

Quote:
Originally Posted by DraKoNeoN
pawn Код:
//Inicio
forward Tempo();

public OnGameModeInit()
{
//Tem isso aqui antes desse SetTimer, mais nгo sei se tem alguma coisa a ver: fclose(temp);//NADA HAVER xD

SetTimer("Tempo", 1800000, true);
return 1;
}

public Tempo()
{
worldTime++;
worldTime%=24;
SetWorldTime(worldTime);

for(new i=0; i<MAX_PLAYERS; i++) {
if(worldTime==0){
if(IsPlayerConnected(i)){
if(Profissao[i] == DESEMPREGADO) {
SendClientMessage(i, COLOR_YELLOW, "UP salбrio +: $545");
SendClientMessage(i, COLOR_YELLOW, "Vк se arranja emprego, vagabundo!");
pap_SalvarInt(i, "Dinheiro_banco", pap_CarregarInt(i, "Dinheiro_banco") + 545);
 }
//Peguei** sу o da 1Є profissгo
}
}
}
}
Como irб Pagar se nгo tem GivePlayerMoney?
GivePlayerMoney й para o dinheiro em Mгos certo?

o pap_SalvarInt vai salvar o dineheiro do salario na conta do infeliz

O que estб acontecendo й que nem o aviso de que recebeu o salбrio o infeliz recebe. Entendeu? Й como se a funзгo nхa tivesse sido executada.
Reply
#6

Tenta Algo Assim, Se Pudesse Postar Bem Certo as variaveis do Sitema teria Quase Certeza que poderia lhe ajudar por enquanto tente isto:
Usando Dini
pawn Код:
//Inicio
#define _DESEMPREGADO_ "Dinheiro_banco.txt"
#include <Dini>
forward Tempo();
new CONTA_DESEMPREGADO_[MAX_PLAYERS];
public OnGameModeInit()
{
SetTimer("Tempo", 1800000, true);
return 1;
}
public Tempo()
{
worldTime++;
worldTime%=24;
SetWorldTime(worldTime);
for(new i=0; i<MAX_PLAYERS; i++) {
if(worldTime==0){
if(IsPlayerConnected(i)){
if(Profissao[i] == DESEMPREGADO) {
SendClientMessage(i, COLOR_YELLOW, "UP salбrio +: $545");
SendClientMessage(i, COLOR_YELLOW, "Vк se arranja emprego, vagabundo!");
CONTA_DESEMPREGADO_[playerid] = CONTA_DESEMPREGADO_[playerid]+545;//AUMENTA CONTA
if(!dini_Exists(_DESEMPREGADO_))//
{
dini_Create(_DESEMPREGADO_);
dini_IntSet(_DESEMPREGADO_, "Dinheiro_banco", 0);
dini_IntSet(_DESEMPREGADO_, "Dinheiro_banco", CONTA_DESEMPREGADO_[playerid]);//SALVA DINHEIRO BANCO
}
}
CONTA_DESEMPREGADO_[playerid] = dini_Int(StatsFile, "Dinheiro_banco");//LК DINHEIRO BANCO
//Peguei** sу o da 1Є profissгo
}
}
}
}
@EDIT: Se o Problema nгo esta no salvamento, entгo tente substituir por SetTimerEx xD
Reply
#7

Quote:
Originally Posted by DraKoNeoN
Tenta Algo Assim, Se Pudesse Postar Bem Certo as variaveis do Sitema teria Quase Certeza que poderia lhe ajudar por enquanto tente isto:

pawn Код:
//Inicio
#define _DESEMPREGADO_ "Dinheiro_banco.txt"
forward Tempo();
new CONTA_DESEMPREGADO_[MAX_PLAYERS];
public OnGameModeInit()
{
SetTimer("Tempo", 1800000, true);
return 1;
}
public Tempo()
{
worldTime++;
worldTime%=24;
SetWorldTime(worldTime);
for(new i=0; i<MAX_PLAYERS; i++) {
if(worldTime==0){
if(IsPlayerConnected(i)){
if(Profissao[i] == DESEMPREGADO) {
SendClientMessage(i, COLOR_YELLOW, "UP salбrio +: $545");
SendClientMessage(i, COLOR_YELLOW, "Vк se arranja emprego, vagabundo!");
CONTA_DESEMPREGADO_[playerid] = DESEMPREGADO[playerid]+545;//AUMENTA CONTA
if(!dini_Exists(_DESEMPREGADO_))//
{
dini_Create(_DESEMPREGADO_);
dini_IntSet(_DESEMPREGADO_, "Dinheiro_banco", 0);
dini_IntSet(_DESEMPREGADO_, "Dinheiro_banco", CONTA_DESEMPREGADO_[playerid]);//SALVA DINHEIRO BANCO
}
}
CONTA_DESEMPREGADO_[playerid] = dini_Int(StatsFile, "Dinheiro_banco");//LК DINHEIRO BANCO
//Peguei** sу o da 1Є profissгo
}
}
}
}
DraKoN o problema nгo estб no salvamento, com certeza, jб testei com outros comandos, estб salvando perfeito o dinheiro em mгos e o do banco.

O Problema й que a public se nгo me engano, nгo estб sendo executada, a funзгo nгo estб sendo chamada. Dб para ver que й isso, por que fiquei 30 minutos on no servidor, e nгo apareceu nada, era para aparecer que eu recebi o salбrio, mas nem isso apareceu.

Entendeu agora?
Reply
#8

Tenta:

pawn Код:
//Inicio
forward Tempo();

public OnGameModeInit()
{
//Tem isso aqui antes desse SetTimer, mais nгo sei se tem alguma coisa a ver: fclose(temp);

SetTimer("Tempo", 1800000, true);
    return 1;
}

public Tempo()
{
    worldTime++;
    worldTime%=24;
    SetWorldTime(worldTime);
   
        for(new i=0; i<MAX_PLAYERS; i++) {
            if(IsPlayerConnected(i)){
                if(Profissao[i] == DESEMPREGADO) {
                    SendClientMessage(i, COLOR_YELLOW, "UP salбrio +: $545");
                    SendClientMessage(i, COLOR_YELLOW, "Vк se arranja emprego, vagabundo!");
                     pap_SalvarInt(i, "Dinheiro_banco", pap_CarregarInt(i, "Dinheiro_banco") + 545);
                 }
//Pegeui sу o da 1Є profissгo

            }
    }
}
E o do setar tempo com horбrio real:

pawn Код:
//OnGameModeInit:
SetTimer("MTempo",10000,true);

//Public:
forward MTempo();
public MTempo() {
 new hora,min,sec;
 gettime(hora,min,sec);
 SetWorldTime(hora);
 return 1;
}
Reply
#9

Sу por isso:

pawn Код:
if(worldTime==0){
Tinha bugado?

PQP, cada vez eu fica mas indignado com o pawn. Se vocк nгo coloca um }{ dб trocentos erros

Funcionou aqui, obrigado ae!
Reply
#10

Quote:
Originally Posted by [NWD
Black_Alien ]
Sу por isso:

pawn Код:
if(worldTime==0){
Tinha bugado?

PQP, cada vez eu fica mas indignado com o pawn. Se vocк nгo coloca um }{ dб trocentos erros

Funcionou aqui, obrigado ae!
O worldTime checkava se o horбrio era as 00hs. ^^
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)