The way the thread is processed there's no way way to internally use a loop and have it run slower. Writing to a file and tweaking the delay on the /play command is likely to be the best bet in this situation. (Even if you only use a delay of 100 or 200 miliseconds.) If you really want to make a single sequence of events run in a loop like fashion you can use a form of recursion:
alias SlowLoop {
if ($1 isnum) {
if ($1 <= 10) {
echo -s Loop number: $1 Parameters: $2-
.timer 1 5 SlowLoop $calc($1 + 1) $2-
}
else {
echo -s Slow Loop finished: $2-
} }
else {
echo -s Beginning Slow Loop, parameters: $1-
.timer 1 5 SlowLoop 1 $1-
} }
Of course then you run into other issues controling it. You can't have the first parameter as a number, passing dynamic information is a pain, things update as it's run so you have to take those into consideration (nick changes,) etc. Also you can make the timers dynamically change delays or skip numbers (like: if ($1 == 7) tokenize 32 8 $2- ) or just not get called at all to emulate /break /continue or /halt
I've found cases where this is one way to approach such a problem and have had a lot of success with it though.