All pastes #409597 Raw Edit

Anonymous

public text v1 · immutable
#409597 ·published 2007-03-25 20:30 UTC
rendered paste body
; #################################################################
; ## Address/Nick Tracking                                       ##
; ## Written by Urza (Urza23@hotmail.com)                        ##
; ## Written and tested in mIRC 6.16/6.17                        ##
; #################################################################

menu menubar {
  Address Tracking
  .$iif($group(#Addtrack) == on,$style(1)) Show used nicks on join: {
    var %status = $iif($group(#Addtrack) == on,Disable,Enable)
    $+(.,%status) #Addtrack
    echo 7 -at * Users previous nicks will $iif(%status == Disable,no longer,now) be shown when they join
  }
  .-
  .$iif($1,Check nicks for $1):CheckNicks $1
  .Check nicks for an address: {
    CheckNicks $+(*!,$$?="Enter the hostmask you want to check in the format NICK!IDENT@HOST*")
  }
}

on *:start: {
  hmake Addtrack 100
  if ($isfile(Addtrack.hsh)) hload Addtrack Addtrack.hsh 
}
on *:exit: if ($hget(Addtrack)) hsave -o Addtrack Addtrack.hsh

on *:join:#: {
  if ($wildsite iswm $address($me,5)) return
  var %mask = $mask($fulladdress,3)
  if ($hget(Addtrack,%mask)) {
    var %usednicks = $ifmatch
    if (%usednicks != $nick) && ($group(#Addtrack) == on) echo 10 -t $chan [Nick Tracking] $nick has also used the nicks: $remtok(%usednicks,$nick,1,44)
    if (!$istok(%usednicks,$nick,44)) hadd -m Addtrack %mask $addtok(%usednicks,$nick,44)
    if ($numtok(%usednicks,44) > 10) hadd -m Addtrack %mask $deltok(%usednicks,1,44)
  }
  else {
    hadd -m Addtrack %mask $nick
  }
}
on *:nick: {
  if ($wildsite iswm $address($me,5)) return
  var %mask = $mask($fulladdress,3)
  if ($hget(Addtrack,%mask)) {
    var %usednicks = $ifmatch
    if (!$istok(%usednicks,$newnick,44)) hadd -m Addtrack %mask $addtok(%usednicks,$newnick,44)
    if ($numtok(%usednicks,44) > 10) hadd -m Addtrack %mask $deltok(%usednicks,1,44)
  }
  else {
    hadd -m Addtrack %mask $newnick
  }
}
alias CheckNicks {
  if (*!*@* iswm $1) {
    var %mask = $mask($1,3)
    if (!$hget(Addtrack,%mask)) echo 4 -ta No entry found for $1
    else echo 10 -ta Address $1 has used the nicks: $hget(Addtrack,$1)
  }
  elseif (!$hget(Addtrack,$address($1,3))) echo 4 -ta No Entry found for $1 
  elseif ($hget(Addtrack,$address($1,3)) != $1) {
    var %usednicks = $ifmatch
    echo 10 -ta $1 has also used the nicks $remtok(%usednicks,$1,1,43)
  }
  else echo 10 -ta $1 has not been seen on any other nicks
}

#Addtrack on
#addtrack end
on *:join:#:{
  if ($nick == $me) { .timer -m 1 1 make.co }
  else {
    if ($nick isreg $chan) { cline 10 $chan $nick }
    if ($nick isvo $chan) { cline 12 $chan $nick }
    if ($nick ishelp $chan) { cline 7 $chan $nick }
    if ($nick isop $chan) { cline 4 $chan $nick }
  }
}
on *:OP:#:{
  cline 4 $chan $opnick 
}
on *:serverOP:#:{
  cline 4 $chan $opnick 
}
on *:DEOP:#:{
  if ($opnick ishelp $chan) { cline 7 $chan $opnick | halt }
  if ($opnick isvo $chan) { cline 12 $chan $opnick | halt }
  cline 10 $chan $opnick 
}
on *:HELP:#:{
  if ($hnick isop $chan) { cline 4 $chan $hnick | halt }
  cline 7 $chan $hnick 
}
on *:DEHELP:#:{
  if ($hnick isop $chan) { cline 4 $chan $hnick | halt }
  if ($hnick isvo $chan) { cline 12 $chan $hnick | halt }
  cline 10 $chan $hnick 
}
on *:VOICE:#:{
  if ($vnick isop $chan) { cline 4 $chan $vnick | halt }
  if ($vnick ishelp $chan) { cline 7 $chan $vnick | halt }
  cline 12 $chan $vnick 
}
on *:DEVOICE:#:{
  if ($vnick isop $chan) { cline 4 $chan $vnick | halt }
  if ($vnick ishelp $chan) { cline 7 $chan $vnick | halt }
  cline 10 $chan $vnick 
}
alias make.co {
  set -u0 %i 1
  while (%i <= $chan(0)) {
    set -u0 %j 1
    while (%j <= $nick($chan(%i),0)) {
      if ($nick($chan(%i),%j) isreg $chan(%i)) { cline 10 $chan(%i) $nick($chan(%i),%j)) }
      if ($nick($chan(%i),%j) isvo $chan(%i)) { cline 12 $chan(%i) $nick($chan(%i),%j)) }
      if ($nick($chan(%i),%j) ishelp $chan(%i)) { cline 7 $chan(%i) $nick($chan(%i),%j)) }
      if ($nick($chan(%i),%j) isop $chan(%i)) { cline 4 $chan(%i) $nick($chan(%i),%j)) }
      inc %j
    }
    inc %i
  }
}
alias timestamp { !timestamp $1- | saveini }
on ^*:TEXT:*:#:{
  var %i = 0
  var %line = $1-
  if ($nick isop $chan) {
    var %nick = <4@ $+ $nick $+ >
  }
  elseif ($nick ishop $chan) {
    var %nick = <7% $+ $nick $+ >
  }
  elseif ($nick isvoice $chan) {
    var %nick = <2+ $+ $nick $+ >
  }
  else {
    var %nick = <10 $+ $nick $+ >
  }
  if ($gettok($readini(mirc.ini,options,n4),12,44) == 0) {
    .echo -m $chan %nick %line
  }
  elseif ($gettok($readini(mirc.ini,options,n4),12,44) == 1) {
    .echo -m $chan $timestamp %nick %line
  }
  haltdef
}
on *:INPUT:#:{
  if (/ == $left($1,1)) && (/say !== $1) { return }
  if ($me isop $chan) {
    var %nick = <4@ $+ $me $+ >
  }
  elseif ($me ishop $chan) {
    var %nick = <7% $+ $me $+ >
  }
  elseif ($me isvoice $chan) {
    var %nick = <2+ $+ $me $+ >
  }
  else {
    var %nick = <10 $+ $me $+ >
  }
  if ($gettok($readini(mirc.ini,options,n4),12,44) == 0) {
    echo $chan %nick $iif($1 == /say,$2-,$1-)
  }
  elseif ($gettok($readini(mirc.ini,options,n4),12,44) == 1) {
    echo $chan $timestamp %nick $iif($1 == /say,$2-,$1-)
  }
  .msg $chan $iif($1 == /say,$2-,$1-)
  halt
}

