All pastes #2121913 Raw Edit

OldNicks.mrc

public text v1 · immutable
#2121913 ·published 2012-02-27 02:33 UTC
rendered paste body
on *:load:{ hmake OldNicks 10000 | set %OldNicks.last 20 | echo -a Old Nicks loaded. 20 last nicknames shown on join. Change this in the menubar. }
on *:unload:{ hsave OldNicks OldNicks.hsh | hfree OldNicks | unset %OldNicks.* | echo -a Old Nicks unloaded. All variables regarding the script cleared. }
on *:start:{ hmake OldNicks 10000 | hload OldNicks OldNicks.hsh }
on *:exit:{ hsave OldNicks OldNicks.hsh | hfree OldNicks }

#OldNicks on
on *:join:#:{
  var %OldNicks.join = $hget(OldNicks,$address($nick,2))
  if (!%OldNicks.join) && ($gettok($nick,$numtok($nick,95),95) !isnum) { hadd OldNicks $address($nick,2) $nick | halt }
  if (%OldNicks.join) {
    if ($nick != $me) { echo $color(join) # $+($chr(91),$numtok(%OldNicks.join,32),$chr(32),nickname $+ $iif($numtok(%OldNicks.join,32) != 1,s),$chr(93)) $gettok(%OldNicks.join,1- $+ %OldNicks.last,32) }
    if ($gettok($nick,$numtok($nick,95),95) isnum) { halt }
    if (!$istok(%OldNicks.join,$nick,32) && $len(%OldNicks.join) < 200) { hadd OldNicks $address($nick,2) $nick %OldNicks.join }
    if (!$istok(%OldNicks.join,$nick,32) && $len(%OldNicks.join) > 200) { hadd OldNicks $address($nick,2) $nick $gettok(%OldNicks.join,32,- $+ $calc($numtok(%OldNicks.join,32) - 1)) } 
  }
}
on *:nick:{
  var %OldNicks.nick = $hget(OldNicks,$address($newnick,2))
  if (!%OldNicks.nick) && ($gettok($newnick,$numtok($newnick,95),95) !isnum) { hadd OldNicks $address($newnick,2) $newnick $nick | halt }
  if (%OldNicks.nick) {
    if ($gettok($newnick,$numtok($newnick,95),95) isnum) { halt }
    if (!$istok(%OldNicks.nick,$newnick,32) && ($len(%OldNicks.nick) < 200)) { hadd OldNicks $address($newnick,2) $newnick %OldNicks.nick }
    if (!$istok(%OldNicks.nick,$newnick,32) && ($len(%OldNicks.nick) > 200)) { hadd OldNicks $address($newnick,2) $newnick $gettok(%OldNicks.nick,32,- $+ $calc($numtok(%OldNicks.nick,32) - 1)) }
  }
}
raw 311:*:{ if ($hget(OldNicks,*!*@ $+ $4)) { echo $color(whois) -a $+($chr(91),Nicknames:,$chr(93)) $hget(OldNicks,*!*@ $+ $4) } }
raw 314:*:{ if ($hget(OldNicks,*!*@ $+ $4)) { echo $color(whois) -a $+($chr(91),Nicknames:,$chr(93)) $hget(OldNicks,*!*@ $+ $4) } }
alias -l OldNicks.last {
  if (%OldNicks.last > 0) {
    set %OldNicks.last $$?="How many nicknames do you wish to show on join?"
    echo -a Old Nicks will now show the last %OldNicks.last nickname $+ $iif(%OldNicks.last > 1,s) $+ .
  }
  if (%OldNicks.last < 1) { echo -a You must choose a number above 0 to actually display the last nicknames used. }
}
alias -l OldNicks.check {
  if ($hget(OldNicks,$address($1,2))) { echo -a $+($chr(91),Nicknames:,$chr(93)) $hget(OldNicks,$address($1,2)) | halt }
  echo -a There are no past nicknames for $1 $+ .
}
#OldNicks end
menu menubar {
  -
  Old Nicks $+ $chr(58) $bytes($hget(OldNicks,0).item,b) entries
  .On $iif($group(#OldNicks),X) :if (!$group(#OldNicks)) { .enable #OldNicks | echo -a Old Nicks is now turned on. }
  .Off $iif(!$group(#OldNicks),X) :if ($group(#OldNicks)) { .disable #OldNicks | echo -a Old Nicks is now turned off. }
  .-
  .Max Nicks Listed $+ $chr(58) %OldNicks.last :OldNicks.last
}
menu nicklist {
  -
  Old Nicks
  .Check past nicknames for $1 :OldNicks.check $1
}