ChristianEthics 9.0 Glory to His Holy Name.
_________________________________________________________________________
E-mail: ChristianEthics2@yahoo.ca 
Messenger: ChristianEthics@hotmail.com 
Home page: http://ca.geocities.com/christianethics2
Downloads & Message Board: http://groups.yahoo.com/group/ChristianEthics_BibleBotDownloadZone/
__________________________________________________________________________

PassPort Flood/Room Limit Protection
-This code came from Hybrid and he wrote the following:
-This code by eXonyte will allow protection against all types of on JOIN Flood attacks (Passport or Guest_)
-It works by dynamicaly setting the room maximum chatter size to +3 the current size only after 5 seconds
-So this means only a maximum of 3 people can join in any given 5 seconds period, thus keeping out flooders.

-Edited Sept 2004  works with vincula.
-Edited Sept 2004 to work with clearmsn, not sure why it doesn't, good thing clear has its own built in one.
-Edited Sept 2004 to work with the GuardDog settings of +3 instead of +5
-Edited Sept 2004 to work with show users colors
-Fully Tested
____________________________________________________________________________

===============================================================================================

#limitprot on
on *:JOIN:*: { 
  if ($nick == $me) halt 
  if ($nick == $mi) halt
  if ($me isop $chan) { 
    if ($calc($nick($chan,0) + 2) <= 100) { 
      .timer.limit 1 5 mode $!chr(37) $!+ $right($chan,-1) +l $calc($nick($chan,0) + 3) 
    } 
  } 
  if ($mi isop #) { 
    if ($calc($nick($chan,0) + 2) <= 100) { 
      .timer.limit 1 5 mode $!chr(37) $!+ $right($chan,-1) +l $calc($nick($chan,0) + 3) 
    } 
  } 
} 

on *:PART:*: { 
  if ($nick == $me) halt
  if ($nick == $mi) halt
  if ($me isop $chan) { 
    if ($calc($nick($chan,0) + 2) <= 100) { 
      .timer.limit 1 3 mode $!chr(37) $!+ $right($chan,-1) +l $calc($nick($chan,0) + 2) 
    } 
  }
  if ($mi isop #) {
    if ($calc($nick($chan,0) + 2) <= 100) { 
      .timer.limit 1 3 mode $!chr(37) $!+ $right($chan,-1) +l $calc($nick($chan,0) + 2) 
    } 
  }
}

on *:KICK:*: { 
  if ($knick == $me) halt
  if ($knick == $mi) halt
  if ($me isop $chan) { 
    if ($calc($nick($chan,0) + 2) <= 100) { 
      .timer.limit 1 3 mode $!chr(37) $!+ $right($chan,-1) +l $calc($nick($chan,0) + 2) 
    } 
  }
  if ($mi isop #) { 
    if ($calc($nick($chan,0) + 2) <= 100) { 
      .timer.limit 1 3 mode $!chr(37) $!+ $right($chan,-1) +l $calc($nick($chan,0) + 2) 
    } 
  }
} 

#limitprot end
on *:LOAD: {  set %passportflood $=on On | /splay notify.wav | $iif($group(#limitprot) == on,$style(2),$style(0)) On: .enable #limitprot | echo -a 0,12Passport Flooding/Room Limit Protection $+ 0,94 On
}
on *:UNLOAD: { set %passportflood $=off Off | /splay unload.wav | $iif($group(#limitprot) == off,$style(2),$style(0)) Off: .disable #limitprot | echo -a 0,12Passport Flooding/Room Limit Protection $+ 0,4 Off
}

;By eXonyte web site: http://exonyte.dyndns.org
