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.* } }