You could try something along the lines of..
alias hash { return times }
On *:Start: {
hmake $hash
if ($isfile(times.dat)) hload -oi $hash times.dat
}
On *:Join:#: {
if (!$hget($hash)) hmake $hash
if (!$hget($hash,$nick)) { hadd $hash $nick $time }
else { hadd $hash $nick $+($hget($hash,$nick),$chr(44),$time) }
hsave -oi $hash times.dat
}
alias times {
if ($hfind($hash,$1)) echo -a $1 has joined at these times: $hget($hash,$1)
}
When someone joins the channel their nickname gets stored in a hash table which is then saved further on in the event. If the nick exists it gets seperated by a , (comma) with the date next to the previous.
Example:
When they first join:
Andy=16:40:03.
If that's their third join:
Andy=16:40:03,16:40:59,16:43:09
You can check back for references by typing /times <nick> if you was to type /times Andy as used above you'd get a message echoed to you saying: Andy has joined at these times: 16:40:03,16:40:59,16:43:09.
*Note: If you want it for $ctime instead of $time, that can easily be changed from:
if (!$hget($hash,$nick)) { hadd $hash $nick $time }
else { hadd $hash $nick $+($hget($hash,$nick),$chr(44),$time) }
to:
if (!$hget($hash,$nick)) { hadd $hash $nick $ctime }
else { hadd $hash $nick $+($hget($hash,$nick),$chr(44),$ctime) }
When mIRC closes, data wont be lost. mIRC loads it back in when you start your script. Hope this helps.
-Andy