mIRC Home    About    Download    Register    News    Help

Print Thread
Joined: Jun 2013
Posts: 43
G
Ameglian cow
OP Offline
Ameglian cow
G
Joined: Jun 2013
Posts: 43
Hi, I'm currently experiencing some trouble with converting seconds to minutes and hours. I have timer increasing a variable every second and when somebody types in "!done" in chat, it replies with how many seconds the timer was going. However, instead of seconds I would like it to be something like "1 hour, 23 minutes and 43 seconds" depending on how many seconds it was. Here is my code:

Code:
on *:TEXT:!racestart:#:{
  set %racetimer 0
  timer 1 1 msg $chan 20  
  timer 1 10 msg $chan 10
  timer 1 15 msg $chan 5
  timer 1 17 msg $chan 4
  timer 1 19 msg $chan 3
  timer 1 21 msg $chan 2
  timer 1 23 msg $chan 1
  timer 1 25 msg $chan GO!
  timer 1 25 { timer 0 1 inc %racetimer }

}

on *:TEXT:!join:#:{
  auser racer $nick
  msg $chan $nick joined the race.
  inc %racers
}

on racer:TEXT:!done:#:{
  msg $chan $nick completed the race in %racetimer seconds.
  auser 1 $nick
  dec %racers
  if ( %racers = 0 ) {
    /timers off
    set %racetimer 0
  }
}


Any help would be greatly appreciated, and if I wasn't clear enough, please say so I can explain some more. Many thanks, Tom.

Joined: Sep 2005
Posts: 2,881
H
Hoopy frood
Offline
Hoopy frood
H
Joined: Sep 2005
Posts: 2,881
Code:
on *:TEXT:!racestart:#:{
  set %racetimer 0
  .timer 1 1 msg $chan 20  
  .timer 1 10 msg $chan 10
  .timer 1 15 msg $chan 5
  .timer 1 17 msg $chan 4
  .timer 1 19 msg $chan 3
  .timer 1 21 msg $chan 2
  .timer 1 23 msg $chan 1
  .timer 1 25 msg $chan GO!
  .timer 1 25 inc -c %racetimer

}

on *:TEXT:!join:#:{
  auser racer $nick
  msg $chan $nick joined the race.
  inc %racers
}

on racer:TEXT:!done:#:{
  msg $chan $nick completed the race in $duration(%racetimer) $+ .
  auser 1 $nick
  dec %racers
  if (!%racetimer) { 
    .timers off 
    unset %racetimer
  }
}


Link Copied to Clipboard