Don't like ads? PRO users don't see any ads ;-)
Guest

anti flood

By: a guest on Jun 20th, 2012  |  syntax: mIRC  |  size: 1.20 KB  |  hits: 28  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. #
  2. # anti-flood by Koko`
  3. ###############################################
  4.  
  5. on *:connect:{ hmake afloodkk $+ $server 1 }
  6. on *:disconnect:{ hfree afloodkk $+ $server }
  7.  
  8. #afloodfile off
  9. alias aflood {
  10.   if ($1- == $null) { halt }
  11.   else {
  12.     if ($exists(aflood. $+ $server $+ .tmp) == $true) {
  13.       .write aflood. $+ $server $+ .tmp $1-
  14.       ; .write aflood.tmp .write -d1 aflood.tmp
  15.     }
  16.     else {
  17.       .write aflood. $+ $server $+ .tmp $1-
  18.       ; .write aflood.tmp .write -d1 aflood.tmp
  19.       ; .timeraflood 0 1 $!aaflood
  20.     }
  21.   }
  22. }
  23.  
  24. alias aaflood {
  25.   $read(aflood. $+ $server $+ .tmp, 1)
  26.   write -dl1 aflood. $+ $server $+ .tmp
  27. }
  28. #afloodfile end
  29.  
  30. #afloodhashtable on
  31. alias aflood {
  32.   var %table
  33.   set %table afloodkk $+ $server
  34.   if ($1- == $null) { halt }
  35.   hadd -m %table k $+ $unique $1-
  36. }
  37.  
  38. alias aaflood {
  39.   var %lastelem, %table, %item
  40.   set %table afloodkk $+ $server
  41.   ;; taking bottom element to make it queue like, bottom elem is always 1
  42.   ;set %lastelem $hget(%table, 0).item
  43.   set %lastelem $hget(%table, 0).item
  44.   set %item $hget(%table, %lastelem).item
  45.   if (%lastelem == 0) { halt }
  46.   [ [ $hget(%table , %item) ] ]
  47.   hdel %table %item
  48. }
  49. #afloodhashtable end