No, I did not test it, identifiers have always been formatted in that manner. It will not work as $nick.

$nick will not retain its value through the transition of time into the .timer's command when set up like this. It will retain it within the original script, but once you use a timer for a custom alias like this, the value of "$nick" is lost and becomes "$1" to the custom alias. Once that timer is set... the value of $1 is filled to that specific timer alias command, until that timer is either performed, or reset, or shut off.

In other words, (I'll see if i can explain it a little better) the value of $nick is filled when an event occurs. (join, notice, part.. etc. etc) While commands are being performed under that event, directly in that script, $nick will have whatever value it was filled with. However, when you leave the event, and go onto an alias with a timer (which in this case is 'spamdetect'...and it had to be a timer, to break out of the while loop, because spamdetect is a second loop, two 'while' loops cant operate at the same time)

mIRC has no idea what $nick youre talking about... it must drop it, in case other events occur.

$nick only holds 1 value within mIRC at a single time. So for instance, if I had said .timer 1 25 spamdetect $nick... And another event occured like a join or a part or a quit, that needed to re-fill $nick with information, then spamdetect would be kicking the newly filled information of $nick. That is why mIRC is set up this way. It stops 'lines' from being crossed. It would have to retain the value of $nick until that timer went off twenty-five full seconds later, It doesnt keep track of it as $nick, because the information was identified as $1, to the alias to free up the $nick identifier.

Try it out, write a short alias that does something simple like echo something....

Code:

on ^*:JOIN:#:{
   echo -a here is the event value of nick ~~> $nick 
  .timer.testnick 1 5 nickinfo $nick
}
alias nickinfo { 
  echo -a here is the info of nick ~~> $nick 
  echo -a here is the info of string 1 ~~~> $1 
}

 


nickinfo will retain whatever $1 is, and/or $2 or $3... etc.

identifiers work this way, try it with $chan and $nick both.

Code:
 
on ^*:JOIN:#:{
   echo -a here is the event value of nick and chan ~~> $nick joined $chan
  .timer.testnick 1 5 nickinfo $nick $chan
}
alias nickinfo { 
  echo -a here is the info of nick and channel ~~> $nick joined $chan
  echo -a here is the info of string 1 and string 2~~~> $1 joined $2
}





Scripto ---- Life is about the relationships. The correct code being: $replace($them,$you,$me)