Tiago_f

Menu nicklist

Oct 20th, 2025 (edited)
2,197
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
mIRC 2.77 KB | None | 0 0
  1. alias wd { return $gettok($1,$2,$3) }
  2. alias dbr { if ($1- != $null) { return $br($1-) } }
  3. alias br { return $+($chr(40),$1-,$chr(41)) }
  4. alias modch {
  5.   var %x = 1 ,%y = $numtok($4-,32),%n
  6.   while (%x <= %y) {
  7.     var %n = $addtok(%n,$wd($4-,%x,32),32)
  8.     inc %x
  9.   }
  10.   while ($numtok(%n,32)) {
  11.     mode $1 $2 $+ $str($3,$numtok($wd(%n,1- $+ $modespl,32),32)) $wd(%n,1- $+ $modespl,32)
  12.     var %n = $deltok(%n,1- $+ $modespl,32)
  13.   }
  14. }
  15. alias gocserv {
  16.   var %x = 1 ,%y = $numtok($3-,32),%n
  17.   while (%x <= %y) {
  18.     var %n = $addtok(%n,$wd($3-,%x,32),32)
  19.     inc %x
  20.   }
  21.   while ($numtok(%n,32)) {
  22.     chanserv $1 $2 $wd(%n,1- $+ $modespl,32)
  23.     var %n = $deltok(%n,1- $+ $modespl,32)
  24.   }
  25. }
  26. alias massmode {
  27.   if ($1 ischan) {
  28.     var %i,%cn
  29.     if ($2 == +) { %i = $nick($1,0,a,$3) }
  30.     else { %i = $nick($1,0,$3) }
  31.     var %d = 0,%x,%r = $mid($prefix,$pos($nickmode,$3),1)
  32.     if (%i) {
  33.       if (!$ydialog(You are about to give mode $2 $+ $3 to %i user(s) on $1 $+ . Continue?)) { return }
  34.       while (%i) {
  35.         if ($2 == +) { %cn = $nick($1,%i,a,$3) }
  36.         else { %cn = $nick($1,%i,$3) }
  37.         if ($me != %cn) && (!$istok(BotServ ChanServ Global HostServ MemoServ NickServ OperServ,%cn,32)) || ($2 == +) {
  38.           %x = $addtok(%x,%cn,32)
  39.           if ($numtok(%x,32) == $modespl) {
  40.             $iif(%d,.timer 1 %d) mode $1-2 $+ $str($3,$modespl) %x
  41.             %x = ""
  42.             inc %d
  43.           }
  44.         }
  45.         dec %i
  46.       }
  47.       if (%x) { $iif(%d,.timer 1 %d) mode $1-2 $+ $str($3,$numtok(%x,32)) %x }
  48.     }
  49.     else { echo -a There aren't any users on $shm(mode,$1) who could be given mode $+($2,$3,.) }
  50.   }
  51.   else { echo -a Wrong parameters. }
  52. }
  53. alias psetmmode {
  54.   var %nick = $replace($snicks($chan,1),$chr(44),$chr(32)), %mode = $remove($nickmode,Y), %prefix = $remove($prefix,!), %name = $mid(%prefix,$1,1)
  55.   var %repserv = $replacex(%name,~,owner,@,op,%,halfop,+,voice,&,protect), %repmode = $replacex(%name,~,owner,.,owner,@,op,%,halfop,+,voice,&,admin)
  56.   if ($2 == mode) && ($1 <= $len(%mode)) return $iif($3 == -,Take,Give) $+(&,%repmode,$chr(9),$dbr($3 $+ $mid(%mode,$1,1)),:modch) $chan $3 $mid(%mode,$1,1) %nick
  57.   elseif ($2 == mass) && ($1 <= $len(%mode)) return Mass $+($iif($3 == -,de),&,%repmode,$chr(9),$dbr($3 $+ $mid(%mode,$1,1)),:massmode) $chan $3 $mid(%mode,$1,1)
  58.   elseif ($2 == cserv) && ($1 <= $len(%mode)) return $iif($3 == -,Take,Give) $+(&,%repserv,$chr(9),$dbr($3 $+ $mid(%mode,$1,1)),:gocserv) $iif($3 = -,de $+ %repserv,%repserv) $chan %nick
  59. }
  60. menu nicklist {
  61. &Usermodes
  62. .$submenu($psetmmode($1,mode,+))
  63. .-
  64. .$submenu($psetmmode($1,mode,-))
  65. .-
  66. &Chanmodes
  67. .$submenu($psetmmode($1,cserv,+))
  68. .-
  69. .$submenu($psetmmode($1,cserv,-))
  70. .-
  71. &Mass modes
  72. .$submenu($psetmmode($1,mass,+))
  73. .-
  74. .$submenu($psetmmode($1,mass,-))
  75. }
Advertisement