Quote:
if (!$hget(%hash))


Is this ment to be.....
if (!$hget(%hash)) { hmake %hash }

I didnt like how it would result in an seemingly random order of nicks that were sent the message, and the loss of messages if a second /msgall command was issued before the timer had completed the previous one. I think /PLAY might be a better option.

[code];
;Usage : /msgall <channel> <message>
;
;Purpose : sends a private message of <message> to all users in channel <channel>, to avoid flooding 1 message per second is sent.
;
;Notes : WARNING <message> is evaluated at time of message delivery, like a timer.
; ie: In following example channel name is #CHANNEL, and AUSER is the 13th user in the channel
; cmd : //msgall #CHANNEL Time when run $time & time when sent $!time and time identifer $!!time
; msg : msg AUSER Time when run 12:00:00 & time when sent 12:00:13 and time identifer $time
;
alias msgall {
if (($0 > 1) && ($me ison $1)) {
var %file = $+(tempfile.,$ticks,.,$mid($rand(1000000,1999999),2),.txt), %m = $nick($1,0), %i = 1
write -c %file
while (%i <= %m) { write %file msg $nick($1,%i) $2- | inc %i }
.play -sc %file | .remove %file
}
}[code]