Share Pastebin
Guest
Public paste!

Untitled

By: a guest | Mar 19th, 2010 | Syntax: mIRC | Size: 9.61 KB | Hits: 52 | Expires: Never
Copy text to clipboard
  1. on *:load: {
  2.   set %aaslban1 1
  3.   set %aaslban2 0
  4.   set %aaslban3 1
  5.   set %aaslban4 0
  6.   set %aaslban5 0
  7.   set %aaslban6 0
  8.   set %aaslscanono 0
  9.   set %aaslscanall 1
  10.   set %aaslreason shitlisted
  11.   set %aaslkickc 1
  12.   set %aaslkickn 1
  13.   set %aaslstatus 1
  14.   set %aaslwho 1
  15.   set %aaslwhos 1
  16.   .enable #aashit
  17.   +shitlist
  18. }
  19.  
  20. on *:unload: {
  21.   unset %aasl*
  22. }
  23.  
  24. alias +shitlist { if !$dialog(shitlist) { dialog -m shitlist shitlist } }
  25. dialog shitlist {
  26.   title ":: /+shitlist ::"
  27.   size -1 -1 152 170
  28.   option dbu
  29.   tab "Users::", 100, 1 1 150 153
  30.   box "", 1, 4 14 145 137, tab 100
  31.   list 2, 7 21 139 63, size vsbar hsbar tab 100
  32.   text "*Mask*::", 17, 7 86 20 8, tab 100
  33.   edit "", 3, 30 85 116 10, autohs tab 100
  34.   text "Reason (leave blank for 'default')::", 8, 7 97 90 8, tab 100
  35.   edit "", 10, 7 105 139 10, autohs tab 100
  36.   text "Channels (leave blank for all channels)::", 4, 7 117 100 8, tab 100
  37.   edit "", 5, 7 125 139 10, autohs tab 100
  38.   button "Add", 12, 7 138 69 10, tab 100
  39.   button "Remove", 13, 77 138 69 10, tab 100
  40.   tab "Options::", 101
  41.   box "", 20, 4 14 145 137, tab 101
  42.   text "Add these masks to list (through nicklist menu)::", 21, 7 21 120 8, tab 101
  43.   check "nick!*@*", 22, 7 30 50 8, tab 101
  44.   check "*!*user@*", 23, 70 30 50 8, tab 101
  45.   check "*!*user@host", 24, 7 40 50 8, tab 101
  46.   check "*!*@host", 25, 70 40 50 8, tab 101
  47.   check "*!*user@*.host", 26, 7 50 50 8, tab 101
  48.   check "*!*@*.host", 27, 70 50 50 8, tab 101
  49.   text "Note:: it is recomended to choose ~2 types of *mask*, otherwise you can get flooded during scan.", 28, 7 60 130 16, tab 101
  50.   check "Scan for users when you get opped", 29, 7 78 100 8, tab 101
  51.   check "Scan all channels for user that was added", 30, 7 91 110 8, tab 101
  52.   text "Default kick reason (leave blank for 'Shitlisted')::", 31, 7 104 130 8, tab 101
  53.   edit "", 32, 7 114 139 10, tab 101
  54.   check "/who # on join", 34, 7 127 50 10, tab 101
  55.   check "Dont show /who stats", 35, 70 127 62 10, tab 101
  56.   check "On/off shitlist", 14, 7 138 50 10, tab 101
  57.   check "Kick counter", 33, 70 138 50 10, tab 101
  58.   button "OK", 16, 31 158 45 10, default ok
  59.   button "Readme", 200, 77 158 45 10
  60. }
  61.  
  62. on *:dialog:shitlist:sclick:*: {
  63.   if $did == 2 {
  64.     did -ra $dname 3 $did(2).seltext
  65.     did -ra $dname 5 $gettok($ulist($did(2).seltext).info,2,9)
  66.     did -ra $dname 10 $gettok($ulist($did(2).seltext).info,1,9)
  67.   }
  68.   if $did == 13 {
  69.     ruser aaslu $did(2).seltext
  70.     did -r $dname 3,5,10
  71.     did -d $dname 2 $did(2).sel
  72.   }
  73.   if $did == 12 {
  74.     if $did(3).text != $null {
  75.       auser aaslu $iif(* isin $did(3).text,$did(3).text,$did(3).text $+ !*@*) $iif($did(10).text != $null,$did(10).text,Shitlisted) $chr(9) $iif($did(5).text != $null,$did(5).text)
  76.       did -r $dname 2
  77.       shit.addlist
  78.     }
  79.     did -r $dname 3,5,10
  80.   }
  81.   if $did == 14 {
  82.     if $did(14).state == 1 {
  83.       .enable #aashit
  84.       set %aaslstatus 1
  85.     }
  86.     if $did(14).state == 0 {
  87.       .disable #aashit
  88.       set %aaslstatus 0
  89.     }
  90.   }
  91.   if $did == 16 {
  92.     $iif($did(22).state == 1,set %aaslban1 1,set %aaslban1 0)
  93.     $iif($did(23).state == 1,set %aaslban2 1,set %aaslban2 0)
  94.     $iif($did(24).state == 1,set %aaslban3 1,set %aaslban3 0)
  95.     $iif($did(25).state == 1,set %aaslban4 1,set %aaslban4 0)
  96.     $iif($did(26).state == 1,set %aaslban5 1,set %aaslban5 0)
  97.     $iif($did(27).state == 1,set %aaslban6 1,set %aaslban6 0)
  98.     $iif($did(29).state == 1,set %aaslscanono 1,set %aaslscanono 0)
  99.     $iif($did(30).state == 1,set %aaslscanall 1,set %aaslscanall 0)
  100.     $iif($did(32).text != $null,set %aaslreason $did(32).text,set %aaslreason shitlisted)
  101.     $iif($did(33).state == 1,set %aaslkickc 1,set %aaslkickc 0)
  102.     $iif($did(34).state == 1,set %aaslwho 1,set %aaslwho 0)
  103.     $iif($did(35).state == 1,set %aaslwhos 1,set %aaslwhos 0)
  104.   }
  105.   if $did == 200 {
  106.     run $findfile($mircdir,aasl_readme.txt,1)
  107.   }
  108. }
  109.  
  110. on *:dialog:shitlist:init:*: {
  111.   shit.addlist
  112.   if %aaslstatus == 1 { did -c $dname 14 }
  113.   if %aaslban1 == 1 { did -c $dname 22 }
  114.   if %aaslban2 == 1 { did -c $dname 23 }
  115.   if %aaslban3 == 1 { did -c $dname 24 }
  116.   if %aaslban4 == 1 { did -c $dname 25 }
  117.   if %aaslban5 == 1 { did -c $dname 26 }
  118.   if %aaslban6 == 1 { did -c $dname 27 }
  119.   if %aaslscanono == 1 { did -c $dname 29 }
  120.   if %aaslscanall == 1 { did -c $dname 30 }
  121.   if %aaslkickc == 1 { did -c $dname 33 }
  122.   if %aaslwho == 1 { did -c $dname 34 }
  123.   if %aaslwhos == 1 { did -c $dname 35 }
  124.   did -a $dname 32 %aaslreason
  125. }
  126.  
  127. alias shit.addlist {
  128.   var %a $ulist(*,aaslu,0)
  129.   while (%a >= 1) {
  130.     did -a shitlist 2 $ulist(*,aaslu,%a)
  131.     dec %a
  132.   }
  133. }
  134.  
  135. menu channel {
  136.   -
  137.   Shitlist
  138.   .Shitlist:/+shitlist
  139.   .-
  140.   .$iif(($me isop #) && ($group(#aashit).status == on),Scan users):/aaslscan #
  141.   -
  142. }
  143.  
  144. menu menubar {
  145.   -
  146.   Shitlist
  147.   .Shitlist:/+shitlist
  148.   .-
  149.   .ReadMe/Help:/run $findfile($mircdir,aasl_readme.txt,1)
  150.   .-
  151.   .Unload shitlist:/unload -rs aasl.mrc
  152.   -
  153. }
  154.  
  155. raw 315:*: {
  156.   if %aaslscan == on { aaslscan $2 | unset %aaslscan }
  157.   if %aaslwhos == 1 { haltdef }
  158. }
  159.  
  160. raw 352:*: {
  161.   if %aaslwhos == 1 { haltdef }
  162. }
  163.  
  164. #aashit on
  165. menu nicklist {
  166.   -
  167.   Shitlist
  168.   .Add $$1
  169.   ..Specified *masks* {
  170.     set %aaslr $?="Reason:"
  171.     $iif(%aaslban1 == 1,auser aaslu $$1 $+ !*@* $iif(%aaslr != $null,%aaslr,%aaslreason) $chr(9))
  172.     $iif(%aaslban2 == 1,auser aaslu $gettok($address($$1,1),1,64) $+ @* $iif(%aaslr != $null,%aaslr,%aaslreason) $chr(9))
  173.     $iif(%aaslban3 == 1,auser aaslu $address($$1,1) $iif(%aaslr != $null,%aaslr,%aaslreason) $chr(9))
  174.     $iif(%aaslban4 == 1,auser aaslu $address($$1,2) $iif(%aaslr != $null,%aaslr,%aaslreason) $chr(9))
  175.     $iif(%aaslban5 == 1,auser aaslu $address($$1,3) $iif(%aaslr != $null,%aaslr,%aaslreason) $chr(9))
  176.     $iif(%aaslban6 == 1,auser aaslu $address($$1,4) $iif(%aaslr != $null,%aaslr,%aaslreason) $chr(9))
  177.     aaslkick $chan $$1 $iif(%aaslr != $null,%aaslr,%aaslreason)
  178.     unset %aaslr
  179.   }
  180.   ..-
  181.   ..$$1 $+ !*@* {
  182.     set %aaslr $?="Reason:"
  183.     auser aaslu $$1 $+ !*@* $iif(%aaslr != $null,%aaslr,%aaslreason) $chr(9)
  184.     aaslkick $chan $$1 $iif(%aaslr != $null,%aaslr,%aaslreason)
  185.     unset %aaslr
  186.   }
  187.   ..$gettok($address($$1,1),1,64) $+ @* {
  188.     set %aaslr $?="Reason:"
  189.     auser aaslu $gettok($address($$1,1),1,64) $+ @* $iif(%aaslr != $null,%aaslr,%aaslreason) $chr(9)
  190.     aaslkick $chan $$1 $iif(%aaslr != $null,%aaslr,%aaslreason)
  191.     unset %aaslr
  192.   }
  193.   ..$address($$1,1) {
  194.     set %aaslr $?="Reason:"
  195.     auser aaslu $address($$1,1) $iif(%aaslr != $null,%aaslr,%aaslreason) $chr(9)
  196.     aaslkick $chan $$1 $iif(%aaslr != $null,%aaslr,%aaslreason)
  197.     unset %aaslr
  198.   }
  199.   ..$address($$1,2) {
  200.     set %aaslr $?="Reason:"
  201.     auser aaslu $address($$1,2) $iif(%aaslr != $null,%aaslr,%aaslreason) $chr(9)
  202.     aaslkick $chan $$1 $iif(%aaslr != $null,%aaslr,%aaslreason)
  203.     unset %aaslr
  204.   }
  205.   ..$address($$1,3) {
  206.     set %aaslr $?="Reason:"
  207.     auser aaslu $address($$1,3) $iif(%aaslr != $null,%aaslr,%aaslreason) $chr(9)
  208.     aaslkick $chan $$1 $iif(%aaslr != $null,%aaslr,%aaslreason)
  209.     unset %aaslr
  210.   }
  211.   ..$address($$1,4) {
  212.     set %aaslr $?="Reason:"
  213.     auser aaslu $address($$1,4) $iif(%aaslr != $null,%aaslr,%aaslreason) $chr(9)
  214.     aaslkick $chan $$1 $iif(%aaslr != $null,%aaslr,%aaslreason)
  215.     unset %aaslr
  216.   }
  217.   -
  218. }
  219.  
  220. alias -l aaslkick {
  221.   if %aaslscanall == 1 {
  222.     var %c 1
  223.     while (%c <= $comchan($2,0)) {
  224.       if $me isop $comchan($2,%c) {
  225.         mode $comchan($2,%c) +b $address($2,1)
  226.         kick $comchan($2,%c) $2 $3- $iif(%aaslkickc == 1,< $+ %aaslkickn $+ >)
  227.       }
  228.       inc %c
  229.     }
  230.   }
  231.   else {
  232.     if $me isop $chan {
  233.       mode $1 +b $address($2,1)
  234.       kick $1 $2 $3- $iif(%aaslkickc == 1,< $+ %aaslkickn $+ >)
  235.     }
  236.   }
  237. }
  238.  
  239. on *:kick:#: {
  240.   if $nick == $me {
  241.     inc %aaslkickn
  242.   }
  243. }
  244.  
  245. on @*:join:#: {
  246.   if ($level($fulladdress) == aaslu) {
  247.     if (# isin $gettok($ulist($fulladdress).info,2,9)) || ($gettok($ulist($fulladdress).info,2,9) == $null) {
  248.       mode # +b $address($nick,1)
  249.       kick # $nick $gettok($ulist($fulladdress).info,1,9) $iif(%aaslkickc == 1,< $+ %aaslkickn $+ >)
  250.     }
  251.   }
  252. }
  253.  
  254. on *:join:#: {
  255.   if $nick == $me {
  256.     if %aaslwho == 1 {
  257.       who #
  258.     }
  259.   }
  260. }
  261.  
  262. on *:op:#: {
  263.   if $opnick == $me {
  264.     if %aaslscanono == 1 {
  265.       aaslscan #
  266.     }
  267.   }
  268. }
  269.  
  270. on *:nick: {
  271.   if ($level($address($newnick,5)) == aaslu) {
  272.     var %c 1
  273.     while (%c <= $comchan($newnick,0)) {
  274.       if $me isop $comchan($newnick,%c) {
  275.         if ($comchan($newnick,%c) isin $gettok($ulist($address($newnick,5)).info,2,9)) || ($gettok($ulist($address($newnick,5)).info,2,9) == $null) {
  276.           mode $comchan($newnick,%c) +b $address($newnick,1)
  277.           kick $comchan($newnick,%c) $newnick $gettok($ulist($address($newnick,5)).info,1,9) $iif(%aaslkickc == 1,< $+ %aaslkickn $+ >)
  278.         }
  279.       }
  280.       inc %c
  281.     }
  282.   }
  283. }
  284.  
  285. alias aaslscan {
  286.   if $me isop $1 {
  287.     if ($chan($1).ial == $false) {
  288.       .ial on
  289.       set %aaslscan on
  290.       who $1
  291.       echo -a 10:: 12Please wait while /who $1 $+  command is performed...
  292.     }
  293.     else {
  294.       var %n 1
  295.       while (%n <= $nick($1,0)) {
  296.         var %u 1
  297.         while (%u <= $ulist(*,aaslu,0)) {
  298.           if ($ulist(*,aaslu,%u) iswm $address($nick($1,%n),5)) {
  299.             if ($1 isin $gettok($ulist(*,aaslu,%u).info,2,9)) || ($gettok($ulist(*,aaslu,%u).info,2,9) == $null) {
  300.               mode $1 +b $address($nick($1,%n),1)
  301.               if $nick($1,%n) ison $1 {
  302.                 kick $1 $nick($1,%n) $gettok($ulist($address($nick($1,%n),5)).info,1,9) $iif(%aaslkickc == 1,< $+ %aaslkickn $+ >)
  303.               }
  304.             }
  305.           }
  306.           inc %u
  307.         }
  308.         inc %n
  309.       }
  310.     }
  311.   }
  312. }
  313. #aashit end