rendered paste bodyon *: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)
}