Jump to content

Archived

This topic is now archived and is closed to further replies.

chain

Limiter

Recommended Posts

  • Administrators
Description: Channel limiter, prevents severe clone attacks.

 

>on *:load:{  echo -a * When you set a limit, thats how many users can join before getting the Cannot join channel (+l) error.  echo -a * So, how many digits (numbers) ahead of the users in the channel should the limit be. Example: If there  echo -a * are 15 users in the channel, how many numbers ahead should the limit be? Example: 3, would change the  echo -a * limit to 18, and so on. This is mainly to prevent attacks with severe clones on a channel, and its more  echo -a * suited for running on an eggdrop/bot, because it monitors all channel. If you wish to edit this code, you may  echo -a * and if you wish to redistribute it, you may, just so long as this code stays intact. Script kiddies who rip scripts  echo -a * because they cannot make their own are sad, and should get a life. DON'T RIP SCRIPTS! Please visit:  echo -a * http://www.divscript.tk. That is my website. Thanks for downloading my addon. David G.  set %overlimit $$?="How many more numbers in the limit than there are users in the channel?"  echo -a * Overlimit set to  $+ %overlimit $+  $+ .}on *:unload:{  unset %overlimit  unset %limit.users.*  unset %var.inc  echo -a * Unloaded. Thanks for downloading my addon, and don't forget to visit my website: http://www.divscript.tk :). David G.}menu status,channel,query,menubar {  -  Edit overlimit:{    set %overlimit $$?="New overlimit?"    echo -a * Overlimit set to  $+ %overlimit $+  $+ .  }  -}alias call.limit.1 {  if ($1 == $null) {    echo -a * Error. Channel not specified.    halt  }  if ($1 != $null) {    if ($me isop %limit.users. [ $+ [ $1 ] ]) {      mode %limit.users. [ $+ [ $1 ] ] +l $calc($nick(%limit.users. [ $+ [ $1 ] ],0) + %overlimit)      unset %limit.users. [ $+ [ $1 ] ]      halt    }  }}on !*:part:#:{  set %limit.users. [ $+ [ # ] ] #  .timer 1 3 call.limit.1 %limit.users. [ $+ [ # ] ]  halt}on *:kick:#:{  if ($knick == $me) {    halt  }  if ($knick != $me) {    set %limit.users. [ $+ [ # ] ] #    .timer 1 3 call.limit.1 %limit.users. [ $+ [ # ] ]    halt  }}on *:quit:{  %var.inc = 0  :loop  inc %var.inc  if ($comchan($nick,%var.inc) == $null) {    unset %var.inc    halt  }  if ($comchan($nick,%var.inc) != $null) {    set %limit.users. [ $+ [ $comchan($nick,%var.inc) ] ] $comchan($nick,%var.inc)    .timer 1 3 call.limit.1 %limit.users. [ $+ [ $comchan($nick,%var.inc) ] ]    goto loop  }}on !*:join:#:{  set %limit.users. [ $+ [ # ] ] #  .timer 1 3 call.limit.1 %limit.users. [ $+ [ # ] ]  halt}on ^*:join:#:{  if ($nick == $me) {    set %limit.users. [ $+ [ # ] ] #    .timer 1 3 call.limit.1 %limit.users. [ $+ [ # ] ]  }}

Link to comment
Share on other sites



×
×
  • Create New...