Clone Scanner
Usage: /cs (on a channel)
alias cs {
if ($active ischan) {
unset %cs.*
if ($window(@CloneScan) == $null) { .window -e @CloneScan }
var %cs.i = 0
var %cs.total
.clear @CloneScan
.aline $colour(notify) @CloneScan * Scanning # For Clones...
var %cs.ticks = $ticks
while (%cs.i < $nick(#,0)) {
inc %cs.i
if (($ialchan($address($nick(#,%cs.i),2),#,0) > 1) && ($istok(%cs.tmp.address,$address($nick(#,%cs.i),2),32) == $false)) {
var %cs.tmp.address = $addtok(%cs.tmp.address,$address($nick(#,%cs.i),2),32)
inc %cs.total
var %cs.l = 0
while (%cs.l < $ialchan($address($nick(#,%cs.i),2),#,0)) {
inc %cs.l
var %cs.nicks = $addtok(%cs.nicks,$ialchan($address($nick(#,%cs.i),2),#,%cs.l).nick,44)
}
.aline $colour(info) @CloneScan * < $+ %cs.total $+ > ( $+ $address($nick(#,%cs.i),2) $+ ) %cs.nicks
unset %cs.nicks
}
}
.aline $colour(ctcp) @CloneScan * $iif(%cs.total == $null,No clones were found., [ %cs.total ] group(s) of clones were found.)
.aline $colour(action) @CloneScan * Scan duration : $calc(($ticks - %cs.ticks) / 1000) secs.
}
}