[Ajuda] Pagamento Mensal
#1

Olб, bom eu estava pensando em elaborar pro meu servidor um sistema de pagamento mensal mais eu nгo sei exatamente como lhe dar como salvar uma data e daqui a 30 dias a pessoa ser descontada tanto de dinheiro alguйm poderia elaborar uma base para mim ver como pode ser feito ? ou entгo me dizer as funзхes usadas ...
Reply
#2

pawn Код:
#define minutos(%0) (1000 * %0 * 60)
#define horas(%0) (1000 * %0 * 60 * 60)
#define segundos(%0) (1000 * %0)
#define dias(%0) (1000 * %0 * 60 * 60  * 24)
#define semanas(%0) (1000 * %0 * 60 * 60  * 24 * 7)
#define meses(%0) (1000 * %0 * 60 * 60  * 24 * 30)
#define anos(%0) (1000 * %0 * 60 * 60  * 24 * 30 * 12)
#define decadas(%0) (1000 * %0 * 60 * 60  * 24 * 30 * 12 * 10)
#define seculos(%0) (1000 * %0 * 60 * 60  * 24 * 30 * 12 * 10 * 10)  


minutos(1) // 1 minuto
horas(1) // 1 hora
segundos(1) // 1 segundo
dias(1) // 1 dia
semanas(1) // 1 semana
meses(1) // 1 mкs
anos(1) // 1 ano
decadas(1) // 1 decada
seculos(1)  // 1 seculo
Porйm й claro que nгo vamos confiar nisso nй? alйm de poder haver delay, um simples GMX quebra tudo isso.

O pessoal daqui usa SetTimer's pra tudo.

Por isso a Wiki-SAMP descreve em uma funзгo:
Tip: This function is useful for measuring time intervals by using its timestamp characteristics. This can be particularly useful if you want to restrict some functionality based on a time (e.g. a command that can only be executed every 30 seconds). Using this method you don't have to rely on timers.

Ela estб falando do Gettime. Entretanto o seu caso й a cada 30 dias. Utilize Getdate. :P
Reply
#3

Jhonatan entгo ele vai usar o
Getdate(dia, mes, ano)
mais claro o comando completo tipo

Exemplo:
pawn Код:
if (strcmp("/payday", cmdtext, true, 10) == 0)
    {
        SendClientMessage(playerid,0xFFB400FF, "Vocк digitou um command e morreu =O");
        GetPlayerMoney(playerid, 10000);
        new rand = random(sizeof(Cachorro));
        new string[128];
        format(string, sizeof(string),"[EX] Todos receberam seu salario parabens", Cachorro[rand]);
        SendClientMessageToAll(playerid, 0xFFB400FF,string);
        return 1;
    }
    return 0;
 }
Depois disso adicionar o Getdate ou o Gettime bom acho que й isso tem algum geito de deixar o command automatico ??

#Edit
Reply
#4

Por que formatar uma mensagem sem variбvel alguma?
e ainda string[128] sendo que nem usa 50.
e sу quem digitou o comando recebe o dinheiro.
Reply
#5

Entгo wendel queria saber para o comando ser automarico para o servidor inteiro
Reply
#6

pawn Код:
if (strcmp("/payday", cmdtext, true, 8) == 0)
{
     for(new i; i < MAX_PLAYERS; ++i) GivePlayerMoney(i, 10000);
     SendClientMessageToAll(0xFFB400FF, " [EX] Todos receberam seu salario, parabйns!");
     return 1;
}


// ou

// topo
#define horas(%0) (1000 * %0 * 60 * 60)

//OnGameModeInit
SetTimer("PayDay", horas(1), true);

// final
forward PayDay()
public PayDay()
{
     for(new i; i < MAX_PLAYERS; ++i) GivePlayerMoney(i, 10000);
     SendClientMessageToAll(0xFFB400FF, " [EX] Todos receberam seu salario, parabйns!");
     return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)