Kod: Kodu kopyalamak için üzerine çift tıklayın!
ON *:START: {
; Create a hash table and load the saved user data
hmake trackusers 10
if ($isfile(trackusers.dat)) {
hload trackusers trackusers.dat
}
}
on *:JOIN:#: {
; Check if there are any nicknames for this mask
if ($hget(trackusers,$address($nick,3))) {
var %n = $ifmatch
; Delete the current nickname from the list of used nicknames
if ($istok(%n,$nick,32)) { var %d = $deltok(%n,$findtok(%n,$nick,1,32),32) }
else { var %d = %n }
; If there are no nicknames left in the list then stop
if (!%d) { return }
; Display the nicknames
echo $colour(info) -ti2 $chan * $nick has also used the nickname $+ $iif($numtok(%d,32) > 1,s:,:) %d
if (!$istok(%n,$nick,32)) {
; Add the current nickname to the list
hadd trackusers $address($nick,3) %n $nick
}
}
else {
; Create a new entry for this mask
hadd trackusers $address($nick,3) $nick
}
}
on *:NICK: {
if ($hget(trackusers,$address($newnick,3))) {
var %n = $ifmatch
if (!$istok(%n,$newnick,32)) {
; Append the new nickname to the list for this mask
hadd trackusers $address($newnick,3) %n $newnick
}
}
else {
; Create a new entry for this mask
hadd trackusers $address($nick,3) $newnick
}
}
menu nicklist {
Track Users
.View Other Nicknames:{
if (!$address($$1,3)) { echo $colour(info) -ti2 # * IAL not updated for $$1 $+ , performing userhost lookup | userhost $$1 | return }
if ($hget(trackusers,$address($$1,3))) {
var %n = $ifmatch
if ($istok(%n,$$1,32)) { var %d = $deltok(%n,$findtok(%n,$$1,1,32),32) }
else { var %d = %n }
if (!%d) { goto notknown }
echo $colour(info) -ti2 # * $$1 has also used the nickname $+ $iif($numtok(%d,32) > 1,s:,:) %d
}
else {
:notknown
echo $colour(info) -ti2 # * $$1 has not been known by any other nickname
}
}
; This resets the data for this nick's mask only
.Reset:hdel trackusers $address($$1,3)
}
ON *:EXIT: {
; Save data on exit
if ($hget(trackusers)) { hsave -o trackusers trackusers.dat }
}