Yea, you need a close bracket. Make the code this:
on *:TEXT:\8ball*:#:{
/set %8ball $rand(1,12)
if (%8ball == 1) .msg $chan 4,1No!
if (%8ball == 2) .msg $chan 12,1Yes
if (%8ball == 3) .msg $chan 8,1Maybe
if (%8ball == 4) .msg $chan 9,1of course
if (%8ball == 5) .msg $chan 11,1Are you crazy?!?!
if (%8ball == 6) .msg $chan 7,1How should I know?
if (%8ball == 7) .msg $chan 8,1HELL NO!
if (%8ball == 8) .msg $chan 10,1As far as you know yea!
if (%8ball == 9) .msg $chan 5,1Why should i tell you!
if (%8ball == 10) .msg $chan 6,1If i say yes will you shut up?
if (%8ball == 11) .msg $chan 11,1Yes that will be $20
if (%8ball == 12) .msg $chan 3,1Ummmm...... No
}