[ajuda] Pagamento diario nгo funciona mais
#1

Bem amigos tenho evitado colocar aqui as minhas duvidas e tentando resolver sozinho! Mas esta esta a dar comigo em maluco!

Tenho um sistema que de 30 em 30 minutos paga 250 a cada jogador Online! ele funcionava na perfeiзгo mas de um momento para o outro deixou de funcionar!

public OnGameModeInit()
pawn Код:
SetTimer("PagDia",1000*60*30,true);
pawn Код:
forward PagDia(playerid);
public PagDia(playerid)
{
     for(new e=0;e<GetMaxPlayers();e++) {
          if(IsPlayerConnected(e)) {
          SendClientMessage(e,COR_PRETO," ____________________________");
          GivePlayerMoney(e,250);
          SendClientMessage(e,servidor," Recebes-te 250 do {FF2EE0}Governo.");
          SendClientMessage(e,COR_PRETO," ____________________________");
          }
     }
     return 1;
}
Alguem me ajuda PF ?

++REP
Reply
#2

Quote:
Originally Posted by Rick_DR
Посмотреть сообщение
Bem amigos tenho evitado colocar aqui as minhas duvidas e tentando resolver sozinho! Mas esta esta a dar comigo em maluco!

Tenho um sistema que de 30 em 30 minutos paga 250 a cada jogador Online! ele funcionava na perfeiзгo mas de um momento para o outro deixou de funcionar!

public OnGameModeInit()
pawn Код:
SetTimer("PagDia",1000*60*30,true);
pawn Код:
forward PagDia(playerid);
public PagDia(playerid)
{
     for(new e=0;e<GetMaxPlayers();e++) {
          if(IsPlayerConnected(e)) {
          SendClientMessage(e,COR_PRETO," ____________________________");
          GivePlayerMoney(e,250);
          SendClientMessage(e,servidor," Recebes-te 250 do {FF2EE0}Governo.");
          SendClientMessage(e,COR_PRETO," ____________________________");
          }
     }
     return 1;
}
Alguem me ajuda PF ?

++REP
Topo do gm:
pawn Код:
#define Loop(%0,%1) \
    for(new %0 = 0; %0 != %1; %0++)

#define dpublic%0(%1) \
    forward%0(%1); public%0(%1)
proximo a uma callback
pawn Код:
dpublic PagDia()
{
    Loop(e, MAX_PLAYERS)
    {
        if(IsPlayerConnected(e))
        {
            SendClientMessage(e, COR_PRETO," ____________________________");
            SendClientMessage(e, servidor, " Recebes-te 250 do {FF2EE0}Governo.");
            SendClientMessage(e,COR_PRETO," ____________________________");
            GivePlayerMoney(e, 250);
        }
    }
    return 1;
}
Voce havia posto (playerid) e usava loop ... isso й errado.

deleta sua forward , public (PagDia) acicione o codigo acima!

Abracos

Espero ter ajudado
Reply
#3

A contagem й iniciada quando o GM й iniciado .



Isso significa que se vocк ligar o seu servidor бs 6:10, os jogadores vгo receber o dinheiro бs 6:40, 7:10, 7:40, etc .



Se й assim que vocк quer que o cуdigo trabalhe, coloque:


pawn Код:
//No OnGameModeInit:

SetTimer("PagDia", 1800000, true);


//No Final do GM:

forward PagDia();
public PagDia()
{
     for(new x = 0, y = GetMaxPlayers(); x != y; x++)
     {
        if(!IsPlayerConnected(x)) continue;
        SendClientMessage(x, COR_PRETO, " ____________________________");
        GivePlayerMoney(x, 250);
        SendClientMessage(x, servidor, " Recebes-te 250 do {FF2EE0}Governo.");
        SendClientMessage(x, COR_PRETO, " ____________________________");
     }
     return true;
}


Caso queira que ele funcione obedecendo a sequкncia: 7:00, 7:30, 8:00, 8:30, 9:00, e assim por diante, coloque :


pawn Код:
//No OnGameModeInit:

SetTimer("PagDia", 1000, true);


//No Final do GM:

forward PagDia();
public PagDia()
{
    new Horario[3];
    gettime(Horario[0], Horario[1], Horario[2]);
    if((Horario[1] == 0 && Horario[2] == 0) | (Horario[1] == 30 && Horario[2] == 0))
    {
        for(new x = 0, y = GetMaxPlayers(); x != y; x++)
        {
            if(!IsPlayerConnected(x)) continue;
            SendClientMessage(x, COR_PRETO, " ____________________________");
            GivePlayerMoney(x, 250);
            SendClientMessage(x, servidor, " Recebes-te 250 do {FF2EE0}Governo.");
            SendClientMessage(x, COR_PRETO, " ____________________________");
        }
    }
    return true;
}


Espero ter ajudado .
Reply
#4

u.u



um dia eu chego la ^^
Reply
#5

Obrigado aos dois, vou testar as duas ! ++ REP para quem me ajudou
Reply
#6

Pra nгo criar outro tipocio , como funcionaria para envez de 30 Minutos a cada 1 Hora?

Mais desta forma:
PHP код:
//No OnGameModeInit:

SetTimer("PagDia"1000true);


//No Final do GM:

forward PagDia();
public 
PagDia()
{
    new 
Horario[3];
    
gettime(Horario[0], Horario[1], Horario[2]);
    if((
Horario[1] == && Horario[2] == 0) | (Horario[1] == 30 && Horario[2] == 0))
    {
        for(new 
0GetMaxPlayers(); != yx++)
        {
            if(!
IsPlayerConnected(x)) continue;
            
SendClientMessage(xCOR_PRETO" ____________________________");
            
GivePlayerMoney(x250);
            
SendClientMessage(xservidor" Recebes-te 250 do {FF2EE0}Governo.");
            
SendClientMessage(xCOR_PRETO" ____________________________");
        }
    }
    return 
true;

Vlws...
Reply
#7

Quote:
Originally Posted by [R] ousenber [K]
Посмотреть сообщение
Pra nгo criar outro tipocio , como funcionaria para envez de 30 Minutos a cada 1 Hora?

Vlws...
deixe o codigo assim:


PHP код:
//by rjjj
//No OnGameModeInit:
SetTimer("PagDia"1000true);
//No Final do GM:
forward PagDia();
public 
PagDia()
{
    new 
Horario[3];
    
gettime(Horario[0], Horario[1], Horario[2]);
    if(
Horario[1] == && Horario[2] == 0)
    {
        for(new 
0GetMaxPlayers(); != yx++)
        {
            if(!
IsPlayerConnected(x)) continue;
            
SendClientMessage(xCOR_PRETO" ____________________________");
            
GivePlayerMoney(x250);
            
SendClientMessage(xservidor" Recebes-te 250 do {FF2EE0}Governo.");
            
SendClientMessage(xCOR_PRETO" ____________________________");
        }
    }
    return 
true;

Reply
#8

RJJJ o que voce me passou, nao funcionou aqui o tal de dar os 250 as 7 , 7.30 , 8
Reply
#9

Quote:
Originally Posted by Rick_DR
Посмотреть сообщение
RJJJ o que voce me passou, nao funcionou aqui o tal de dar os 250 as 7 , 7.30 , 8
Testei o cуdigo e este funcionou sem problemas .



Coloque a linha do SetTimer no comeзo do OnGameModeInit.



Espero ter ajudado .
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)