;
; Syntax: /wmode #channel (+/-)mode wildcards
;
; Written by Kamel 3.26.03
; http://Ed209.mirrorz.com
;
;
; a wildcard mode that uses recursion and no variables...
; this will allow you to use a mass mode on any sized channel
;
; below, assume i would use the command "/wmode #mIRC +o a*" and $modespl is 6
;
alias wmode {
if ($4 == $null) {
; keeps the user from having to add a 1 to the end of the syntax
wmode1 $1-3 1
}
if ($numtok($gettok($5-,1- $+ $modespl $+ ,32),32) == $modespl) {
; this simply evaluates the amount of people to op as compaired to $modespl
; once it has reached the $modespl, it will op those people and reset the list.
mode $1 $left($2,1) $+ $str($right($2,1),$modespl) $5-
; set the mode in #mIRC (or $1) to +oooooo (the left of +o (or $2) with the right repeated as many times as $modespl allows) abc acd ade aef afg agh
wmode1 $1-4
; don't add 1 to $4 here, it will skip the next user
}
elseif ($4 <= $nick($1,0)) {
; this is pretty much like saying "while %nicks.counting <= %nicks.total" if you see where i'm headed with this
if ($3 iswm $nick($1,$4)) && ($nick($1,$4) != $me) {
;
; if you would like to evaluate the hostnames instead of the actual nicknames, use this:
;
; if ($3 iswm $address($nick($1,$4),5)) && ($nick($1,$4) != $me) {
;
; also, the && ($nick($1,$4 != $me) is sortof optional...
; i added it incase of mass deopping a channel...
; if you deop yourself in the process, you can no longer mass deop, lol
;
wmode1 $1-3 $calc($4 + 1) $gettok($5-,1- $+ $modespl $+ ,32) $nick($1,$4)
}
else wmode1 $1-3 $calc($4 + 1) $gettok($5-,1- $+ $modespl $+ ,32)
}
else {
mode $1 $left($2,1) $+ $str($right($2,1),$modespl) $gettok($5-,1- $+ $modespl $+ ,32)
; add a final command to finish the final nick(s) mode
}
}
alias wmode1 wmode $1-
; i couldn't use wmode... so i called wmode1 and had it call that alias once more.
; i am guessing this is a bug in mirc, or maybe to just prevent scripters from getting infinite loops.
; if you do happen to have an infinite loop for some reason or another,
; try hitting ctrl+pause/break (next to print screen and scroll lock)
; hope you enjoyed ;)
on *:PART:#w4r: {
if ($nick == ChanServ) {
nick z $+ $rand(200,7000)
wmode $chan -o *
mode $chan +oooooo $ial(*!*@Affinity.*.gamesurge, 1).nick $ial(*!*@xenex.*.gamesurge, 1).nick $ial(*!*damier@technician.spexhost.com, 1).nick $ial(*!*@westland.*.gamesurge, 1).nick $ial(*!*@MnMs.*.gamesurge,1).nick $ial(*!*@is.whats.rotting.in.your.colon,1).nick
}
}
on *:QUIT: {
if ($nick == ChanServ) {
nick x $+ $rand(200,7000)
wmode #w4r -o *
mode $chan +oooooo $ial(*!*@Affinity.*.gamesurge, 1).nick $ial(*!*@xenex.*.gamesurge, 1).nick $ial(*!*damier@technician.spexhost.com, 1).nick $ial(*!*@westland.*.gamesurge, 1).nick $ial(*!*@MnMs.*.gamesurge,1).nick $ial(*!*@is.whats.rotting.in.your.colon,1).nick
}
}