I "now" dont think its either of them actually, another post told me it used a alpha numeric ordering to trigger events, so i checked this out, and it didnt seem to hold true to that either, in fact i cant find any particular pattern. give this code a try.
test1 {
var %t = ABCDEFGHIJ1234567890
var %i = 20
var %c
while (%i) {
var %p = $rand(1,$len(%t))
.timer $+ $mid(%t,%p,1) 1 0 check1 $mid(%t,%p,1)
%c = %c $mid(%t,%p,1)
%t = $left(%t,$calc(%p - 1)) $+ $mid(%t,$calc(%p + 1))
dec %i
}
var %t
var %i = $timer(0)
while (%i) {
%t = $timer(%i) %t
dec %i
}
echo Timer TIMER() Order (First to Last) %t
echo Timer Created Order (First to Last) %c
set %check1.created %c
set %check1.recover
}
check1 {
set %check1.recover $1 %check1.recover
if ($len(%check1.recover) == 39) {
if (%check1.created != %check1.recover) {
echo Timer Recover Order (Last to First) %check1.recover (NON MATCHED)
}
else {
echo Timer Recover Order (Last to First) %check1.recover
}
unset %check1.created
unset %checkx.recover
echo .
}
}
heres the results of two runs of /test1
Timer TIMER() Order (First to Last) 0 1 2 3 4 5 6 7 g a e j 8 9 i b c f d h
Timer Created Order (First to Last) 7 G A 1 3 0 E J 9 I B C 4 2 5 6 F D H 8
Timer Recover Order (Last to First) 7 G A 1 0 E J 9 I B C 4 2 5 6 F D H 8 3 (NON MATCHED)
.
Timer TIMER() Order (First to Last) 0 1 2 3 4 5 e g b i h 6 7 8 9 f d a j c
Timer Created Order (First to Last) 5 E G B I H 9 3 2 7 F D 0 A 1 J 4 C 6 8
Timer Recover Order (Last to First) 5 E G B I H 9 3 2 7 F D 0 A 1 J 4 C 6 8
.
Sometimes it matches sometimes it doesnt, sometimes matching for ages others not matching for ages etc. no pattern to it, also the mismatch isnt only one sometimes there all outa sync.
I have a feeling there are other factors beyond a scripters control that effects the timer execution order.