Aucun: I don't think it really matters if you change everything else after the first one to 'elseif', because the variable, according to his script, can't be 1 or 6 or 18..different numbers at the same time.
I think the bot should question the user if he or she supplied an answer or not. You can't really answer a question without one, can you? :P
Maybe add something like:
if (!$2-) { notice $nick Please supply a question! }
?
You can completely ignore what I say from here, xero_art:
You can also use tokens:
on *:text:!8ball*:#: {
if (!$2-) { notice $nick Please supply a question! }
else { var %randxc Ask again later|Not a chance|As I see it, yes|Better not tell you now|Cannot predict now|Concentrate and ask again|Don't count on it|It is certain|It is decidedly so|Most likely|My reply is no|My sources say no|Outlook good|Outlook not so good|Reply hazy, try again|Signs point to yes|Very doubtful|Without a doubt|Yes|Yes - definitely|You may rely on it|Do I look like I care?|Yeah, right|Ask a better question|Well, $rand(1,50) years, $rand(17,364) days, $rand(0,23) hours, $rand(0,59) minutes, and some odd seconds...wait, what was the question?|lol, seriously? You can ask me any question and you ask $+(",$2-,")
msg $chan $+($nick,$chr(58)) $+($chr(3),4,$gettok(%randxc,$rand(1,$numtok(%randxc,124)),124)) } }
Set all of the possibilities into one variable, dividing them with the character "|" (aka $chr(124)), and finally using $gettok to get a random token from 1 to 26 (all tokens in %randxc, or $numtok(%randxc)) all in the variable %randxc,
In English: You can use tokens to significantly shorten your scripts. :]