ChristianEthics 9.4
_________________________________________________________________________
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 6 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
-Updated Nov 2004 to work in unison with other room limit changing bots..it won't change the limit if another bot already did.
-Updated Dec 2004 to over-ride the higher(+3)limit changers, with a lower(+2) limit,
to help deal with flooders more effectively. Also changes the limit lower after kicks/parts quicker.
-Fully Tested
____________________________________________________________________________

===============================================================================================
on *:Mode:#:{ If (+l isin $1-) if ( $calc($nick($chan,0) + 3) = $chan($msn.get($cid,fullroom)).limit ) /timer.limit off 
}

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

    } 
  } 
} 

on *:PART:*: { 
  if ($nick == $me) 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) 
      .timer.limit 1 3 mode $!chr(37) $!+ $right($chan,-1) +l $calc($nick($chan,0) + 2)

    } 
  }
}

on *:KICK:*: { 
  if ($knick == $me) 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) 
      .timer.limit 1 3 mode $!chr(37) $!+ $right($chan,-1) +l $calc($nick($chan,0) + 2) 

    } 
  }
} 



on *:LOAD: {  set %passportflood $=on On | /splay notify.wav | echo -a 0,12Passport Flooding/Room Limit Protection $+ 0,94 On
}
on *:UNLOAD: { set %passportflood $=off Off | /splay unload.wav | echo -a 0,12Passport Flooding/Room Limit Protection $+ 0,4 Off
}

menu * { halt
  -
  Dynamic Room Limit Changer
  .On: /set  %passportflood On | echo $color(highlight text) -at [Dynamic Limit Changer is On] 
  .Off: /unset  %passportflood  | echo $color(highlight text) -at [Dynamic Limit Changer is Off] 
  -

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