dialog clonescan { title "clone scanner by |Rabbi|" size -1 -1 230 120 option dbu button "ok",1, 60 90 10 10 box "",2, 45 5 170 80 list 3, 47 10 165 77 list 4, 3 8 40 82 button "clone scan",5, 50 87 30 10 button "ircop scan",7, 103 87 32 10 button "away scan",8, 158 87 40 10 button "kick+ban all",9, 70 106 34 10 button "kick+ban only selected",10, 120 106 60 10 } menu channel { clonescan: { dialog -m clonescan clonescan } } on *:dialog:clonescan:init:0: { did -h $dname 1 var %clonec 1 while ($comchan($me,%clonec)) { did -a $dname 4 $ifmatch inc %clonec } } on *:dialog:clonescan:sclick:*: { if ($did == 5) && ($did($dname,4).seltext) { set %clonescan on unset %awayscan %ircopscan did -r $dname 3 who $did($dname,4).seltext unset %allnick %allhost did -a $dname 3 scanning for clone in $did($dname,4).seltext .............. } if ($did == 7) && ($did($dname,4).seltext) { set %ircopscan on unset %awayscan %clonescan did -r $dname 3 who $did($dname,4).seltext unset %ircopnicks did -a $dname 3 scanning for ircop in $did($dname,4).seltext .............. } if ($did == 9) && ($me isop $did($dname,4).seltext) && ($numtok(%allhost,32) > 0) { var %gethost 1 while ($gettok(%allnick,%gethost,32)) { ban -u600 $did($dname,4).seltext $address($gettok(%allnick,%gethost,32),2) kick $did($dname,4).seltext $gettok(%allnick,%gethost,32) clone is not allowed inc %gethost } } if ($did == 9) && ($me !isop $did($dname,4).seltext) { var %notop = $input(you are not op in $did($dname,4).seltext,64,alert!) } if ($did == 10) && ($me isop $did($dname,4).seltext) && ($numtok(%allhost,32) > 0) { ban -u600 $did($dname,4).seltext $remove($gettok($did(clonescan,3).seltext,3,40),$chr(41)) var %gethost 1 while ($ialchan($remove($gettok($did(clonescan,3).seltext,3,40),$chr(41)),$did($dname,4).seltext,%gethost)) { kick $did($dname,4).seltext $ialchan($remove($gettok($did(clonescan,3).seltext,3,40),$chr(41)),$did($dname,4).seltext,%gethost).nick clone is not allowed inc %gethost } } if ($did == 10) && ($me !isop $did($dname,4).seltext) { var %notop = $input(you are not op in $did($dname,4).seltext,64,alert!) } if ($did == 8) { unset %clonescan %ircopscan set %awayscan on did -r $dname 3 who $did($dname,4).seltext unset %awaynicks did -a $dname 3 scanning for away nicks in $did($dname,4).seltext ............ } } raw 315:*: { if ($dialog(clonescan)) && ($2 == $did(clonescan,4).seltext) && (%clonescan == on) { var %clonecheck 1,%clonehost while ($ialchan(*,$did(clonescan,4).seltext,%clonecheck)) { %clonehost = *!*@ $+ $ialchan(*,$did(clonescan,4).seltext,%clonecheck).host if ($ialchan(%clonehost,$did(clonescan,4).seltext,0) >= 2) && (!$istok(%allhost,%clonehost,32)) { set %allhost $addtok(%allhost,%clonehost,32) var %clonenick 1,%totalnick while ($ialchan(%clonehost,$did(clonescan,4).seltext,%clonenick)) { %totalnick = $addtok(%totalnick,$ialchan(%clonehost,$did(clonescan,4).seltext,%clonenick).nick,32) set %allnick $addtok(%totalnick,$ialchan(%clonehost,$did(clonescan,4).seltext,%clonenick).nick,32) inc %clonenick } did -a clonescan 3 clone nick( $+ %totalnick $+ ) host( $+ %clonehost $+ ) } inc %clonecheck } if ($numtok(%allhost,32) == 0) { did -a clonescan 3 -------- no clone found in $did(clonescan,4).seltext ---------- } } if (%awayscan == on) && ($numtok(%awaynicks,32) > 0) { did -a clonescan 3 --------- Total $numtok(%awaynicks,32) nicks found in $did(clonescan,4).seltext --------- var %awayvar 1 while ($gettok(%awaynicks,%awayvar,32)) { did -a clonescan 3 $ifmatch $address($ifmatch,2) inc %awayvar } } if (%awayscan == on) && ($numtok(%awaynicks,32) == 0) { did -a clonescan 3 -------- no away nick found in $did(clonescan,4).seltext --------- } if (%ircopscan == on) && ($numtok(%ircopnicks,32) > 0) { did -a clonescan 3 --------- Total $numtok(%ircopnicks,32) ircop in $did(clonescan,4).seltext --------- var %ircop 1 while ($gettok(%ircopnicks,%ircop,32)) { did -a clonescan 3 $ifmatch $address($ifmatch,2) inc %ircop } } if (%ircopscan == on) && ($numtok(%ircopnicks,32) == 0) { did -a clonescan 3 -------- no ircop found in $did(clonescan,4).seltext --------- } } raw 352:*: { if (%awayscan == on) && ($left($7,1) == G) && ($dialog(clonescan)) { set %awaynicks $addtok(%awaynicks,$6,32) } if (%ircopscan == on) && ($chr(42) isin $7) && ($dialog(clonescan)) { set %ircopnicks $addtok(%awaynicks,$6,32) } } on *:dialog:clonescan:*:*: { if ($did == 0) && ($devent == close) { unset %allhost %allnick %clonescan %awayscan %ircopscan %clonenicks %awaynicks %ircopnicks } }