; ; 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 } }