[about]
This script has been created by MUTU.
For more help, queries or ideas visit
my site http://mutu.cjb.net/.
Please do ask my permission before
you include this addon in your script
and release it, even if you do not edit
the code......and please don't edit the
addon.....and NO RIPPING!

[help]
1=MUTU Ban Protection 7.3 Help
2=
3=Installation:
4=If you are seeing this from an mIRC dialog,
5=it means that this script is well installed.
6=
7=To install this script type:
8=/load -rs MUTUBanProt73.ini
9=or if the file is in a folder other than the
10=one of the mIRC executable (mirc32.exe),
11=type in the root of the file too.
12=Eg: /load -rs C:\Addons\MUTUBanProt73.ini
13=There are some initialisation commands,
14=so click Yes when asked to run them.
15=
16=
17=Use:
18=To understand certain elemnts of the
19=interface, especially the 'Capture IP Ban',
20=you need to read further down.
21=The channel exlusion list is to exempt
22=channels of your choice from the protection.
23=To add a channel, type it in the editbox and
24=then press ENTER. To remove a channel,
25=you need to double click on it from the list.
26=
27=
28=Versions:
29=7.3
30=- Removed success channel msg bug that
31=  didn't switch off
32=- Included option to set punishing on or off
33=
34=7.2
35=- Added validation checks for channel names
36=- Removed multiple channel names bug
37=
38=7.11
39=- Removed some bugs from interface
40=
41=7.1
42=- Added mIRC 5.7 compatibilty
43=
44=7.0
45=- Added channel exclusion
46=- Added more options
47=- Removed variables
48=- Keeping options in the addon itself
49=- Removed .wav file because it was too big
50=- Improved interface
51=
52=6.0
53=- removed excess variables
54=- made the script more efficient and fast
55=- added protection for numeric ip address
56=- made a detailed documentation
57=
58=
59=Explanation:
60=The number of combinations in which a user
61=can be banned from a channel is enormous.
62=This is because bans may contain wildcards
63=(* and ?). When we ban we either use the
64=full address (nick!user@host.domain) or a
65=masked address using wildcards.
66=
67=What are wildcards?
68=
69=2 types of wildcards may be used in bans:
70=? stands for any character (? represents
71=just one character)
72=* stands for any characters (* may
73=represent phrases)
74=
75=However the * wildcard may represent
76=nothing at all.
77=
78=You can now imagine how many combinations
79=are available to ban someone.........but
80=that's not all!
81=
82=Banning by numeric IP
83=Your ip address can be in 2 different
84=formats when you do a /whois:
85=alpha (example 24p9.maltanet.net) and
86=numeric (example 194.158.204.50).
87=
88=Now, on some networks, for example
89=UnderNet, if a user's IP address is in
90=alpha you may do a /dns to check the
91=numeric format of the IP address. Then
92=the user may be banned by his numeric
93=IP address even using the wildcards
94=mentioned before.
95=
96=If a user's IP is in numeric and you
97=try to ban his alpha format, the ban
98=won't work, ie the user won't be banned
99=in that channel.
100=
101=Having said that very few people ban
102=using the alternate ip address format,
103=so feel secure enough. These bans are
104=very powerful indeed because most ban
105=protection addons does not protect you
106=against them and if you ban using the
107=mask *!*@numericip, and the user's IP
108=address (when you do a /whois) is in
109=alpha, then feel assured that no one
110=will notice who you'd just banned.
111=
112=But don't expect that you'll never be
113=banned from a channel again. To defend
114=yourself you must have operator status
115=in that channel and you must unban
116=yourself and punish the agressor before
117=you're kicked or deoped.
118=
119=Therefore a fast kick followed by a
120=ban is impossible to protect against
121=unless you re-enter and get ops before
122=you're banned and kicked again. Note
123=also that if you're banned before you
124=get ops, you won't automatically unban
125=yourself when you get ops so you'll
126=have to do it manually. Maybe I'll
127=include this in a future release.....
128=
129=When you're banned from a channel
130=it's not the end of the world. Check
131=the mask you're banned with. Sometimes
132=you'll just need to check your nick or,
133=more commonly, just your user id
134=(file > options > connect > identd
135=In this case you'll have to reconnect
136=to your server for the change to work)
137=and if your domain is banned while
138=you're on a dial-up service, you'll
139=just need to reconnect to your ISP.
140=However if you're using a cable modem
141=or sattelite or anything they'll
142=invent in the future which doesn't
143=provide you with a dynamic IP address
144=you'll have to connect to a wingate
145=and spoof......but I won't go into
146=detail with that.
147=
148=
149=THE AUTHOR OF THIS ADDON IS NOT
150=RESPONSIBLE IN ANY WAY FOR ANY
151=DAMAGE TO COMPUTERS OR FOR ANY
152=MORAL OR PSYCHOLOGICAL DAMAGE TO
153=ANYONE. THIS SCRIPT IS NOT INTENDED
154=TO MAKE IT EASIER FOR TAKEOVERS
155=BUT TO LET YOU FEEL MORE SECURE IN
155=YOUR OWN CHANNEL.
156=
157=MUTU (19/7/2000)

