This thing keeps INCing the lines per second , even if the time is up.

on *:text:*:*:{ if (serv isin $nick || $nick == Neostats || $nick == opsb || $nick == irc || xdcc isin $nick || $chan == #xdcc) { halt } | if (%textlinecount $+ $nick $+ 3 == on) { goto 2 | halt } | inc -u10 %txt $+ $nick | set -u10 %textlinecount $+ $nick $+ 3 on | :2 { if (%limitffs isin %txt [ $+ [ $nick ] ] ) { ignore -60 $nick | echo 4 -s had to ignore $nick for too many lines of text | set -u10 %txt $+ $chan 1 | if ($me ishop # || $me isop #) { ban -ku60 # $nick 4 slow down a bit will ya. come back in 60 | .timer $+ $nick $+ $chan 1 60 invite $nick $chan } } } | if (1 isin [ %txt [ $+ [ $chan ] ] ] ) { mode $me +d | timer $+ $chan $+ $me $+ modes 1 60 mode $me -d | if ($me isop #) { mode # +iKmNM | .timer $+ $chan $+ modes 1 60 mode # -iNKmM } } }

is there a way to make $calc() in to it and make it check better and unset the veriable at the correct time?

maybe .....

if (((%limitsfortext isin %thereverable) && (%setastarttimetoo ISGREATEROREQUALTO %linesperthetime) { kick and ignore triggers }