All pastes #779160 Raw Edit

Mine

public text v1 · immutable
·published 2007-11-18 07:05 UTC
rendered paste body
on *:start:{
  if !$hget(AKA) { .hmake AKA 100 }
  if $exists($scriptdirAKA.hsh) { .hload AKA $scriptdirAKA.hsh }
  if !$hget(AKA,Version) || $ctime($hget(AKA,Version)) < $ctime(12/06/2007) {
    var %reset = $$Input(An older version of $nopath($script) has been used.  Regretfully the current version is not compatable with older versions. Press Yes to reset all stored information $+ $chr(44) or No to unload this version,y)
    if %reset {
      if $exists($scriptdirAKA.hsh) {        .remove $scriptdirAKA.hsh      }
      .hfree AKA
      .hmake AKA 100
    }
    else {
      echo 4 -a $nopath($script) will now unload due to compatability issues
      .unload -rs $script
    }
  }
}
#aka on
on !*:join:#:{
  aka $address $nick $chan
}
alias -l aka {
  if !$hget(AKA,$1) {    .hinc -m AKA $1  }
  if !$hfind(AKA,$+(*,$chr(32),$2,$chr(32),*),1,w).data {
    if $calc($len($hget(aka,$+($1,.,$hget(aka,$1)))) + $len($2)) >  900 {      .hinc -m aka $1    }
    .hadd -m aka $+($1,.,$hget(aka,$1)) $addtok($hget(aka,$+($1,.,$hget(aka,$1))),$2,32)
    .hinc -m aka $+($1,.0)
    if $hget(aka,limit) { 
      while $hget(aka,$+($1,.0)) > $hget(aka,limit) {
        var %address_remove = $calc($hget(aka,$+($1,.0)) - $hget(aka,limit))
        var %a = 1
        while %a <= $hget(aka,$1) {
          if $numtok($hget(aka,$+($1,.,%a)),32) > $hget(aka,limit) {
            .hdec aka $+($1,.0) $v1
            .hdel aka $+($1,.,%a)
            .hdec aka $1
          }
          inc %a
        }
      }
      var %a = 1
      while !$hget(aka,$+($1,.,%a)) {
        inc %a
      }
      var %b = %a, %a = 1
      while %a <= %b  {
        .hadd -m aka $+($1,.,%a) $hget(aka,$+($1,.,$calc(%a + %b)))
        inc %a
      }
    }
  }
  if $hget(aka,$1) == 1 && $numtok($hget(aka,$+($1,.1)),32) == 1 {    return  }
  else {
    var %a = 1, %b = $hget(aka,$1)
    echo $3 $+(,$iif($hget(aka,fore) isnum,$v1,4),$chr(44),$iif($hget(aka,back) isnum,$v1,99)) $2 aka
    while %a <= %b {
      echo $3 $+(,$iif($hget(aka,fore),$v1,4),$chr(44),$iif($hget(aka,back),$v1,99)) $replace($remtok($hget(aka,$+($1,.,%a)),$2,1,32),$chr(32),$+($chr(44),$chr(32)))
      inc %a
    }
  }
}
on !*:nick:{
  aka $address $newnick $comchan($newnick,1)
}
#aka end
on *:exit:{
  .hsave -o AKA $scriptdirAKA.hsh
}
on *:disconnect:{
  .hsave -o AKA $scriptdirAKA.hsh
}
menu * {
  Alias Tracker
  .Turn $iif($group(#aka) == on,off,on) : $iif($group(#aka) == on,.disable,.enable) #aka
  .Set Foreground colour : colour fore $$?="Foreground colour (0-16)" 
  .Set Background colour : colour back $$?="Background colour (0-16)"
  .Limit Tracked nicks - Currently $iif($hget(aka,limit),$v1,Unlimited) : .hadd -m aka limit $$?="Maximum nicks per address"
}
alias -l colour {
  .hadd -m aka $1 $iif($2 !isnum 0-15,99,$2)
}