[Include] msto.inc - Converta milissegundos facilmente.
#1

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.
Reply
#2

2.147.483.647
Reply
#3

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.
Reply
#4

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.
Reply
#5

Bom trabalho!

Gostei do uso do #emit.
Reply
#6

A praticar e que se aprende, Bom trabalho.
Reply
#7

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.
Reply
#8

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.
Reply
#9

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.
Reply
#10

Acho mais fбcil simplesmente colocar assim:

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


Forum Jump:


Users browsing this thread: 1 Guest(s)