I have tried many of those scripts and this one has been the best so far that I have used.
------------------------------------------------------------------------------------------
#Floodaway on
raw 821:*: {
if ($level($address($nick,1)) == admin) halt
inc -u3 [ [ % ] $+ [ stateflood ] $+ [ . ] $+ [ $nick ] ] 1
if ([ [ % ] $+ [ stateflood ] $+ [ . ] $+ [ $nick ] ] == 3 ) {
/access # add owner $+(*,$$ial($me).user,@g*)
/access # add host $+(*,$$ial($me).user,@ga*)
/access # add voice $+(*,$$ial($me).user,@gat*)
/access $comchan($nick,1) add deny $address
/kick $comchan($nick,1) $nick |[-No FlooD AwaY-]|
}
}
raw 822:*: {
if ($level($address($nick,1)) == admin) halt
inc -u3 [ [ % ] $+ [ stateflood ] $+ [ . ] $+ [ $nick ] ] 1
if ([ [ % ] $+ [ stateflood ] $+ [ . ] $+ [ $nick ] ] == 3 ) {
/access # add owner $+(*,$$ial($me).user,@g*)
/access # add host $+(*,$$ial($me).user,@ga*)
/access # add voice $+(*,$$ial($me).user,@gat*)
/access $comchan($nick,1) add deny $address
/kick $comchan($nick,1) $nick |[-No FlooD AwaY-]|
}
}
#Floodaway end
#guestfloodport off
on *:JOIN:*: {
if (> isin $nick) {
if (!%gcount) { set -u5 %gcount 1 }
else { inc %gcount }
if (%gcount >= 2) { /gkick
unset %gcount
}
}
}
alias gkick {
if ($me isop #) {
.var %s = 1 , %w
while (%s <= $nick(#,0)) {
if ($left($nick(#,%s),1) == >) .var %w = %w $nick(#,%s)
.inc %s
}
if (%w) .raw -q kick # $replace(%w,$chr(32),$chr(44)) |[-No GuesT FlooD-]|
access $chan add deny >*!*@*$*
access $chan add owner $address $me
access $chan add host $address $me
}
}
#guestfloodport end
#passportfloodkick on
on @!*:join:#:{
set -u2 $+(%,#) $eval($+(%,#),2) $nick
if ($numtok($eval($+(%,#),3),32) > 3) {
kick # $replace($eval($+(%,#),2),$chr(32),$chr(44)) :4,1|[- No Passport Flood $+ -]|
unset $+(%,#)
set %timerlock.chan $chan
.timerlock.chan 0 1 mode $chan +i-u
.timerlock.chan off
access # add DENY >*!*@*$*
access # add deny $ial 0 :|[- No Passport Flood $+ -]|
set %timer2knock.chan $chan
.timerknock4 1 60 mode $!chr(37) $!+ $right(%timer2knock.chan,-1) +u-i
.timerknock6 1 60 msg # |[ Modos Sala -i+u ]|
.timerknock4 off
.timerknock6 off
}
}
#passportfloodkick end
#NoFlood on
on ^*:TEXT:*:#:{
if ($nick == $me) return
if ($level($address($nick,1)) == admin) return
elseif ($me isop #) {
var %text = $hash($strip($1-),32)
var %old.text = %rp. [ $+ [ $chan ] $+ . $+ [ $nick ] ]
var %old.text = $deltok(%old.text,1,46)
if (%rp. [ $+ [ $chan ] $+ . $+ [ $nick ] ] == $null) || (%old.text != %text) {
set -u10 %rp. [ $+ [ $chan ] $+ . $+ [ $nick ] ] 1. $+ %text
return
}
var %temp = %rp. [ $+ [ $chan ] $+ . $+ [ $nick ] ]
var %count = $gettok(%temp,1,46)
inc %count
set -u10 %rp. [ $+ [ $chan ] $+ . $+ [ $nick ] ] %count $+ . $+ %text
if (%count >= 3) {
access # clear
access # add owner $+(*,$$ial($me).user,@g*)
access # add host $+(*,$$ial($me).user,@ga*)
access # add voice $+(*,$$ial($me).user,@gat*)
access # add deny $address($nick,1) 5
kick # $nick |[-No Text Flood/5 Min.Ban-]|
}
}
}
on @*:action:*:#:{
if ($nick == $me) return
if ($level($address($nick,1)) == admin) return
elseif ($me isop #) {
var %text = $hash($strip($1-),32)
var %old.text = %rp. [ $+ [ $chan ] $+ . $+ [ $nick ] ]
var %old.text = $deltok(%old.text,1,46)
if (%rp. [ $+ [ $chan ] $+ . $+ [ $nick ] ] == $null) || (%old.text != %text) {
set -u10 %rp. [ $+ [ $chan ] $+ . $+ [ $nick ] ] 1. $+ %text
return
}
var %temp = %rp. [ $+ [ $chan ] $+ . $+ [ $nick ] ]
var %count = $gettok(%temp,1,46)
inc %count
set -u10 %rp. [ $+ [ $chan ] $+ . $+ [ $nick ] ] %count $+ . $+ %text
if (%count >= 3) {
access # clear
access # add owner $+(*,$$ial($me).user,@g*)
access # add host $+(*,$$ial($me).user,@ga*)
access # add voice $+(*,$$ial($me).user,@gat*)
access # add deny $address($nick,1) 5
kick # $nick |[-No Text Flood/5 Min.Ban-]|
}
}
}
on @*:notice:*:#:{
if ($nick == $me) return
if ($level($address($nick,1)) == admin) return
elseif ($me isop #) {
var %text = $hash($strip($1-),32)
var %old.text = %rp. [ $+ [ $chan ] $+ . $+ [ $nick ] ]
var %old.text = $deltok(%old.text,1,46)
if (%rp. [ $+ [ $chan ] $+ . $+ [ $nick ] ] == $null) || (%old.text != %text) {
set -u10 %rp. [ $+ [ $chan ] $+ . $+ [ $nick ] ] 1. $+ %text
return
}
var %temp = %rp. [ $+ [ $chan ] $+ . $+ [ $nick ] ]
var %count = $gettok(%temp,1,46)
inc %count
set -u10 %rp. [ $+ [ $chan ] $+ . $+ [ $nick ] ] %count $+ . $+ %text
if (%count >= 3) {
access # clear
access # add owner $+(*,$$ial($me).user,@g*)
access # add host $+(*,$$ial($me).user,@ga*)
access # add voice $+(*,$$ial($me).user,@gat*)
access # add deny $address($nick,1) 5
kick # $nick |[-No Text Flood/5 Min.Ban-]|
}
}
}
on @*:CTCPREPLY:*:#:{
if ($nick == $me) return
if ($level($address($nick,1)) == admin) return
elseif ($me isop #) {
var %text = $hash($strip($1-),32)
var %old.text = %rp. [ $+ [ $chan ] $+ . $+ [ $nick ] ]
var %old.text = $deltok(%old.text,1,46)
if (%rp. [ $+ [ $chan ] $+ . $+ [ $nick ] ] == $null) || (%old.text != %text) {
set -u10 %rp. [ $+ [ $chan ] $+ . $+ [ $nick ] ] 1. $+ %text
return
}
var %temp = %rp. [ $+ [ $chan ] $+ . $+ [ $nick ] ]
var %count = $gettok(%temp,1,46)
inc %count
set -u10 %rp. [ $+ [ $chan ] $+ . $+ [ $nick ] ] %count $+ . $+ %text
if (%count >= 3) {
access # clear
access # add owner $+(*,$$ial($me).user,@g*)
access # add host $+(*,$$ial($me).user,@ga*)
access # add voice $+(*,$$ial($me).user,@gat*)
access # add deny $address($nick,1) 5
kick # $nick |[-No Text Flood/5 Min.Ban-]|
}
}
}
on !@*:JOIN:#:{
if ($nick == $me) return
if ($level($address($nick,1)) == admin) return
elseif ($me isop #) {
if (%revolve. [ $+ [ $nick ] ] == $null) {
set -u4 %revolve. [ $+ [ $nick ] ] 1
}
else { inc %revolve. [ $+ [ $nick ] ] }
if (%revolve. [ $+ [ $nick ] ] >= 3) {
access # clear
access # add owner $+(*,$$ial($me).user,@g*)
access # add host $+(*,$$ial($me).user,@ga*)
access # add voice $+(*,$$ial($me).user,@gat*)
access # add deny $address($nick,1) 5
kick # $nick |[-No Text Flood/5 Min.Ban-]|
unset %revolve. [ $+ [ $nick ] ]
}
}
}
#NoFlood end
#flood off
alias -l MSNemotionsFlood {
if ($level($address($nick,1)) == admin) { halt }
elseif ($me isowner #) && ($calc($wildtok($3-,*,0,41) + $wildtok($3-,*,0,58) - $wildtok($3-,:,0,41)) > 20) {
/access $2 delete owner $nick
/access $2 delete host $nick
/access $2 delete owner $address($1,1)
/access $2 delete host $address($1,1)
/access $2 add deny $address($1,1) 5
/kick $2 $1 |[-No EmoticoN FlooD/5 MiN.BaN-]|
/halt
}
}
on ^*:text:*:#: {
/MSNemotionsFlood $nick $chan $1-
}
on ^*:action:*:#: {
/MSNemotionsFlood $nick $chan $1-
}
on ^*:notice:*:#: {
/MSNemotionsFlood $nick $chan $1-
}
#flood end
#disconnect off
alias rejoin {
$msn.recent(1,2)
}
on *:DISCONNECT:{
if ($nick == $me) { /rejoin }
else halt
}
#disconnect end
---------------------------------------------------------------------------------------------------------