Letys have a look at your two time tests....

Quote:
[20:05:23] <Team-triviant> *** Volgende vraag over 3 seconden... ***
[20:05:24] <Team-triviant> Vraag: Wintersporten
+1 second (i assume the above was .msged without a timer)
[20:05:25] <Team-triviant> *** Jullie hebben 70 seconden tijd ***
+14 seconds
[20:05:39] <Team-triviant> *** Nog 50 seconden.. ***
+20 seconds
[20:05:59] <Team-triviant> *** Nog 30 seconden.. ***
+15 seconds
[20:06:14] <Team-triviant> *** Nog 15 seconden.. ***
+10 seconds
[20:06:24] <Team-triviant> *** Nog 5 seconden.. ***
Here you can see it...


Again i see a server lag, since i know if the timers you used were the same ones us used for the results, you must have taken the results from another irc connection.

Quote:
I was testing it on echo commands with an $time function:

You tested the first line using $time, the other lines by chance worked becuase /echo -atime produces a timestamp on the front of the echo

Quote:
23:29:34 *** Jullie hebben 70 seconden tijd ***
+19 seconds
23:29:53 *** Nog 50 seconden.. ***
+20 seconds
23:30:13 *** Nog 30 seconden.. ***
+15 seconds
23:30:28 *** Nog 15 seconden.. ***
+10 seconds
23:30:38 *** Nog 5 seconden.. ***


Exactly what they should have been....... also different from the first results due to you not getting them from a remote location which has other delays

For a clearer demonstration run this.
Code:
alias test {
  .timertrivia_0   1  1 .echo -a $!time %channel 4***10 Jullie hebben4 70 10seconden tijd 4*** $time($calc($ctime + 1)) ( $time + 1 ) :: Actual delay $!calc(($ticks - $ticks )/1000)
  .timertrivia_1_1 1 20 .echo -a $!time %channel 4***10 Nog4 50 10seconden..4 *** $time($calc($ctime + 20)) ( $time + 20 ) :: Actual delay $!calc(($ticks - $ticks )/1000) ( + 19 from above )
  .timertrivia_1   1 40 .echo -a $!time %channel 4***10 Nog4 30 10seconden..4 *** $time($calc($ctime + 40)) ( $time + 40 ) :: Actual delay $!calc(($ticks - $ticks )/1000) ( + 20 from above )
  .timertrivia_2   1 55 .echo -a $!time %channel 4***10 Nog4 15 10seconden..4 *** $time($calc($ctime + 55)) ( $time + 55 ) :: Actual delay $!calc(($ticks - $ticks )/1000) ( + 15 from above )
  .timertrivia_3   1 65 .echo -a $!time %channel 4***10 Nog4 5 10seconden..4 *** $time($calc($ctime + 65)) ( $time + 65 ) :: Actual delay $!calc(($ticks - $ticks )/1000) ( + 10 from above )
  ;timer
}
alias teststarter { timer $time($calc($int($calc(($ctime + 60) / 60)) * 60)) 1 0 test }

I used /teststarter to trigger a test directly on the minute mark, only to make the seconds counting up easier to see, so each test shown started at 12:40
results of /TESTSTARTER
* Timer 1 12:40 1 time(s) 1ms delay test (Criten)
results of /TEST
12:40:01 #tmd *** Jullie hebben 70 seconden tijd *** 12:40:01 ( 12:40:00 + 1 ) :: Actual delay 1.282
12:40:20 #tmd *** Nog 50 seconden.. *** 12:40:20 ( 12:40:00 + 20 ) :: Actual delay 20.266 ( + 19 from above )
12:40:40 #tmd *** Nog 30 seconden.. *** 12:40:40 ( 12:40:00 + 40 ) :: Actual delay 40.266 ( + 20 from above )
12:40:55 #tmd *** Nog 15 seconden.. *** 12:40:55 ( 12:40:00 + 55 ) :: Actual delay 55.282 ( + 15 from above )
12:41:05 #tmd *** Nog 5 seconden.. *** 12:41:05 ( 12:40:00 + 65 ) :: Actual delay 65.266 ( + 10 from above )

This shows the timers went off just when they were ment to. The same as yours when you used /echo

* I now put a small cavet on what i say by showing this result, this was achivied by removing the ; of the ;timer command inisde /TEST, it causes a greater delay in completing the alias, the results may or maynot form a pattern as below, based on speed of the processor of the pc (among other things) Im running this on a low end pc.


12:40:01 #tmd *** Jullie hebben 70 seconden tijd *** 12:40:01 ( 12:40:00 + 1 ) :: Actual delay 1.734
12:40:19 #tmd *** Nog 50 seconden.. *** 12:40:20 ( 12:40:00 + 20 ) :: Actual delay 19.75 ( + 19 from above )
12:40:39 #tmd *** Nog 30 seconden.. *** 12:40:40 ( 12:40:00 + 40 ) :: Actual delay 39.734 ( + 20 from above )
12:40:54 #tmd *** Nog 15 seconden.. *** 12:40:55 ( 12:40:00 + 55 ) :: Actual delay 54.734 ( + 15 from above )
12:41:04 #tmd *** Nog 5 seconden.. *** 12:41:05 ( 12:40:00 + 65 ) :: Actual delay 64.734 ( + 10 from above )

As you can see the timers have desynced from the time they should be going off, by one second, Im resonably sure of the cause of this, and what i "beleive" follows.
When you set a X number of seconds timer, say 4 seconds, this is added to the timer list, each time the clock ticks over a second, mirc adjusts these by 1, it well also play catchup if it has been so drasticly delayed that it missed a second of tick over timer (this it can sometimes get confused on however). So if you set a 4 second delay timer at a start of a script, then one at the end and the script has taken only .7 seconds to run but the clock has yet to tick over a second, both timers well be run, directly following each other, there well not be a .7 second delay between them.
I have also found that the -h option doesnt work as well as the -m option, as using the above explained .7 second delay both -h scripts trigger off at the same time, while the -m ones well go off .7 seconds apart.


Over all, i think mirc timers are pretty good for what you need them for in mirc.