SA-MP Forums Archive
[Ajuda] Sistema de Diminuir dias - 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] Sistema de Diminuir dias (/showthread.php?tid=616567)



Sistema de Diminuir dias - Andinho - 07.09.2016

Explicando melhor, eu quero criar um sistema pra pagar a luz e energia das casas, tipo, atй ai eu acho que consigo de boa criar um sistema de verificar sempre que for 00:00 horas e tals.. mais eu tbm quero criar um sistema de vip, e eu tava penssando aki, como vou fazer isso, pois se o player estiver offline, como vou diminuir a variavel de vip dele ? '-' e de todas as contas ao mesmo tempo? uso DOF2 e gostaria de uma explicaзгo, se possivel for, se nao entendeu minha duvida, eu explico melhor.


Re: Sistema de Diminuir dias - F1N4L - 07.09.2016

Por exemplo, uma das formas que utilizo e funciona sem problema й com gettime()

A lуgica й pegar o tempo atual do gettime e adicionar o tanto de tempo que vc quer, posteriormente vc verifica se o tempo acabou:

Код:
new Tempo;

Tempo = (60 * 60) + gettime();
Neste exemplo, a variбvel Tempo terб 1 hora.

Para finalizar com a dъvida, a verificaзгo se o vip acabou pode ser com um timer para verificar em tempo real se ainda tem ou nгo vip.


Re: Sistema de Diminuir dias - Andinho - 07.09.2016

Quote:
Originally Posted by F1N4L
Посмотреть сообщение
Por exemplo, uma das formas que utilizo e funciona sem problema й com gettime()

A lуgica й pegar o tempo atual do gettime e adicionar o tanto de tempo que vc quer, posteriormente vc verifica se o tempo acabou:

Код:
new Tempo;

Tempo = (60 * 60) + gettime();
Neste exemplo, a variбvel Tempo terб 1 hora.

Para finalizar com a dъvida, a verificaзгo se o vip acabou pode ser com um timer para verificar em tempo real se ainda tem ou nгo vip.
a questгo do gettimer, й bem logica, digamos que serar setado 30 dias de vip ao player, oque eu devo fazer ? gettimer + 30 ? pode dar uma explicaзгo sobre isso? ai no caso, quando o player logar eu iria conferir a data atual com a data que iria acabar o Vip do cara, isso seria bom pra mim, mais como eu salvaria o vip ? tem alguma ideia ?


Re: Sistema de Diminuir dias - RiqueP - 07.09.2016

Nгo. Vocк deve fazer um calculo em segundos de 30 dias.
PHP код:
new tempo gettime() + (60 60 24 30);
/*
60 segundos = 1 minuto
1 minuto vezes 60 = 60 minutos (1 hora)
1 hora vezes 24 = 24 horas (1 dia)
1 dia vezes 30 = 30 dias
*/ 
Para vocк ver se ja expirou o tempo
PHP код:
if(gettime() > tempo)
{
    
// cуdigo




Re: Sistema de Diminuir dias - Andinho - 07.09.2016

Quote:
Originally Posted by RiqueP
Посмотреть сообщение
Nгo. Vocк deve fazer um calculo em segundos de 30 dias.
PHP код:
new tempo gettime() + (60 60 24 30);
/*
60 segundos = 1 minuto
1 minuto vezes 60 = 60 minutos (1 hora)
1 hora vezes 24 = 24 horas (1 dia)
1 dia vezes 30 = 30 dias
*/ 
Para vocк ver se ja expirou o tempo
PHP код:
if(gettime() > tempo)
{
    
// cуdigo

Exatamente oque eu procurava, obg aos 2 +rep


Re: Sistema de Diminuir dias - F1N4L - 08.09.2016

Vou lhe passar alguns macros ъteis para simplificar casos de cбlculo de tempo:
Код:
#define Minutos(%0) 60 * %0
#define Horas(%0) 60 * 60 * %0
#define Dias(%0) 60 * 60 * 24 * %0
#define Semanas(%0) 60 * 60 * 24 * 7 * %0
#define Meses(%0) 60 * 60 * 24 * 30 * %0
#define Anos(%0) 60 * 60 * 24 * 30 * 12 * %0
Caso queira em milissegundos й sу multiplicar por 1000.


Re: Sistema de Diminuir dias - Andinho - 08.09.2016

Quote:
Originally Posted by F1N4L
Посмотреть сообщение
Vou lhe passar alguns macros ъteis para simplificar casos de cбlculo de tempo:
Код:
#define Minutos(%0) 60 * %0
#define Horas(%0) 60 * 60 * %0
#define Dias(%0) 60 * 60 * 24 * %0
#define Semanas(%0) 60 * 60 * 7 * %0
#define Meses(%0) 60 * 60 * 30 * %0
#define Anos(%0) 60 * 60 * 30 * 12 * %0
Caso queira em milissegundos й sу multiplicar por 1000.
Obrigado pela ajuda e pelo esforзo ^^ consegui fazer direitinho aki, muito obg mesmo.


Re: Sistema de Diminuir dias - F1N4L - 08.09.2016

Quote:
Originally Posted by Andinho
Посмотреть сообщение
Obrigado pela ajuda e pelo esforзo ^^ consegui fazer direitinho aki, muito obg mesmo.
Dei edit nos macros, eu me esqueci de multiplicar alguns por 24 (hora), mas agora estгo corretos.