ms.org'da RG tarafından yazılan clone scannerın benim tarafımdan biraz değiştirilmiş hali, hash table kullandığı için set line too long gibi hatalar almazsın. Kullanmak istediğin kanalda /clonescan yaz ya da /clonescan #kanal-ismi komutuyla kullan. İşte kod: alias clonescan {
var %ch = $iif(!$1 && $active ischan,$active,$1),%i = 1 ,%w,%tmp,%groups = 0,%ticks = $ticks
if $me !ison %ch { return }
if !$chan(%ch).ial { echo ial for %ch is not ready! Type /who %ch and try again | return }
hmake clones 100
%tmp = $ialchan(*,%ch,0)
while %i <= %tmp {
%w = $address($nick(%ch,%i),2)
hadd clones %w $addtok($hget(clones,%w),$nick(%ch,%i),44)
inc %i
}
%i = 1
window -aCldk0 -t20,25 @Clones -1 -1 600 300 Tahoma 11
aline @Clones Address: $chr(9) Number: $chr(9) Nicks:
aline @Clones -
while %i <= %tmp {
var %k = 1
%w = $null
if $numtok($hget(clones,%i).data,44) > 1 {
%k = $ifmatch
%w = $hget(clones,%i).data
inc %groups
aline @Clones $hget(clones,%i).item $chr(9) ( $+ %k $+ ) $chr(9) %w
}
inc %i
}
hfree clones
aline @Clones -
aline @Clones %groups group(s) of clones found in %ch $+ .Finished in $calc(($ticks - %ticks) / 1000) sec
}
Umarım işine yarar. |