ayuda con milesimas
#1

Hola foro (:

bueno, voy al grano, se me sembro un problema al tratar de pasar milesimas (que almaceno en una variable con gettickcount), a "minutos/segundos/mil del segundo", la verdad encontre un codigo muy util, pero no define milesimas de segundo D:, aqui el code, alguien sabe como puedo hacerlo?

PHP код:
stock msToTime(ms, &seconds, &minutes, &hours)
{
    
ms /= 100;
    
hours millis 3600;
    
minutes = (millis hours 60) % 60;
    
seconds = (millis hours 3600 minutes 60);

PD: me gustaria tambien si es posible sacar las horas, ya que solo necesito minutos segundos y milesimas de segundo xd.

saludos y muchas gracias de antemano.
Reply
#2

pawn Код:
stock ObtenerHora()
{
    new string[MAX_STRINGS],dma[3],hms[3];
    getdate(dma[2], dma[1], dma[0]);
    gettime(hms[0], hms[1], hms[2]);
    format(string,sizeof(string),"%i/%i /%i - %i:%i:%i",dma[0], dma[1], dma[2], hms[0], hms[1], hms[2]);
    return string;
}
Reply
#3

xd no es lo que necesito, esa funcion retorna en una cadena con horas minutos y segundos.

yo lo que necesito es una funcion que almacene en 3 variables minutos, segundos y milesimas de segundo xd por eso deje el code mas arriba e.e
Reply
#4

pawn Код:
stock msToTime(ms, &milis, &seconds, &minutes) {
    new Float:temp_var_ = floatdiv(ms, 60000);
    milis   = floatround(temp_var_, floatround_tozero);
    seconds = floatround(floatmul(temp_var_ - milis, 60), floatround_tozero);
    minutes = floatround(floatmul(floatmul(temp_var_ - milis, 60) - seconds, 1000), floatround_tozero);
}
Reply
#5

Quote:
Originally Posted by Daniel-92
Посмотреть сообщение
pawn Код:
stock msToTime(ms, &milis, &seconds, &minutes) {
    new Float:temp_var_ = floatdiv(ms, 60000);
    milis   = floatround(temp_var_, floatround_tozero);
    seconds = floatround(floatmul(temp_var_ - milis, 60), floatround_tozero);
    minutes = floatround(floatmul(floatmul(temp_var_ - milis, 60) - seconds, 1000), floatround_tozero);
}
me sale un numero muy grande de minutos, parece que no funciona como deberia
Reply
#6

como lo estas usando? lo he probado y funciona bien.

EDIT: ya vi el error, es que puse milis donde eran los minutos,

pawn Код:
stock msToTime(ms, &milis, &seconds, &minutes) {
    new Float:temp_var_ = floatdiv(ms, 60000);
    minutes   = floatround(temp_var_, floatround_tozero);
    seconds = floatround(floatmul(temp_var_ - minutes, 60), floatround_tozero);
    milis = floatround(floatmul(floatmul(temp_var_ - minutes, 60) - seconds, 1000), floatround_tozero);
}
Reply
#7

probe con eso tambien, pero si le doy mas milesimas, hace menos segundos wtf xd, ahi algo que esta mal D:

EDIT: anda perfecto, me equivoque sorry, ++rep muchas gracias te adoro xd
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)