There were some errors in the code that I provided you earlier because I made it in a hurry and I did not have the opportunity to test the code on a channel with a large number of users.
Logically, the first line with the command to set the modes should be without delay, and all subsequent ones should be sent every 5 seconds, one after the other.
I made some changes that should correct all the shortcomings. This should now work correctly.

Try using this code:
Code
alias vall {
  var %chan $active | if (%chan !ischan) { echo -a This command can only be done on a channel. | return }
  if ($me !isop %chan) { echo -a Your nickname must have an @ status on the channel %chan | return }
  var %users $nick(%chan,0,r), %i 1 | while (%i <= %users) {
    var %user $nick(%chan,%i,r) | if (%user != $me) { var %nm = %nm %user }
    if ($numtok(%nm,32) == $modespl) { inc %va_count | $timerdelay(%chan,%va_count) mode %chan $+(+,$str(v,$modespl)) %nm | unset %nm }
    inc %i
  }
  if (%nm) { inc %va_count | $timerdelay(%chan,%va_count) mode %chan $+(+,$str(v,$numtok(%nm,32))) %nm } | unset %va_count
}
alias -l timerdelay { return .timerVALL $+ $+(_,$1,_,$2) 1 $calc(5 * $2 - 5) }


🌐 http://forum.epicnet.ru 📜 irc.epicnet.ru 6667 #Code | mIRC scripts, help, discuss, examples