SA-MP Forums Archive
[Include] msto.inc - Converta milissegundos facilmente. - 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)
+----- Forum: Lançamentos/Releases (https://sampforum.blast.hk/forumdisplay.php?fid=56)
+----- Thread: [Include] msto.inc - Converta milissegundos facilmente. (/showthread.php?tid=467073)



msto.inc - Converta milissegundos facilmente. - zPain - 01.10.2013

Introduзгo:
Bem, nгo hб muito o que dizer sobre a include, jб que й extremamente simples. Ela converte milissegundos em segundos atй semanas. Fiz mais pra continuar praticando #emit que estou aprendendo nos tutoriais do ipsBruno.


Cуdigo fonte:
pawn Код:
#include <a_samp>


#if defined msto_included
    #endinput
#endif


#define msto_included
#pragma library msto



enum E_CONVERT {
    SECONDS     = 1000,
    MINUTES     = 60000,
    HOURS       = 3600000,
    DAYS        = 86400000,
    WEEKS       = 604800000
}


stock msTo(ms, E_CONVERT:to) {

    #emit LOAD.S.PRI ms
    #emit LOAD.S.ALT to
   
    #emit SDIV
    #emit RETN
    return 0;
}


stock toMs(x, E_CONVERT:from) {
    #emit LOAD.S.PRI x
    #emit LOAD.S.ALT from
   
    #emit SMUL
    #emit RETN
    return 0;
}


Teste:
pawn Код:
#include <a_samp>
#include <msto>


main()
{
    printf("%d", msTo(86400000, DAYS));     // 1
    printf("%d", msTo(86400000, HOURS));    // 24
    printf("%d", msTo(86400000, MINUTES));  // 1440
    printf("%d", msTo(86400000, SECONDS));  // 86400
}


Download:
http://pastebin.com/4DYmqQxk



Consideraзхes finais:
Espero que seja ъtil a alguйm.
Abraзos a todos.


Re: msto.inc - Converta milissegundos facilmente. - Schocc - 01.10.2013

2.147.483.647


Re: msto.inc - Converta milissegundos facilmente. - zPain - 01.10.2013

Quote:
Originally Posted by Schocc
Посмотреть сообщение
2.147.483.647
Que distraзгo de minha parte! Vou reduzir as possibilidades, alйm do mais, й sу mais um pequeno teste com emit.

Pensando bem, acho que me equivoquei. Isso estб mais para um cуdigo ъtil. Peзo desculpas.


Re: msto.inc - Converta milissegundos facilmente. - Schocc - 01.10.2013

Quote:
Originally Posted by zPain
Посмотреть сообщение
Que distraзгo de minha parte! Vou reduzir as possibilidades, alйm do mais, й sу mais um pequeno teste com emit.

Pensando bem, acho que me equivoquei. Isso estб mais para um cуdigo ъtil. Peзo desculpas.
Foi o que quis te alertar. tipo funciona mas, nгo tem muito bem uma utilidade nгo acha?



Mas porque vc nгo da uma modificada, cria um objetivo para tal funзгo
@edit amanha te dou rep++ ok hj jб excedeu o mбximo.


Re: msto.inc - Converta milissegundos facilmente. - zSuYaNw - 01.10.2013

Bom trabalho!

Gostei do uso do #emit.


Re: msto.inc - Converta milissegundos facilmente. - PT - 01.10.2013

A praticar e que se aprende, Bom trabalho.


Re: msto.inc - Converta milissegundos facilmente. - zPain - 01.10.2013

Quote:
Originally Posted by Schocc
Посмотреть сообщение
Foi o que quis te alertar. tipo funciona mas, nгo tem muito bem uma utilidade nгo acha?



Mas porque vc nгo da uma modificada, cria um objetivo para tal funзгo
@edit amanha te dou rep++ ok hj jб excedeu o mбximo.
Andei pensando e cheguei а seguinte conclusгo: й muito improvбvel que alguйm vб converter milissegundos para bases tгo grandes. Pensando nisso, acho atй que a conversгo pra semanas й supйrflua. Sendo assim, acho que o trabalho estб dentro das necessidades de quem for usar, caso haja alguйm.


Re: msto.inc - Converta milissegundos facilmente. - ipsBruno - 01.10.2013

Cria a funзгo

toMs

й sу a reversa da tua funзгo. Assim podemos fazer algo como


SetTimer("bruno", toMs(1, DAYS), false); // -> timer de 1 dia


bem simples.


Re: msto.inc - Converta milissegundos facilmente. - zPain - 01.10.2013

Adicionado. Funcionando dentro das possibilidades imaginбveis, jб que nгo imagino que alguйm vai fazer um timer de 10000 semanas ou coisa do tipo.


Re: msto.inc - Converta milissegundos facilmente. - [THs]ShadoW - 01.10.2013

Acho mais fбcil simplesmente colocar assim:

pawn Код:
SetTimer("Func", 1000 * 60 * 60 * 24 * 7, false);
Isso equivale a uma semana '-'