Repeat Flood Protection
Written by Kintar0

Here's a simple repeat flood kicker which kick/bans a user after the 3rd repeat. All code show goes into mIRC's Remotes. You can find details below...

on @*:text:*:#: { if ($nick !isop #) { if (%r. [ $+ [ $nick ] $+ . $+ [ $chan ] ] == $null) { set -u60 %r. [ $+ [ $nick ] $+ . $+ [ $chan ] ] 1 set -u60 %r.text. [ $+ [ $nick ] $+ . $+ [ $chan ] ] $1- return } var %rps = %r. [ $+ [ $nick ] $+ . $+ [ $chan ] ] var %rpt = %r.text. [ $+ [ $nick ] $+ . $+ [ $chan ] ] if (%rpt == $1-) { inc %r. [ $+ [ $nick ] $+ . $+ [ $chan ] ] if (%rps > 2) { ban # $nick 2 kick # $nick You repeated %rps times, slow down! } } } }

The code above is made so you can just copy and paste it with no comments or anything to clutter it up. Below we have the same exact code but with comments explaining what each line does so you may understand and modify settings according to your needs.

on @*:text:*:#: { ; Defines on text so it triggers only if you're op on the target channel if ($nick !isop #) { ; Tells mIRC to go on if the nick isn't an op if (%r. [ $+ [ $nick ] $+ . $+ [ $chan ] ] == $null) { ; Checks if $nick has a prior record... ; If $nick is clean, this creates user records for the nick... set -u60 %r. [ $+ [ $nick ] $+ . $+ [ $chan ] ] 1 ; mIRC creates a variable according to the nick and channel for 60 secs ; This stores the amount the nick has repeated within 60 seconds... set -u60 %r.text. [ $+ [ $nick ] $+ . $+ [ $chan ] ] $1- ; This stores the users text, used to check future text for matches... ; Replace 60 to adjust listening duration, 60 seconds = 1 minute ; mIRC resets stats after 60 seconds according to current settings return } var %rps = %r. [ $+ [ $nick ] $+ . $+ [ $chan ] ] ; %rps now represents how many times the user repeated... var %rpt = %r.text. [ $+ [ $nick ] $+ . $+ [ $chan ] ] ; %rpt represents the users previous text... if (%rpt == $1-) { ; Checks if the current text matches previous text... ; If they match, the user repeated... inc %r. [ $+ [ $nick ] $+ . $+ [ $chan ] ] ; Since the user repeated, we increase his/her stats by 1 if (%rps > 2) { ; Checks if the user repeats more than twice ; Replace 2 with your limits ; Current settings kick/ban after 3 or more repeats... ban # $nick 2 kick # $nick You repeated %rps times, slow down! ; User repeated more than twice and is kick/banned... } } } }

The code is explained in blue and the code is in black of course, if you find any problems or errors with this code, please contact us via email, the forum, or memo on DALNET. Enjoy...

2000-2001 ClanX Scripterz Organization