massmode {
; * Usage: /massmode +/-ov [#chan]
tokenize 32 $1 $iif($2 ischan, $2, $active)
var %s = $iif($left($1,1) == +,1), %m = $right($1,-1)
var %len = %modespl, %nicklist, %nick
var %ctr = 0, %tot = $iif(%s, $nick($2,0,a,%m), $nick($2,0,%m))
while (%ctr < %tot) {
inc %ctr | var %nick = $iif(%s, $nick($2,%ctr,a,%m), $nick($2,%ctr,%m))
%nicklist = %nicklist %nick
if ($numtok(%nicklist,32) = %len) {
mode $2 $+($iif(%s,+,-),$str(%m,%len)) %nicklist
var %nicklist
}
}
if (%nicklist) { mode $2 $+($iif(%s,+,-),$str(%m,$numtok(%nicklist,32))) %nicklist }
}
massmode2 {
; * Usage: /massmode +/-ov [#chan]
tokenize 32 $1 $iif($2 ischan, $2, $active)
var %s = $iif($left($1,1) == +,1), %m = $right($1,-1)
var %len = $modespl, %nicklist, %nick
var %ctr = 0, %tot = $iif(%s, $nick($2,0,a,%m), $nick($2,0,%m))
while (%ctr < %tot) {
inc %ctr | var %nick = $iif(%s, $nick($2,%ctr,a,%m), $nick($2,%ctr,%m))
var %nicklist = %nicklist %nick
}
var %ctr = 1, %tot = $numtok(%nicklist,32)
while (%ctr <= %tot) {
var %range = $+(%ctr,-,$calc(%ctr * %len)) | inc %ctr %len
mode $2 $+($iif(%s,+,-),$str(%m,%len)) $gettok(%nicklist,%range,32)
}
}