
anti flood
By: a guest on
Jun 20th, 2012 | syntax:
mIRC | size: 1.20 KB | hits: 28 | expires: Never
#
# anti-flood by Koko`
###############################################
on *:connect:{ hmake afloodkk $+ $server 1 }
on *:disconnect:{ hfree afloodkk $+ $server }
#afloodfile off
alias aflood {
if ($1- == $null) { halt }
else {
if ($exists(aflood. $+ $server $+ .tmp) == $true) {
.write aflood. $+ $server $+ .tmp $1-
; .write aflood.tmp .write -d1 aflood.tmp
}
else {
.write aflood. $+ $server $+ .tmp $1-
; .write aflood.tmp .write -d1 aflood.tmp
; .timeraflood 0 1 $!aaflood
}
}
}
alias aaflood {
$read(aflood. $+ $server $+ .tmp, 1)
write -dl1 aflood. $+ $server $+ .tmp
}
#afloodfile end
#afloodhashtable on
alias aflood {
var %table
set %table afloodkk $+ $server
if ($1- == $null) { halt }
hadd -m %table k $+ $unique $1-
}
alias aaflood {
var %lastelem, %table, %item
set %table afloodkk $+ $server
;; taking bottom element to make it queue like, bottom elem is always 1
;set %lastelem $hget(%table, 0).item
set %lastelem $hget(%table, 0).item
set %item $hget(%table, %lastelem).item
if (%lastelem == 0) { halt }
[ [ $hget(%table , %item) ] ]
hdel %table %item
}
#afloodhashtable end