Don't like ads? PRO users don't see any ads ;-)

Hallo request

By: Masculine on Jun 10th, 2012  |  syntax: mIRC  |  size: 1.94 KB  |  hits: 27  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. alias idle {
  2.   if (!$1) || ($1 !isnum) { echo $color(ctcp) -ai2 * /idle: invalid format | halt }
  3.   if ($active !ischan) { echo $color(ctcp) -ai2 * /idle: Use in channel only | halt }
  4.   if ($me !isop #) { echo $color(ctcp) -ai2 * /idle: You need OP status | halt }
  5.  
  6.   var %x 1, %idlers, %idletime $calc($1 * 60)
  7.   while (%x <= $nick(#,0,o)) {
  8.     if ($nick(#,%x,o).idle >= %idletime) && ($nick(#,%x,o) != $me) && ($me isop #) { %idlers = %idlers $nick(#,%x,o) }
  9.     inc %x
  10.   }
  11.   if (%idlers) {
  12.     if (%idlers) {
  13.       xmsg # Checking for Idle Ops ( $+ $calc(%idletime / 60) $+ + mins)
  14.       if ($gettok(%idlers,0,32) <= $calc($modespl / 2)) {
  15.         .raw -q mode # - $+ $str(o,$gettok(%idlers,0,32)) $+ + $+ $str(v,$gettok(%idlers,0,32)) %idlers %idlers
  16.       }
  17.       else { idle2 %idlers }
  18.     }
  19.   }
  20. }
  21.  
  22. alias idle2 {
  23.   var %loop = 1, %domodes, %donicks, %current
  24.   ;If nicknames are given comma separated, change to spaces
  25.   if ($chr(44) isin $$1-) tokenize 44 $1-
  26.   ;Build list of modes
  27.   var %modes = - $+ $str(o,$0) $+ + $+ $str(v,$0)
  28.   ;Build list of nicknames with - and + placeholders so tokens line up with %modes
  29.   var %nicks = - $1- + $1-
  30.   ;Loop through modes to build final mode string
  31.   while (%loop <= $len(%modes)) {
  32.     ;If you hit a + or - remember it and add it to %domodes
  33.     if ($mid(%modes,%loop,1) !isalpha)  {
  34.       %current = $v1
  35.       %domodes = %domodes $+ %current
  36.     }
  37.     ;Add another mode and the nickname it applies to
  38.     else {
  39.       %domodes = %domodes $+ $v1
  40.       %donicks = %donicks $gettok(%nicks,%loop,32)
  41.       ;If you hit $modespl do a /mode and reset the variables
  42.       if ($numtok(%donicks,32) == $modespl) {
  43.         mode $chan %domodes %donicks
  44.         ;Make sure %domodes starts with the appropriate + or -
  45.         %domodes = %current
  46.         %donicks = $null
  47.       }
  48.     }
  49.     inc %loop
  50.   }
  51.   ;If there's anything left, do one last /mode
  52.   if (%donicks) mode $chan %domodes %donicks
  53. }