yeah but u have to look at if the $nick is already present in hash table or not
and why /hsave every join? for me i think is better when he exit he will save it only one time
so the code will be like this
on !*:join:#channel:{
var %N $hget(Ndata,$wildsite)
if (%N) echo 3 # $nick was $v1
if (!$istok($v1,$nick,32)) hadd -m Ndata $wildsite %N $nick
}
on *:exit:.hsave Ndata nick.data
on *:start:{
if $isfile(nick.data) {
.hmake Ndata
.hload Ndata nick.data
}
}