raw 421:* SILENCE *:{
if ($var($+(%,flood.,$cid,.silence),1)) { unset $ifmatch | halt }
}
;;; The below raw events only work on mIRC 6.1, due to the $ level prefix
raw $005:/.* SILENCE=[1-9]\d* .*/i:{ set $+(%,flood.,$cid,.silence) 1 }
raw $000:/^[+-]\S+!\S+@\S+$/:{
var %toggle = $left($1,1), %mask = $mid($1,2)
if (%toggle == +) {
if (%mask == <check>!*@*) {
set $+(%,flood.,$cid,.silence) 1
!silence -<check>
halt
}
elseif ($($+(%,flood.,$cid,.silence.,%mask),2)) {
set $+(%,flood.,$cid,.silence.,%mask) 1
.timer.flood.silence. $+ %mask 1 60 silence - $+ %mask
halt
}
}
else {
if ($($+(%,flood.,$cid,.silence.,%mask),2)) {
set -u $+(%,flood.,$cid,.silence.,%mask)
halt
}
elseif (%mask == <check>!*@*) { halt }
}
}
on *:CONNECT:{ if (!$($+(%,flood.,$cid,.silence),2)) !silence +<check> }
on *:DISCONNECT:{ unset $+(%,flood.,$cid,.*) }
on @^*:TEXT:*:#:{
inc -u5 $+(%,flood.,$cid,.,$wildsite,.,$chan)
if ($($+(%,flood.,$cid,.,$wildsite,.,$chan),2) > 4) {
ban -k $chan $nick 2 Stop flooding dude
.ignore -u5 $wildsite
if ($($+(%,flood.,$cid,.silence),2)) {
set $+(%,flood.,$cid,.silence.,$wildsite) 1
!silence + $+ $wildsite
}
}
}