on ^*:JOIN:#:{
  haltdef
  .echo $chan 3 $+ $timestamp * $nick ( $+ $right($address($nick,0),-2) $+ ) has joined $chan
}
on ^*:PART:#:{
  haltdef
  .echo $chan 3 $+ $timestamp * $nick ( $+ $right($address($nick,0),-2) $+ ) has left $chan
}
on ^*:RAWMODE:#:{
  haltdef
  .echo $chan 3 $+ $timestamp * $nick sets mode: $1-
}
on ^*:NICK:{
  haltdef
  var %nicka $chan(0)
  var %nickb 1
  while (%nickb <= %nicka) {
    if ($newnick ison $chan(%nickb)) .echo $chan(%nickb) 3 $+ $timestamp * $nick is now known as $newnick
    inc %nickb
  }
}
on ^*:QUIT:{
  haltdef
  var %quita $chan(0)
  var %quitb 1
  while (%quitb <= %quita) {
    if ($nick ison $chan(%quitb)) .echo $chan(%quitb) 2 $+ $timestamp * $nick ( $+ $right($address($nick,0),-2) $+ ) has quit IRC ( $+ $1- $+ )
    inc %quitb
  }
}
on ^*:KICK:#:{
  haltdef
  .echo $chan 3 $+ $timestamp * $knick was kicked by $nick ( $+ $1- $+ )
}
raw 332:*:{
  haltdef
  .echo $2 3 $+ $timestamp * Topic is ' $+ $3- $+ 3'
}
raw 333:*:{
  haltdef
  .echo $2 3 $+ $timestamp * Set by $3 on $asctime($4,ddd mmm dd HH:nn:ss)
}
alias joinall {
  enable #joinall
  list
}
#joinall off
raw 322:*:{
  if ($2 !ischan) join $2
}
raw 323:*:{
  disable #joinall
}
#joinall end
on ^*:OPEN:?:*: {
  if ($nick == -psyBNC) {
    query -psyBNC
    echo -t -psyBNC $1+
  }
  if ( %pmb ) {
    if ( !$window(@Watch) ) {
      window -axnk0 @Watch -ds Verdana 16
      echo @Watch $str( * ,10)  * PM Blocker and Highlights catcher *  $str( * ,10)
      renwin @Watch @Watch $str(-,10) * PM Blocker and Highlights catcher * $str(-,10)
      aline @Watch -
    }
    .msg $nick Please; if you want to PM me tell me.  This PM Has been ignored.
    echo @Watch PRIVATE MESSAGE $nick on $network pm'd you at $fulldate
    beep 2 1
    halt
  }
}

