Here is a simple 'trivia' script I made up:
Code:
on *:TEXT:!start:$($trivchan):{
  [color:purple]if ($ulevel < 4) return[/color]
  unset %triv.*
  msg $trivchan Trivia is now ON
  .timertriv 1 7 showquestion
}
on *:TEXT:!stop:$($trivchan):{
  [color:purple]if ($ulevel < 4) return[/color]
  .disable #trivanswer
  unset %triv.*
  .timertriv off
  msg $trivchan Trivia is now OFF
}
on *:TEXT:!next:$($trivchan):{
  [color:purple]if ($ulevel < 4) return[/color]
  endquestion
}
on *:TEXT:!question &:$($trivchan):{
  [color:purple]if ($ulevel < 4) return[/color]
  endquestion $2
}

alias -l trivchan return [color:orange]#testtriv[/color]

alias -l showquestion {
  .disable #trivanswer

  ;** Read specific question? 
  if (($1) && ($1 !isnum $+(1-,$lines(qdb.txt)))) $& 
    msg $trivchan Invalid Question- $+(",$1,")
  else var %qline = $read(qdb.txt,$1)
  if (%qline) goto skip

  ;** Find random question
  var %c = 0
  while (%c <= 5) {
    inc %c
    var %qline = $read(qdb.txt)
    if ($istok(%triv.L,$readn,44)) continue
    else break
  }
  :skip

  ;** Display question, wait for answer
  set %triv.q $gettok(%qline,1,124)
  set %triv.a $gettok(%qline,2-,124)
  set %triv.L $readn $+ , $+ $gettok(%triv.L,1-4,44)
  set %triv.C $ctime
  msg $trivchan Question $readn $+ : %triv.q
  .enable #trivanswer
  .timertriv 1 [color:green]30[/color] endquestion
}

alias -l endquestion {
  .disable #trivanswer
  msg $trivchan Time is up.
  .timertriv 1 7 showquestion $1
}

#trivanswer on
on *:TEXT:*:#:{
  if ($istok(%triv.a,$remove($1-,$chr(124)),124)) {
    msg $trivchan $nick got the answer in $calc($ctime - %triv.C) seconds
[color:red]    msg $trivchan The answer: $remove($1-,$chr(124))[/color]
[color:blue]    msg $trivchan The answer: $gettok(%triv.a,1,124)[/color]
    .timertriv 1 7 showquestion
  }
}
#trivanswer end


The script reads a file called 'qdb.txt' for a single line. The qdb.txt file has a format like this:

Code:
Question A?|answerAa|answerAb
Question B?|answerBa|answerBb
Question C?|answerCa|answerCb|AnswerCc
Question D?|answerDa|answerDb|AnswerD c|Answer D d
Question E?|answerEa|answerEb
Question F?|answerFa|answerFb
Question G?|answerGa
Question H?|answerHa|answerHb
Question I?|answerIa|answerIb
Question J?|answerJa|answerJb
Question K?|answerKa|answerKb
Question L?|answerLa|answerLb


Each line has 1 question, and as many answers as mIRC will allow without overflowing a variable. The question/answers are separated by a single pipe | character (124). The question and answers can have spaces if necessary.

The questions are asked, and then the script waits some time for the answer. If there is no answer, it reports that the time is up, waits 7 seconds, then asks the next question. If someone answers the question, the script reports that someone has won, waits 7 seconds, then asks the next question.

Options:
The time given for answering the questions can be altered by adjusting the GREEN 30 in the code to the desired number of seconds.
-
The way that the answer is displayed can be altered by choosing either the RED or BLUE lines above. The red line will show the answer as exactly what the person answered with. The blue line will always display the FIRST answer as given in the qdb.txt, regardless of which answer the person answered with. Just comment out (;msg $trivchan...) the line that you don't want to use. Personally, I prefer using the blue line.
-
The purple text is where you can specify who can use the commands. Your own example used $ulevel 4, but you could replace that line with something like if ($nick !isop $trivchan) return to only allow channel operators to use the commands.
-
The orange text is where you would specify the name of your trivia channel.

There are 4 commands included in the script. The commands are as follows:
!start - Start the trivia
!stop - Stop the trivia
!next - Skip to the next question
!question ## - Skip to specified question ##

* Note that you CANNOT use any of the commands or answer the questions from the same connection that the script is running on. You will have to connect to your channel with the script in one mIRC and you in another.

If there are any problems, let me know here.

-genius_at_work