[version]
Version=7.3

[settings]
Status=ON
UnBan=ON
Capture=ON
Punishment=BAN
BanInform=ON
FailInform=ON
SuccessMsg=ON
Punish=ON

[excluded]
num=0

[script]
n0=on *:load:{
n1=  if ($version >= 5.7) {
n2=    if ($active != Status Window) { echo -a 0,15<14> MUTU Ban Protection 0<14>14 Successfully installed }
n3=    echo -s 0,15<14> MUTU Ban Protection 0<14>14 Successfully installed
n4=    .ial on
n5=    dialog -m MUTUBanProt73 MUTUBanProt73
n6=  }
n7=  if ($version < 5.7) {
n8=    if ($active != Status Window) { echo -a 0,15<14> MUTU Ban Protection 0<14>14 Not installed - This addon works on mIRC version 5.7 or higher. Your version is $version $+ . Go to 12http://mutu.cjb.net/14 or 12http://www.mirc.co.uk/get.html14 to get the latest version. }
n9=    echo -s 0,15<14> MUTU Ban Protection 0<14>14 Not installed - This addon works on mIRC version 5.7 or higher. Your version is $version $+ . Go to 12http://mutu.cjb.net/14 or 12http://www.mirc.co.uk/get.html14 to get the latest version.
n10=    .unload -rs $script
n11=  }
n12=}
n13=
n14=menu status,menubar,channel {
n15=  ~ MUTU Ban Protection ~:dialog -m MUTUBanProt73 MUTUBanProt73
n16=}
n17=dialog MUTUBanProt73 {
n18=  title "MUTU Ban Protection v7.3 for mIRC 5.7x"
n19=  size -1 -1 0 0
n20=  option dbu
n21=  tab "Settings",1, 2 1 135 130
n22=  tab "Advanced",2
n23=  tab "Help",3
n24=  text "Ban Protection",4,8 18 60 10, tab 1
n25=  radio "ON",5, 50 17 18 10, group tab 1
n26=  radio "OFF",6, 70 17 20 10, tab 1
n27=
n28=  check "Unban",7,8 28 30 10, right tab 1
n29=  check "Capture IP Ban",8,80 28 50 10, right tab 1
n30=  check "Punish Aggressor",29,8 37 50 10, right tab 1
n31=
n32=  box "Punishment:",9,5 50 129 23, tab 1
n33=  radio "DeOp",10,10 58 30 10, group tab 1
n34=  radio "Kick",11,50 58 30 10, tab 1
n35=  radio "Ban",12,90 58 30 10, tab 1
n36=
n37=  box "Advanced Settings:",13,5 80 129 40, tab 1
n38=  check "Inform when banned",14,10 88 70 10, tab 1
n39=  check "Inform when protection fails",15,10 98 80 10, tab 1
n40=  check "Message channel when protection succeeds",16,10 108 120 10, tab 1
n41=
n42=  box "Channel exclusion list:",17,5 18 129 110, tab 2
n43=  list 18,8 28 120 90, extsel vsbar tab 2
n44=  text "Add new channel:",19,8 114 45 10, tab 2
n45=  edit "",20,55 112 50 10, autohs return tab 2
n46=
n47=  list 21,8 18 120 101, hsbar vsbar tab 3
n48=  button "&Visit",22,8 116 30 10, default tab 3
n49=  edit "http://mutu.cjb.net/", 23, 43 116 51 10, autohs read tab 3
n50=  button "&Close",24, 99 116 30 10, ok tab 3
n51=
n52=  button "",25,200 200 0 0, default tab 2
n53=  text "ERROR - channel names start with # or +",26,18 133 100 10
n54=  text "ERROR - channel names can't contain commas or spaces",27,1 133 200 10
n55=  text "ERROR - channel is already in list",28,27 133 100 10
n56=}
n57=
n58=on *:dialog:MUTUBanProt73:init:*:{
n59=  did -h MUTUBanProt73 26
n60=  did -h MUTUBanProt73 27
n61=  did -h MUTUBanProt73 28
n62=  if ($readini -n $script settings Status == ON) { did -c MUTUBanProt73 5 }
n63=  if ($readini -n $script settings Status == OFF) { did -c MUTUBanProt73 6 }
n64=  if ($readini -n $script settings UnBan == ON) { did -c MUTUBanProt73 7 }
n65=  if ($readini -n $script settings Capture == ON) { did -c MUTUBanProt73 8 }
n66=  if ($readini -n $script settings Punishment == DEOP) { did -c MUTUBanProt73 10 }
n67=  if ($readini -n $script settings Punishment == KICK) { did -c MUTUBanProt73 11 }
n68=  if ($readini -n $script settings Punishment == BAN) { did -c MUTUBanProt73 12 }
n69=  if ($readini -n $script settings Punish == ON) { did -c MUTUBanProt73 29 }
n70=  else { did -b MUTUBanProt73 10,11,12 }
n71=  if ($readini -n $script settings BanInform == ON) { did -c MUTUBanProt73 14 }
n72=  if ($readini -n $script settings FailInform == ON) { did -c MUTUBanProt73 15 }
n73=  if ($readini -n $script settings SuccessMsg == ON) { did -c MUTUBanProt73 16 }
n74=  set %chanlistcounter 1
n75=  set %channum $readini -n $script excluded num
n76=  :chanexc
n77=  if %channum < %chanlistcounter goto unchanexc
n78=  did -a MUTUBanProt73 18 $readini -n $script excluded %chanlistcounter
n79=  inc %chanlistcounter 1
n80=  goto chanexc  
n81=  :unchanexc
n82=  unset %chanlistcounter
n83=  unset %mutulistadd
n84=  set %helpcounter 1
n85=  :helploop
n86=  did -a MUTUBanProt73 21 $readini -n $script help %helpcounter
n87=  inc %helpcounter 1
n88=  if %helpcounter <= 152 goto helploop
n89=  unset %helpcounter
n90=  unset %MUTU.editbox
n91=  %.anim._i = 0 | .timer_anim -m 0 1 MUTUBanProt73.anim
n92=}
n93=alias MUTUBanProt73.anim {
n94=  if (($dialog(MUTUBanProt73) == $null) || (%.anim._i > 144)) { .timer_anim off | unset %.anim.tmp* %.anim._i | return }
n95=  :1 | %.anim.tmpx = $calc(($window(-1).w / 2) - %.anim._i) | %.anim.tmpy = $calc(($window(-1).h / 2) - %.anim._i) | %.anim.tmpw = $calc(%.anim._i * 2) | %.anim.tmph = $calc(%.anim._i * 2)
n96=  dialog -s MUTUBanProt73 %.anim.tmpx %.anim.tmpy %.anim.tmpw %.anim.tmph | inc %.anim._i 5
n97=}
n98=alias banasecho {
n99=  if ($active != Status Window) { echo -a 0,15<14> MUTU Ban Pro 0<14>14 $1- }
n100=  echo -s 0,15<14> MUTU Ban Pro 0<14>14 $1-
n101=}
n102=
n103=on *:dialog:MUTUBanProt73:sclick:*:{
n104=  if ($did == 5) && ($readini -n $script settings Status == OFF) {
n105=    writeini -n $script settings Status ON
n106=  }
n107=  if ($did == 6) && ($readini -n $script settings Status == ON) {
n108=    writeini -n $script settings Status OFF
n109=  }
n110=  if ($did == 7) {
n111=    if $readini -n $script settings UnBan == ON writeini -n $script settings UnBan OFF
n112=    else writeini -n $script settings UnBan ON
n113=  }
n114=  if ($did == 8) {
n115=    if $readini -n $script settings Capture == ON writeini -n $script settings Capture OFF
n116=    else writeini -n $script settings Capture ON
n117=  }
n118=  if ($did == 10) && ($readini -n $script settings Punishment == KICK) {
n119=    writeini -n $script settings Punishment DEOP
n120=  }
n121=  if ($did == 10) && ($readini -n $script settings Punishment == BAN) {
n122=    writeini -n $script settings Punishment DEOP
n123=  }
n124=  if ($did == 11) && ($readini -n $script settings Punishment == DEOP) {
n125=    writeini -n $script settings Punishment KICK
n126=  }
n127=  if ($did == 11) && ($readini -n $script settings Punishment == BAN) {
n128=    writeini -n $script settings Punishment KICK
n129=  }
n130=  if ($did == 12) && ($readini -n $script settings Punishment == DEOP) {
n131=    writeini -n $script settings Punishment BAN
n132=  }
n133=  if ($did == 12) && ($readini -n $script settings Punishment == KICK) {
n134=    writeini -n $script settings Punishment BAN
n135=  }
n136=  if ($did == 14) {
n137=    if $readini -n $script settings BanInform == ON writeini -n $script settings BanInform OFF
n138=    else writeini -n $script settings BanInform ON
n139=  }
n140=  if ($did == 15) {
n141=    if $readini -n $script settings FailInform == ON writeini -n $script settings FailInform OFF 
n142=    else writeini -n $script settings FailInform ON
n143=  }
n144=  if ($did == 16) {
n145=    if $readini -n $script settings SuccessMsg == ON writeini -n $script settings SuccessMsg OFF
n146=    else writeini -n $script settings SuccessMsg ON
n147=  }
n148=
n149=  if ($did == 29) {
n150=    if ($readini -n $script settings Punish == ON) {
n151=      writeini -n $script settings Punish OFF
n152=      did -b MUTUBanProt73 10,11,12
n153=    }
n154=    else {
n155=      writeini -n $script settings Punish ON
n156=      did -e MUTUBanProt73 10,11,12
n157=    }
n158=  }
n159=
n160=  if ($did == 22) url -an http://mutu.cjb.net/
n161=
n162=  if ($did == 25) && ($did(20)) {
n163=    did -h MUTUBanProt73 26
n164=    did -h MUTUBanProt73 27
n165=    did -h MUTUBanProt73 28
n166=    if ($readini -n $script excluded $did(20)) {
n167=      did -v MUTUBanProt73 28
n168=      .timerMUTUerror 1 4 if ($dialog(MUTUBanProt73)) did -h MUTUBanProt73 28
n169=      halt
n170=    }
n171=    set %hara $readini -n $script excluded num
n172=    inc %hara 1
n173=    writeini $script excluded num %hara
n174=    writeini $script excluded %hara $did(20)
n175=    writeini $script excluded $did(20) %hara
n176=    did -a MUTUBanProt73 18 $did(20)
n177=    did -r MUTUBanProt73 20
n178=    unset %hara
n179=    unset %MUTU.editbox
n180=  }
n181=}
n182=
n183=alias MUTU.bckspc {
n184=  did -r MUTUBanProt73 20
n185=  if ($len(%MUTU.editbox) > 0) {
n186=    did -a MUTUBanProt73 20 %MUTU.editbox
n187=    did -h MUTUBanProt73 26
n188=    did -h MUTUBanProt73 28
n189=    did -v MUTUBanProt73 27
n190=    .timerMUTUerror 1 4 if ($dialog(MUTUBanProt73)) did -h MUTUBanProt73 27
n191=  }
n192=  else {
n193=    unset %MUTU.editbox
n194=    did -h MUTUBanProt73 27
n195=    did -h MUTUBanProt73 28
n196=    did -v MUTUBanProt73 26
n197=    .timerMUTUerror 1 4 if ($dialog(MUTUBanProt73)) did -h MUTUBanProt73 26
n198=  }
n199=}
n200=
n201=on *:dialog:MUTUBanProt73:edit:20:{
n202=  did -t MUTUBanProt73 25
n203=  if ($len($did(20)) = 1) && ($did(20) != $chr(35)) && ($did(20) != $chr(38)) && ($did(20) != $chr(43)) MUTU.bckspc
n204=  if ($len($did(20)) > 1) && (($did(20) == %MUTU.editbox $+ $chr(44)) || ($did(20) == %MUTU.editbox $+ $chr(32))) MUTU.bckspc
n205=  set %MUTU.editbox $did(20)
n206=}
n207=
n208=on *:dialog:MUTUBanProt73:dclick:18:{
n209=  set %selected $did(18).sel
n210=  did -d MUTUBanProt73 18 %selected
n211=  remini $script excluded $readini -n $script excluded %selected
n212=  set %selcounter %selected
n213=  set %hara $readini -n $script excluded num
n214=  writeini $script excluded num $calc(%hara - 1)
n215=  if %selcounter == %hara goto selloopend
n216=  :selloop
n217=  set %selread $readini -n $script excluded $calc(%selcounter + 1)
n218=  writeini -n $script excluded %selcounter %selread
n219=  remini $script excluded %selread
n220=  inc %selcounter 1
n221=  if %selcounter < %hara goto selloop
n222=  :selloopend
n223=  remini $script excluded %hara
n224=  unset %selcounter
n225=  unset %selread
n226=  unset %hara
n227=  unset %selected
n228=}
n229=
n230=on *:connect:{
n231=  unset %bannerto*
n232=  unset %bannedmyself
n233=  unset %bantounban*
n234=}
n235=
n236=on *:ban:#:{
n237=  if ($readini -n $script settings Status == ON) && ($readini -n $script excluded $chan == $null) {
n238=    if ($me isop $chan) { 
n239=      if (($banmask iswm $address($me,5)) || (($banmask iswm $left($address($me,5),$pos($address($me,5),@,1)) $+ $ip) && ($readini -n $script settings Capture == ON))) && ($nick != $me) { 
n240=        if ($readini -n $script settings Punish == ON) {
n241=          if ($readini -n $script settings UnBan == OFF) && ($readini -n $script settings Punishment == DEOP) { mode $chan -o $nick | if ($readini -n $script settings BanInform == ON) banasecho Ban Detected! Nick =15 $nick 14Channel =15 $chan 14Ban Mask =15 $banmask 14. Attempting to DeOp $nick $+ .... | set %bannertodeop. [ $+ [ $chan ] ] $nick }
n242=          if ($readini -n $script settings UnBan == OFF) && ($readini -n $script settings Punishment == KICK) { kick # $nick 0,15<14> MUTU Ban Protection 0<14>14 | if ($readini -n $script settings BanInform == ON) banasecho Ban Detected! Nick =15 $nick 14Channel =15 $chan 14Ban Mask =15 $banmask 14. Attempting to Kick $nick $+ .... | set %bannertokick. [ $+ [ $chan ] ] $nick }
n243=          if ($readini -n $script settings UnBan == OFF) && ($readini -n $script settings Punishment == BAN) { mode $chan -o+b $nick $address($nick,2) | kick # $nick 0,15<14> MUTU Ban Protection 0<14>14 | if ($readini -n $script settings BanInform == ON) banasecho Ban Detected! Nick =15 $nick 14Channel =15 $chan 14Ban Mask =15 $banmask 14. Attempting to Ban $nick $+ .... | set %bannertoban. [ $+ [ $chan ] ]  $nick }
n244=          if ($readini -n $script settings UnBan == ON) && ($readini -n $script settings Punishment == DEOP) { mode $chan -bo $banmask $nick | if ($readini -n $script settings BanInform == ON) banasecho Ban Detected! Nick =15 $nick 14Channel =15 $chan 14Ban Mask =15 $banmask 14. Attempting to UnBan you and DeOp $nick $+ .... | set %bannertodeop. [ $+ [ $chan ] ]  $nick }
n245=          if ($readini -n $script settings UnBan == ON) && ($readini -n $script settings Punishment == KICK) { kick # $nick 0,15<14> MUTU Ban Protection 0<14>14 | mode $chan -b $banmask | if ($readini -n $script settings BanInform == ON) banasecho Ban Detected! Nick =15 $nick 14Channel =15 $chan 14Ban Mask =15 $banmask 14. Attempting to UnBan you and Kick $nick $+ .... | set %bannertokick. [ $+ [ $chan ] ]  $nick }
n246=          if ($readini -n $script settings UnBan == ON) && ($readini -n $script settings Punishment == BAN) { mode $chan -bo+b $banmask $nick $address($nick,2) | kick # $nick 0,15<14> MUTU Ban Protection 0<14>14 | if ($readini -n $script settings BanInform == ON) banasecho Ban Detected! Nick =15 $nick 14Channel =15 $chan 14Ban Mask =15 $banmask 14. Attempting to UnBan you and Ban $nick $+ .... | set %bannertoban. [ $+ [ $chan ] ]  $nick }
n247=        }
n248=        else {
n249=          if ($readini -n $script settings UnBan == OFF) && ($readini -n $script settings BanInform == ON) { banasecho Ban Detected! Nick =15 $nick 14Channel =15 $chan 14Ban Mask =15 $banmask 14. No action will be taken. }
n250=          if ($readini -n $script settings UnBan == ON) { mode $chan -b $banmask | if ($readini -n $script settings BanInform == ON) banasecho Ban Detected! Nick =15 $nick 14Channel =15 $chan 14Ban Mask =15 $banmask 14. Attempting to UnBan you.... | set %bantounban. [ $+ [ $chan ] ] $nick }
n251=        }
n252=      }
n253=      if (($banmask iswm $address($me,5)) || (($banmask iswm $left($address($me,5),$pos($address($me,5),@,1)) $+ $ip) && ($readini -n $script settings Capture == ON))) && ($nick == $me) { mode $chan -b $banmask | if ($readini -n $script settings BanInform == ON) banasecho You have banned yourself from $chan $+ ! Attempting to UnBan you.... | set %bannedmyself $chan }
n254=    }
n255=    if ($me !isop #) && ((($banmask iswm $address($me,5))) || (($banmask iswm $left($address($me,5),$pos($address($me,5),@,1)) $+ $ip) && ($readini -n $script settings Capture == ON))) && ($readini -n $script settings BanInform == ON) { banasecho Ban Detected! Nick =15 $nick 14Channel =15 $chan 14Ban Mask =15 $banmask 14. Unfortunately you don't have ops so you cannot be protected. }
n256=  }
n257=}
n258=
n259=on *:unban:#:{
n260=  if ($readini -n $script settings Status == ON) && (($banmask iswm $address($me,5)) || ($banmask iswm $left($address($me,5),$pos($address($me,5),@,1)) $+ $ip)) && ($nick == $me) && (%bannedmyself == #) && ($readini -n $script settings SuccessMsg == ON) { banasecho Ban Protection Successful! Next time be careful not to ban yourself! | unset %bannedmyself }
n261=  if ($readini -n $script settings Status == ON) && (($banmask iswm $address($me,5)) || ($banmask iswm $left($address($me,5),$pos($address($me,5),@,1)) $+ $ip)) && ($nick == $me) && (%bantounban. [ $+ [ $chan ] ]) && ($readini -n $script settings SuccessMsg == ON) { msg $chan 0,15<14> MUTU Ban Protection 0<14>14 Successful on15 %bantounban. [ $+ [ $chan ] ] $+ 14! | unset %bantounban. [ $+ [ $chan ] ] }
n262=}
n263=
n264=on *:deop:#:{
n265=  if ($opnick == $me) && (%bannedmyself == #) { if ($readini -n $script settings FailInform == ON) banasecho Ban Protection unsuccessful! Next time be careful not to ban yourself! | unset %bannedmyself }
n266=  if ($opnick == %bannertodeop. [ $+ [ $chan ] ] ) && ($nick == $me) { if ($readini -n $script settings SuccessMsg == ON) msg $chan 0,15<14> MUTU Ban Protection 0<14>14 Successful on15 $opnick $+ 14! | unset %bannertodeop. [ $+ [ $chan ] ] } 
n267=  if ($opnick == $me) && (%bannertodeop. [ $+ [ $chan ] ] ) { if ($readini -n $script settings FailInform == ON) banasecho Ban Protection unsuccessful on15 %bannertodeop. [ $+ [ $chan ] ]  $+ 14! | unset %bannertodeop. [ $+ [ $chan ] ]  }
n268=  if ($opnick == $me) && (%bannertokick. [ $+ [ $chan ] ] ) { if ($readini -n $script settings FailInform == ON) banasecho Ban Protection unsuccessful on15 %bannertokick. [ $+ [ $chan ] ]  $+ 14! | unset %bannertokick. [ $+ [ $chan ] ]  }
n269=  if ($opnick == $me) && (%bannertoban. [ $+ [ $chan ] ] ) { if ($readini -n $script settings FailInform == ON) banasecho Ban Protection unsuccessful on15 %bannertoban. [ $+ [ $chan ] ]  $+ 14! | unset %bannertoban. [ $+ [ $chan ] ]  }
n270=}
n271=
n272=on *:kick:#:{
n273=  if ($knick == $me) && (%bannedmyself == #) { if ($readini -n $script settings FailInform == ON) banasecho Ban Protection unsuccessful! Next time be careful not to ban yourself! | unset %bannedmyself }
n274=  if ($nick == $me) && (($knick == %bannertokick. [ $+ [ $chan ] ] ) || ($knick == %bannertoban. [ $+ [ $chan ] ] )) { if ($readini -n $script settings SuccessMsg == ON) msg $chan 0,15<14> MUTU Ban Protection 0<14>14 Successful on15 $knick $+ 14! | unset %bannertokick. [ $+ [ $chan ] ]  | unset %bannertoban. [ $+ [ $chan ] ]  | halt }
n275=  if ($knick == $me) && (%bannertodeop. [ $+ [ $chan ] ] ) { if ($readini -n $script settings FailInform == ON) banasecho Ban Protection unsuccessful on15 %bannertodeop. [ $+ [ $chan ] ]  $+ 14! | unset %bannertodeop. [ $+ [ $chan ] ]  | halt }
n276=  if ($knick == $me) && (%bannertokick. [ $+ [ $chan ] ] ) { if ($readini -n $script settings FailInform == ON) banasecho Ban Protection unsuccessful on15 %bannertokick. [ $+ [ $chan ] ]  $+ 14! | unset %bannertokick. [ $+ [ $chan ] ]  | halt }
n277=  if ($knick == $me) && (%bannertoban. [ $+ [ $chan ] ] ) { if ($readini -n $script settings FailInform == ON) banasecho Ban Protection unsuccessful on15 %bannertoban. [ $+ [ $chan ] ]  $+ 14! | unset %bannertoban. [ $+ [ $chan ] ]  }
n278=}
n279=
n280=on *:nick:{
n281=  set %bannewnickcounter 1
n282=  :newnickloop
n283=  if (%bannertodeop. [ $+ [ $comchan($newnick,%bannewnickcounter) ] ]) { set %bannertodeop. [ $+ [ $comchan($newnick,%bannewnickcounter) ] ] $newnick }
n284=  if (%bannertokick. [ $+ [ $comchan($newnick,%bannewnickcounter) ] ]) { set %bannertokick. [ $+ [ $comchan($newnick,%bannewnickcounter) ] ] $newnick }
n285=  if (%bannertoban. [ $+ [ $comchan($newnick,%bannewnickcounter) ] ]) { set %bannertoban. [ $+ [ $comchan($newnick,%bannewnickcounter) ] ] $newnick }
n286=  inc %bannewnickcounter 1
n287=  if %bannewnickcounter <= $comchan($newnick,0) goto newnickloop
n288=}
n289=
n290='========================================================================
n291=' End of Addon