on *:TEXT:*elishot*:#: {
  if ( !$window(@Watch) ) {
    window -axnk0 @Watch -ds Verdana 16
    echo @Watch $str( * ,10)  * PM Blocker and Highlights catcher *  $str( * ,10)
    aline @Watch 
    renwin @Watch @Watch $str(-,10) * PM Blocker and Highlights catcher * $str(-,10)
  }
  echo @Watch HIGHLIGHTED $nick said: $1- in $chan
  beep 2 1
}

on ^*:NOTICE:*:?: {
  who services@swiftirc.net
  if ($address($nick, 5) != services@swiftirc.net) {
    if ( !$window(@Watch) ) {
      window -axnk0 @Watch -ds Verdana 16
      echo @Watch $str( * ,10) * PM Blocker and Highlights catcher * $str( * ,10)
      aline @Watch 
      renwin @Watch @Watch $str(-,10) * PM Blocker and Highlights catcher * $str(-,10)
    }
    echo @Watch NOTICE $nick noticed you saying: $1-
    beep 2 1
  }
}

menu @Watch {
  -
  Clear: /clear | /aline @Watch       echo @Watch $str( * ,10)  * PM Blocker and Highlights catcher *  $str( * ,10) |  /aline @Watch -
  Close: /window -c @Watch
  -
  $iif(!%pmb,Enable,Disable) PM Blocker: $iif(!%pmb,inc,unset) %pmb
  -
}

menu query {
  -
  $iif(!%pmb,Enable,Disable) PM Blocker: $iif(!%pmb,inc,unset) %pmb
  -
} 
} 
alias massspank { msg $chan $c(4) $+ $chr(2) $+ WARNING: $+ $c $+ $chr(2) A mass-spank will occur in $chr(2) $+ $iif($1,$1,10) $+ $chr(2) seconds... | timerspank $+ $chan 1 $iif($1,$1,10) /mspank $chan }
alias mspank {
  var %x.spanked = 1
  while (%x.spanked <= $nick($1,0)) {
    if ($nick($1,%x.spanked) != $me) {
      describe $chan spanks $+ $c(4) $nick($1,%x.spanked) $c $+ hard on the ass!
    }
    inc %x.spanked
  }
  msg $1 $chr(91) $+ $c(4) $+ $chr(2) $+ MASS-SPANK $+ $c $+ $chr(2) $+ $chr(93) $chr(2) $+ $calc(%x.spanked - 1) $+ $chr(2) horny users have been spanked by my mighty hands
}
alias c { return $+($chr(3),$1) }

Usages:
Away: /gone Reason
Back: /back

alias gone {
  set %awayr $1-
  set %awayt $ctime
  //scon 1 | window -a $chan(1)
  amsg 14[2 Away 14]1 $1-
  away %awayr
  //scon 2 | window -a $chan(1)
  amsg 14[2 Away 14]1 $1-
  away %awayr
  //scon 1 | window -a $chan(1)
}
alias back {
  //scon 1 | window -a $chan(1)
  amsg 14[2 Back 14] 1-14 From:2 %awayr 1- 14Time Gone:2 $duration($calc($ctime - %awayt)) 1-
  away
  //scon 2 | window -a $chan(1)
  amsg 14[2 Back 14] 1-14 From:2 %awayr 1- 14Time Gone:2 $duration($calc($ctime - %awayt)) 1-
  away
  unset %away*
  //scon 1 | window -a $chan(1)
}