on $*:Text:/^[!@]check */Si:#:{
if ($address($nick,2) != $address($me,2)) { .notice $nick This command is for personal use only. | halt }
else {
set %chanclones.chan $chan
if ($me !ison $chan) { .notice $nick I must be on a channel to find out how many clones it has. | halt }
}
$iif($left($1,1) == @,set %chanclones.target msg $chan,set %chanclones.target notice $nick)
set %chanclones.users $nick(%chanclones.chan,0)
set %chanclones.user 1
set %chanclones.clones 0
while (%chanclones.user <= %chanclones.users) {
set %chanclones.nick 1
while (%chanclones.nick <= %chanclones.users) {
if ($address($nick(%chanclones.chan,%chanclones.user),2) iswm $address($nick(%chanclones.chan,%chanclones.nick),2)) {
if (($nick(%chanclones.chan,%chanclones.user) == $nick(%chanclones.chan,%chanclones.nick)) || ($eval($+(%,chanclones.cloned,.,$nick(%chanclones.chan,%chanclones.nick)),2) == on) || ($eval($+(%,chanclones.cloned,,.,$nick(%chanclones.chan,%chanclones.user)),2) == on)) { noop }
;This line checks if the nick being searched has previously been cloned.
else {
%chanclones.target $nick(%chanclones.chan,%chanclones.nick) is a clone of $+($nick(%chanclones.chan,%chanclones.user),.)
inc %chanclones.clones
set $+(%,chanclones.cloned,.,$nick(%chanclones.chan,%chanclones.nick)) on
;This "knocks out" the nick that is found to be cloned, so it will not be evaluated later.
}
}
inc %chanclones.nick
}
inc %chanclones.user
unset %chanclones.nick
}
%chanclones.target Done searching for Clones. %chanclones.clones clone(s) are on $+(%chanclones.chan,.)
unset %chanclones.*
}
}