[Ajuda] Conversor de Segundos
#1

@RESOLVIDO '-'
Reply
#2

Vocк utiliza a variбvel "min" em outra parte do seu GM e nessa stock vocк estб redefinindo ela.
Reply
#3

Quote:
Originally Posted by Joao Pedro
Посмотреть сообщение
Vocк utiliza a variбvel "min" em outra parte do seu GM e nessa stock vocк estб redefinindo ela.
Cara, nao tem nada no arquivo, sу a stock o main e a inc a_samp o.O

@EDIT
Troquei a var 'min' por 'minuto', e agora esta sem warning. Mas fiz debug e nгo funcionou corretamente :S
Reply
#4

Consegui arrumar alguns bugs, mas ainda nгo estб correto os segundos, e creio que as horas possam bugar tambйm.
Fiz dessa forma:

PHP код:
stock Convert(tempo)
{
    new 
horaminutosegundostr[10];
    
segundo tempo/1000;
    
minuto segundo/60;
    
hora minuto/60;
    
format(strsizeof(str), "%d:%d:%d"horaminutosegundo);
    return 
str;

Reply
#5

Apenas usar o "pass by reference" nas variбveis "segundo,minuto,hora" de acordo com a variбvel tempo.
Reply
#6

Quote:
Originally Posted by leonardo1434
Посмотреть сообщение
Apenas usar o "pass by reference" nas variбveis "segundo,minuto,hora" de acordo com a variбvel tempo.
Ainda nгo consegui entender, como eu poderia fazer isso conforme a var tempo?

OBS: o Tнtulo й Conversor de Milissegundos e nao segundos, desculpem.
Reply
#7

Caso tenha dъvidas de como passar uma variбvel por referкncia(tenho certeza que a maioria desse fуrum nгo sabe -.-) Veja este link : http://www.compuphase.com/pawn/Pawn_Language_Guide.pdf

PHP код:
public OnFilterScriptInit()
{
    new 
segundo,minuto,hora;
    
Convert(1,segundo,minuto,hora);
    
printf(# %d - %d - %d,segundo,minuto,hora);
}
stock Convert(tempo,&segundo,&minuto,&hora)
{
    
segundo tempo 1000;
    
minuto segundo 60;
    
hora minuto 60;
    return;

Reply
#8

Quote:
Originally Posted by leonardo1434
Посмотреть сообщение
Caso tenha dъvidas de como passar uma variбvel por referкncia(tenho certeza que a maioria desse fуrum nгo sabe -.-) Veja este link : http://www.compuphase.com/pawn/Pawn_Language_Guide.pdf

PHP код:
public OnFilterScriptInit()
{
    new 
segundo,minuto,hora;
    
Convert(1,segundo,minuto,hora);
    
printf(# %d - %d - %d,segundo,minuto,hora);
}
stock Convert(tempo,&segundo,&minuto,&hora)
{
    
segundo tempo 1000;
    
minuto segundo 60;
    
hora minuto 60;
    return;

Ah sim, isso eu nгo sabia, VLW

Mas no caso eu gostaria de fazer uma conversao de Milissegundos para Hora, Minuto e Segundo, em Horarios Reais (Horas, Minutos e Segundos nгo passam de 60, tipo um relуgio real)

Um exemplo seria o tempo de prisгo, onde voce estб preso por um tempo indeterminado. Eu gostaria que aparece o horario REAL mas convertido dos segundos que o preso ainda tem de sentenзa.

Tipo assim:
Vocк estб preso por 1:01:53
Isso seria 'X' segundos.

E ai, eu usaria a funзгo colocando
PHP код:
new str[50];
format(strsizeof(str), "Vocк estб preso por %s"Convert(/*O tempo em Segundos*/));
SendClientMessage(playerid, -1str); 
e printava o horario como estб acima, certinho com o horario convertido mas sу que nao ultrapassando o limite dos segundos, minutos e horas (que sгo 60).

Espero que de pra entender :S rsrs
Reply
#9

Bom isto й bastante fбcil. Apenas usar um settimer a cada segundo, caso a variбvel "segundo" for igual a 0 diminua a variбvel "minuto". o mesmo se aplica em relaзгo а minuto-hora.

Bom, jб lhe ensinei o caminho. Tente sozinho caso der errado, poste aqui irei dar caminhos e nгo cуdigo pronto.
Reply
#10

Quote:
Originally Posted by leonardo1434
Посмотреть сообщение
Bom isto й bastante fбcil. Apenas usar um settimer a cada segundo, caso a variбvel "segundo" for igual a 0 diminua a variбvel "minuto". o mesmo se aplica em relaзгo а minuto-hora.

Bom, jб lhe ensinei o caminho. Tente sozinho caso der errado, poste aqui irei dar caminhos e nгo cуdigo pronto.
Valeu Leo, mas acho que consegui, ficou assim o cуdigo :

PHP код:
stock Convert(tempo)
{
    new 
horaminutosegundostr[50], text[10];
    
minuto tempo/60;
    
segundo tempo-(minuto*60);
    
hora minuto/60;
    if(
minuto 60)
    {
        
hora minuto/60;
        
minuto minuto-(hora*60);
    }
    if(
minuto == 60)
    {
        
minuto 0;
        
segundo 60-(tempo/60);
    }
    if(
segundo && minuto && hora 1text "Segundos";
    if(
minuto && hora 1text "Minutos";
    if(
hora 0text "Horas";
    
format(strsizeof(str), "%02d:%02d:%02d %s"horaminutosegundotext);
    return 
str;

Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)