This script has multiple things that wont work. You have to remove
You couldv used something much simpler with the same effect:
on $*TEXT:/^[!.]countdown$/Si:#:{
if (%flood [ $+ [ $nick ] ]) { halt }
set -u2 %flood [ $+ [ $nick ] ] $true
if (%flood2 [ $+ [ $chan ] ]) { notice $nick Please wait 10seconds before counting down again! | halt }
set -u10 %flood2 [ $+ [ $chan ] ] $true
msg $chan Countdown Started!
timer 1 1 msg $chan 5
timer 1 2 msg $chan 4
timer 1 3 msg $chan 3
timer 1 4 msg $chan 2
timer 1 5 msg $chan 1
timer 1 6 msg $chan Go! | halt }
}
This is simple msl code but it will work better and safer then urs. I recommend using $chan for scripts that use multiple timers. Timers will cause spam and no one likes that. Unless its for fun ;D
Next time post your code in the Code section of your post.
The if ($2 > 5) { is unecesary since the script doesnt care what you type in the $2 section. It will just always count down from 5 to 0.
What you are trying to do looks like this:
on $*TEXT:/^[!.]countdown/Si:#:{
if (!$2) { notice $nick Please provide the time in seconds you want to count down from! | halt }
elseif (%countdown [ $+ [ $nick ] ]) { notice $nick You still have a timer running! | halt }
elseif ($2 > 5 || $2 < 1) { notice $nick I cant countdown from lower then 1 or higher then 5! You entered $2 wich isnt correct! | halt }
else { notice $nick Started counting down from $2. | set $+(-u,$2) %countdown [ $+ [ $nick ] ] $true | .timer $+(countdown,$nick) $2 notice $nick The timer stopped after counting down from $2 $+ . | halt }
halt
}