I made a clone scanner and it turned out harder as i thought cause i wouldnt accept the $address cause then its very well possible many addresses arent in ur IAL.
so i decided to do it differently and used /who
it also does not lagg, i tested in #mIRC on swiftirc with 125 users and had the results in less then a second :)
thanks jaytea for telling me about /filter
when u load it it explains how it works:P
on *:load:{
echo -ta ###############################################
echo -ta #Clone scanner loaded #
echo -ta #Made by kerst on irc.swiftirc.net #
echo -ta #Typ /clone #chan to start #chan is optional #
echo -ta #Uses /who option so might spam status #
echo -ta ###############################################
}
dialog clone {
title "Clone Scanner"
size -1 -1 259 115
option dbu
edit "#channel", 1, 63 4 48 10
text "Channel to clone scan", 2, 6 5 56 8
button "Scan", 3, 155 3 37 12
list 4, 5 29 119 78, size hsbar vsbar
list 5, 127 29 127 78, size hsbar vsbar
text "User addresses", 6, 128 18 64 8
text "Clones:", 7, 5 18 25 8
button "clear", 8, 202 3 37 12
}
on *:dialog:clone:sclick:8:{
.remove clones.txt
did -r clone 4
did -r clone 5
}
on *:dialog:clone:sclick:3:{
.remove clones.txt
did -r clone 4
did -r clone 5
if ($me !ison $did(clone,1)) join $did(clone,1) | .who $did(clone,1) | .timer -m 1 100 clonecheck
}
raw 352:*:{
if ($dialog(clone)) {
did -a clone 5 $6 $4
write clones.txt $4
}
}
alias clone {
dialog -md clone clone
if ($1) { did -ra clone 1 $1
.who $1
.timer -m 1 100 clonecheck
}
}
alias clonecheck { var %x = 1
while ($did(clone,5,%x)) { filter -ff clones.txt NUL $gettok($did(clone,5,%x),2,32)
if ($filtered != 1) { did -a clone 4 $did(clone,5,%x) }
inc %x
}
.remove clones.txt
}
on *:dialog:clone:close:0:{
.remove clones.txt
}
To restrict or eliminate status window flooding, consider checking for the raw returns when using the /who command.
Check http://www.mirc.net/raws/ for details on raws