When putting code onto the forum for many reasons we ask that you please use the code tags so we can read it suffciently..

Here's an example of how it can be done, but requires a text file for your questions and a infront of the * goes the answer.

Code:
On @*:Join:#IRC: {
  if (!$hget(vnick,$nick)) {
    .msg $nick Hello $nick welcome to channel, in order to be voiced we require you take our test.
    .msg $nick Type !test to take our short 5 question test.
    .enable #test
  }
  else { mode $chan +v $nick }
}

;This is to their advantage to read th questions before answering so they can take a breather and get more familiar questions, hehe.

On *:Text:!test:?: {
  var %x = 1
  while (%x <= $lines(q.txt)) {
    .timer 1 %x .msg $nick $gettok($read(q.txt,%x),1,42)
    inc %x
  }
  .msg $nick To answer the questions type !test <Question Number> [yes|no]
}

#test off
On *:Text:!test & &:?: {
  if ($read(q.txt,$2) && $3 == $gettok($read(q.txt,$2),2,42) && ($2 != 5)) { 
    .msg $nick Question $2 correct.
  }
  elseif ($read(q.txt,$2) && ($3 == $gettok($read(q.txt,$2),2,42) && $2 == 5)) { 
    .msg $nick Question 5 correct!
    .msg $nick that completes our test.
    hadd -m vNick $nick $address($nick,2)
    mode $v2 +v $nick
    .disable #test
  }
  else { 
    if ($me isop #IRC) {
      ban -ku7200 #irc $nick 2 I'm sorry that is an incorrect answer.
      .disable #test
      .ignore $nick
    }
  }
}

#test end



The text file must look like:

1 Is your problem torncity related?*yes
2 Is your question about your nickname?*no
3 Some third question?*no
4 Some fourth question?*no
5 Some fifth question?*yes

You may change the questions, but leave the 1,2,3,4,5 down the side in place when adding an answer its vital it's in the format of question*answer like most trivia questions layed out.

!test 1 no

*Bans the user

*MSG's the user

*Ignore's the user


!test 1 yes

*Add's user to Hash Table for future reference (until you close mIRC) although a minor addition will sort it so the data gets saved when mIRC closes.

*Gives user voice (+v) status.

* MSG's the user.

*Wont require the user to take test again, that's unless you close mIRC so data isn't saved. Again data can be saved if you so wish: /help /hsave.

-Andy