This snippet uses hash tables to track which nicknames a user has used. It displays a user's nicknames when they join a channel or when you request the information through the nicklist popup. This snippet uses mask type 3 to track users.
; Paste into the remotes section of mIRC (Alt+R).
; After the code has been pasted either restart mIRC
; or type '/hmake trackusers 10' into your Status Window
; Tye @ DALnet #mIRC/Undernet #hawkee.com, #mIRC.net
; tye at tye.ca
ON *:START: {
hmake trackusers 10
if ($isfile(trackusers.dat)) {
hload trackusers trackusers.dat
}
}
on *:JOIN:#: {
if ($hget(trackusers,$address($nick,3))) {
var %n = $ifmatch
if ($istok(%n,$nick,32)) { var %d = $deltok(%n,$findtok(%n,$nick,1,32),32) }
else { var %d = %n }
if (!%d) { return }
echo $colour(info) -ti2 $chan * $nick has also used the nickname $+ $iif($numtok(%d,32) > 1,s:,:) %d
if (!$istok(%n,$nick,32)) {
hadd trackusers $address($nick,3) %n $nick
}
}
else {
hadd trackusers $address($nick,3) $nick
}
}
on *:NICK: {
if ($hget(trackusers,$address($newnick,3))) {
var %n = $ifmatch
if (!$istok(%n,$newnick,32)) {
hadd trackusers $address($newnick,3) %n $newnick
}
}
else {
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
}
}
.Reset:hdel trackusers $address($$1,3)
}
ON *:EXIT: {
if ($hget(trackusers)) { hsave -o trackusers trackusers.dat }
}
Tye, this is a good script and I love it for use when someone joins under a different nickname than usual...But the script vetoes use of the normal pop-up menu when you right-click someone\'s name...Now, typing in \"/notify JimBob\" or \"/ignore JimBob\" really isn\'t that hard, it\'s still a bit less convenient to not have it...