on *:start: {
hmake nickonline 500
}
on *:join:#: {
if ( $nick == $me ) {
enable #nickraws
}
hadd nickonline $+($cid,.,$chan,.,$nick) $ctime
}
#nickraws off
raw 366:*: {
var %i = 1 , %j = $nick($2,0) , %ctime = $ctime
while ( %i <= %j ) {
hadd nickonline $+($cid,.,$2,.,$nick($2,%i)) %ctime
inc %i
}
disable #nickraws
}
#nickraws end
on *:part: {
if ( $nick == $me ) {
hdel -w nickonline $+($cid,.,$chan,.,*)
}
else {
hdel nickonline $+($cid,.,$chan,.,$nick)
}
}
on *:nick: {
;was it $nick or $newnick you had to loop trough w/ $comchan???
var %i = 1 , %j = $comchan($nick,0)
while ( %i <= %j ) {
hadd nickonline $+($cid,.,$comchan($nick,%i),.,$newnick) $hget(nickonline,$+($cid,.,$comchan($nick,%i),.,$nick)
hdel nickonline $+($cid,.,$comchan($nick,%i),.,$nick)
inc %i
}
}
on *:quit: {
var %i = 1 , %j = $comchan($nick,0)
while ( %i <= %j ) {
hdel nickonline $+($cid,.,$comchan($nick,%i),.,$nick)
inc %i
}
}
on *:disconnect: {
hdel -w nickonline $cid $+ .*
}
;Aliases
alias nickonline {
;$1 = #channel
;$2 = nick
;$3 = cid, if omitted current $cid used
if ( $isid ) {
return $calc($ctime - $hget(nickonline,$+($iif($3,$3,$cid),.,$1,.,$2))
}
}