Hum sorry,
Code:
on *^:join:#:{
  var %i = 1,%a,%b = $gettok($hget(lastnicks,$site),1,32)
  while $ialchan($1,$2,%i).nick { %a = %a $v1 | inc %i }
  ; %a is set all nicks from $site
  if %b && $v1 != $nick { %b = [Last Nick: $v1 $+ ] } | else var %b
  ; if <lastnick> is the current nick it will not be shown
  if $remtok(%a,$nick,32) { %a = [Clones: $v1 $+ ] } | else var %a
  ; check if there are any clones to display
[color:blue]  echo -tic join #  · · Joins $nick $+([,$address,][color:red])[/color] %a %b[/color]
  hadd -m lastnicks $site $nick $ctime
  ; update hash table
  .timerlastnick 1 3 hsave lastnicks lastnicks.hsh
  ; save hash table, timer so it isn't saved multiple times if multiple joins
  haltdef
}
on *:nick:{
  ; Update hash table
[color:blue]  hadd [color:red]-m[/color] lastnicks $site $newnick $ctime[/color]
}
on *:disconnect:{
  hsave lastnicks lastnicks.hsh
}
on *:start:{
  hmake lastnicks 10
  ; Makes table
  if $isfile(lastnicks.hsh) { hload lastnicks lastnicks.hsh }
  ; loads table entries
  var %i = 1,%a
  while $hget(lastnicks,%i).item {
    ; loop all entries
    %a = $v1
    if $gettok($hget(lastnicks,%a),2,32) < $calc($ctime - 604800) { hdel lastnicks %a }
    ; delete entries not used for more than one week - adjust 604800 for more or less time.
    inc %i
  }
  hsave lastnicks lastnicks.hsh
  ; resave the table
}


BTW:
  • * Invalid format: $+ (line 176,script.mrc)
    * Invalid format: $+ (line 167, script.mrc)
    * /hadd: no such table 'lastnicks' (line 176, Added.si2)
    * Invalid format: $+ (line 167, script.mrc)

There is no line with both a "$+" and "hadd" in it smile