All pastes #407462 Raw Edit

Someone

public text v1 · immutable
#407462 ·published 2007-03-24 01:15 UTC
rendered paste body
;
; 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
  }
}