Defire Flood Protection — File Browser

DefireFloodProtectionv1.5 / DefireFloodProtectionv1.5 / flood.mrc

flood.mrc — 12.26 KB — Download this file

# Flood Protection Add-on for De§ire  v1.5
# Used with mIRC 5.11
# Author: ZFact0r
# Thanks to: [SB]Tikiman, Saten, Snibb, 
# and the rest of the #hawkee.com crew.
##############################
on 1:LOAD: {
  .set %max.protect ON | .set %norm.protect OFF | .set %min.protect OFF
  .set %max.msg 2  | .set %max.ctcp 2 |  .set %max.char 150
  .set %norm.msg 5 | .set %norm.ctcp 5 | .set %norm.char 300
  .set %min.msg 7 | .set %min.ctcp 7 | .set %min.char 500
  sf1
  .window @De§ire Flood Protection 175 100 277 190 Arial bold 11
  .aline @De§ire Flood Protection 10Thank you for your interest in De§ire Flood
  .aline @De§ire Flood Protection 10Protection. I like to think of this as one of the
  .aline @De§ire Flood Protection 10best  add-ons for personal/channel protection.
  .aline @De§ire Flood Protection 10To bring up the Flood Protection option list,
  .aline @De§ire Flood Protection 10just hit 2Shift+F110 at anytime. To change any of
  .aline @De§ire Flood Protection 10options, just 2right-click10 the window  and 
  .aline @De§ire Flood Protection 10change the option of your choice.
  .aline @De§ire Flood Protection 10-
  .aline @De§ire Flood Protection 10If you encounter any problems, just email me
  .aline @De§ire Flood Protection 10at: 2zfact0r@mindless.com
}
alias sf1 {
  .window @Flood Protection 220 60 210 240 @Flood Protection Arial bold 11
  .aline @Flood Protection 12----------- Flood Protection -----------
  .aline @Flood Protection 10Maximum Protection:2  %max.protect
  .aline @Flood Protection 10~ Characters Allowed:2  %max.char
  .aline @Flood Protection 10~ Messages Allowed:2 %max.msg
  .aline @Flood Protection 10~ CTCPs  Allowed:2 %max.ctcp
  .aline @Flood Protection 10Normal Protection:2 %norm.protect
  .aline @Flood Protection 10~ Characters Allowed:2 %norm.char
  .aline @Flood Protection 10~ Messages Allowed:2 %norm.msg
  .aline @Flood Protection 10~ CTCPs Allowed:2 %norm.ctcp
  .aline @Flood Protection 10Minimum Protection:2 %min.protect
  .aline @Flood Protection 10~ Characters Allowed:2 %min.char
  .aline @Flood Protection 10~ Messages Allowed:2 %min.msg
  .aline @Flood Protection 10~ CTCPs Allowed:2 %min.ctcp
  .aline @Flood Protection 12------- Right Click for Options -------
}
alias max.help {
  .window @Max Protection Help 175 60 280 140 Arial bold 11
  .aline @Max Protection Help 2Max Protection10: Highest level of protection
  .aline @Max Protection Help 10~~ 2Characters Allowed10: Number of characters
  .aline @Max Protection Help 10allowed in one sentence.
  .aline @Max Protection Help 10~~ 2Messages Allowed10: Number of messages
  .aline @Max Protection Help 10allowed in 10 seconds.
  .aline @Max Protection Help 10~~ 2CTCPs Allowed10: Number of CTCPs
  .aline @Max Protection Help 10allowed in 10 seconds.
}
alias norm.help {
  .window @Norm Protection Help 175 60 280 140 Arial bold 11
  .aline @Norm Protection Help 2Norm Protection10: Normal level of protection
  .aline @Norm Protection Help 10~~ 2Characters Allowed10: Number  of characters
  .aline @Norm Protection Help 10allowed in one sentence.
  .aline @Norm Protection Help 10~~ 2Messages Allowed10: Number of messages
  .aline @Norm Protection Help 10allowed in 10 seconds.
  .aline @Norm Protection Help 10~~ 2CTCPs Allowed10: Number of CTCPs
  .aline @Norm Protection Help 10 allowed in 10 seconds.
}
alias min.help {
  .window @Min Protection Help 175 60 280 140 Arial bold 11
  .aline @Min Protection Help 2Min Protection10: Lowest level of protection
  .aline @Min Protection Help 10~~ 2Characters Allowed10: Number of characters
  .aline @Min Protection Help 10allowed in one sentence.
  .aline @Min Protection Help 10~~ 2Messages Allowed10: Number of messages
  .aline @Min Protection Help 10allowed in 10 seconds.
  .aline @Min Protection Help 10~~ 2CTCPs Allowed10: Number of CTCPs
  .aline @Min Protection Help 10allowed in 10 seconds.
}
menu @Flood Protection {
  dclick window -c @Flood Protection
  Online Help: {
    if (%max.protect == ON) { max.help }
    if (%norm.protect == ON) { norm.help }
    if (%min.protect == ON) { min.help }
  }
  -
  Max Protection Options
  .Turn On: {
    .set %max.protect ON
    .set %norm.protect OFF
    .set %min.protect OFF
    .rline @Flood Protection 2 10Maximum Protection:2 %max.protect
    .rline @Flood Protection 6 10Normal Protection:2 %norm.protect
    .rline @Flood Protection 10 10Minimum Protection:2 %min.protect
  }
  .Turn Off: {
    .set %max.protect OFF
    .rline @Flood Protection 2 10Maximum Protection:2 %max.protect
  }
  .-
  .Max Characters Allowed: {
    .set %max.char $$?="How  many characters? (rec. 150)" 
    .rline @Flood Protection 3 10~ Max Characters Allowed:2 %max.char
  }
  .Max Msgs Allowed: {
    .set %max.msg $$?="How  many msgs? (rec. 2)"
    .rline @Flood Protection 4 10~ Max Msgs Allowed:2 %max.msg
  }
  .Max CTCPs Allowed: {
    set %max.ctcp $$?="How many CTCPs? (rec. 2)"
    .rline @Flood Protection 5 10~ Max CTCPs Allowed:2 %max.ctcp
  }
  Normal Protection Options
  .Turn  On:  {
    .set %norm.protect ON
    .set %max.protect OFF
    .set %min.protect OFF
    .rline @Flood Protection 2 10Maximum Protection:2 %max.protect
    .rline @Flood Protection 6 10Normal Protection:2  %norm.protect
    .rline @Flood Protection 10  10Minimum Protection:2 %min.protect
  }
  .Turn Off: {
    .set %norm.protect OFF
    .rline @Flood Protection 6 10Normal Protection:2 %norm.protect
  }
  .-
  .Characters Allowed: {
    .set %norm.char $$?="How many characters? (rec. 300)"
    .rline @Flood Protection 7 10~ Max Characters Allowed:2 %norm.char
  }
  .Msgs Allowed: {
    .set %norm.msg  $$?="How many msgs? (rec. 5)"
    .rline @Flood Protection 8 10~ Max Msgs Allowed:2 %norm.msg
  }
  .CTCPs Allowed: {
    .set %norm.ctcp  $$?="How many CTCPs? (rec. 5)"
    .rline @Flood Protection 9 10~ Max CTCPs Allowed:2 %norm.ctcp
  }
  Min Protection Options
  .Turn On: {
    .set %min.protect ON
    .set %max.protect OFF
    .set %norm.protect OFF
    .rline @Flood Protection 2 10Maximum Protection:2 %max.protect
    .rline @Flood Protection 6 10Normal Protection:2  %norm.protect
    .rline @Flood Protection 10  10Minimum Protection:2 %min.protect
  }
  .Turn Off: {
    .set %min.protect OFF
    .rline @Flood Protection 10  10Minimum Protection:2 %min.protect
  }
  .-
  .Characters Allowed: {
    .set %min.char $$?="How many characters? (rec. 500)"
    .rline @Flood Protection 11  10~ Max Characters Allowed:2 %min.char
  }
  .Msgs  Allowed: {
    .set %min.msg $$?="How many msgs? (rec. 7)"
    .rline @Flood Protection 12  10~ Max Messages Allowed:2 %min.msg
  }
  .CTCPs Allowed: {
    .set %min.ctcp $$?="How many CTCPs? (rec. 7)" 
    .rline @Flood Protection 13  10~ Max CTCPs Allowed:2 %min.ctcp
  }
  -
  Close:/.window -c @Flood Protection
}
on 1:TEXT:*:?: {
  if (%max.protect == ON) { goto max.protect }
  elseif (%norm.protect == ON) { goto norm.protect }
  elseif (%min.protect == ON) { goto  min.protect }
  :max.protect
  inc % $+ $address($nick,3) $+ msgflood 1
  .timer 1 10 .unset % $+ $address($nick,3) $+ msgflood 
  if (% [ $+ [ $address($nick,3) [ $+ [ msgflood ] ] ] ] == %max.msg) {
    ignore -pu60 $wildsite
    .timer 1 60 .notice $nick 60 seconds ignore has been completed. 
    echo 10 -a 4Warning:10 $nick has exceeded your allowable number of messages in 10 seconds. $nick has been ignored for 60 seconds.
    .notice $nick 4Msg Flood:10 Triggered. You are being ignored for 60 seconds.
    .unset % $+ $address($nick,3) $+ msgflood
  }
  :norm.protect
  inc % $+ $address($nick,3) $+ msgflood 1
  .timer 1 10 .unset % $+ $address($nick,3) $+ msgflood
  if (% [ $+ [ $address($nick,3) [ $+ [ msgflood ] ] ] ] == %norm.msg) {
    ignore -pu60 $wildsite
    .timer 1 60 .notice $nick 60 seconds ignore has been completed.
    echo 10 -a 4Warning:10 $nick has exceeded your allowable number of messages in 10 seconds. $nick has been ignored for 60 seconds.
    .notice $nick 4Msg Flood:10 Triggered. You are being ignored for 60 seconds.
    .unset % $+  $address($nick,3) $+ msgflood
  }
  :min.protect
  inc % $+ $address($nick,3) $+  msgflood 1
  .timer 1 10 .unset % $+ $address($nick,3) $+ msgflood 1
  if (% [ $+ [ $address($nick,3) [ $+ [ msgflood ] ] ] ] == %min.msg) {
    ignore -pu60 $wildsite
    .timer 1 60 .notice $nick 60 seconds ignore has been completed.
    echo 10 -a 4Warning:10 $nick has exceeded your allowable number of messages in 10 seconds. $nick has been ignored for 60 seconds.
    .notice $nick 4Msg Flood:10 Triggered. You are being ignored for 60 seconds.
    .unset % $+ $address($nick,3) $+ msgflood
  }
}
ctcp 1:*: {
  if (%max.protect == ON) { goto max.protect }
  elseif (%norm.protect == ON) { goto norm.protect }
  elseif (%min.protect == ON) { goto  min.protect }
  :max.protect
  inc % $+ $address($nick,3) $+ ctcpflood 1
  .timer 1 10 .unset % $+ $address($nick,3) $+ ctcpflood 1
  if (% [ $+ [ $address($nick,3) [ $+ [ ctcpflood ] ] ] ] == %ctcp.msg) {
    ignore -tu60 $wildsite
    .timer 1 60 .notice $nick 60 seconds ignore has been completed.
    echo 10 -a 4Warning:10 $nick has exceeded your allowable number of CTCPs in 10 seconds. $nick has been ignored for 60 seconds.
    .notice $nick 4CTCP Flood:10 Triggered. You are being ignored for 60 seconds.
    .unset % $+ $address($nick,3) $+ ctcpflood
  }
  :norm.protect
  inc % $+ $address($nick,3) $+ ctcpflood 1
  .timer 1 10 .unset % $+ $address($nick,3) $+ ctcpflood
  if (% [ $+ [ ctcpflood [ $+ [ $nick ] ] ] ] == %norm.ctcp) {
    ignore -tu60 $wildsite
    .timer 1 60 .notice $nick 60 seconds ignore has been completed.
    echo 10 -a 4Warning:10 $nick has exceeded your allowable number of CTCPs in 10 seconds. $nick has been ignored for 60 seconds.
    .notice $nick 4CTCP Flood:10 Triggered. You are being ignored for 60 seconds.
    .unset % $+ $address($nick,3) $+ ctcpflood
  }
  :min.protect
  inc % $+ $address($nick,3) $+ ctcpflood 1
  .timer 1 10 .unset % $+ $address($nick,3) $+ ctcpflood
  if (% [ $+ [ $address($nick,3) [ $+ [ ctcpflood ] ] ] ] == %min.ctcp) {
    ignore -tu60 $wildsite
    .timer 1 60 .notice $nick 60 seconds ignore has been completed.
    echo 10 -a 4Warning:10 $nick has exceeded your allowable number of CTCPs in 10 seconds. $nick has been ignored for 60 seconds.
    .notice $nick 4CTCP Flood:10 Triggered. You are being ignored for 60 seconds.
    .unset % $+ $address($nick,3) $+ ctcpflood
  }
}
on 1:TEXT:*:#: {
  if (%max.protect == ON) { goto max.protect }
  elseif (%norm.protect == ON) { goto norm.protect }
  elseif (%min.protect == ON) { goto  min.protect }
  :max.protect
  if ($len($parms) >= %max.char) {
    if ($me isop $chan) { kick $chan $nick Character Flood: $len($parms) characters. }
    ignore -cu60 $wildsite
    .timer 1 60 .notice $nick You have been taken off ignore.  | echo 10 -a $nick has been taken off ignore.
    .notice  $nick 4Character Flood:10 Triggered.  You have been ignored for 60 seconds.
    echo 10 -a 4Warning:10 $nick has exceeded your allowable number of characters in one line of text. $nick has been ignored for 60 seconds.
  }
  :norm.protect
  if ($len($parms) >= %norm.char) {
    if ($me isop $chan) { kick $chan $nick Character Flood: $len($parms) characters. }
    ignore -cu60 $wildsite    
    .timer 1 60 .notice $nick You have been taken off ignore. | echo 10 -a $nick has been taken off ignore.
    .notice  $nick 4Character Flood:10 Triggered.  You have been ignored for 60 seconds.
    echo 10 -a 4Warning:10 $nick has exceeded your allowable number of characters in one line of text. $nick has been ignored for 60 seconds.
  }
  :min.protect
  if ($len($parms) >= %min.char) {
    if($me isop $chan) { kick  $chan $nick Character Flood: $len($parms)  characters. }
    ignore -cu60 $wildsite    
    .timer 1 60 .notice $nick You have been taken off ignore. |  echo 10 -a $nick has been taken off ignore.
    .notice  $nick 4Character Flood:10 Triggered.  You have been ignored for 60 seconds.
    echo 10 -a 4Warning:10 $nick has exceeded your allowable number of characters in one line of text. $nick has been ignored for 60 seconds.
  }
}