tglogo.png
0 LIKES

Snippet


IQ Test V2 by newklear

In Category General IRC Posted by Snippets On 12/06/23
Tags: iq test newklear game 

This is a working copy of the IQ Test Script originally done by Jamiie . Full credit goes to Jamiie

Have added a few tweaks as well as score keeping and alerts for players. Enjoy :-)

This is a IQ test, 10 questions based on your answers will determine your IQ.
Your IQ is determined by this formula:

(MA/CA)*100

MA=Mental age
CA=Chronological age

Mental age is scored based on the answer you input for each question.
Chronological age is your actual age from !age your age

Commands:
!iq: To start the IQ Test (In Channel)
!age: Syntax: !age 27 (In Private, the rest of the questions will be answered in private message)
!cancel: Can cancel the test at any time (In Channel or Private)
!topiq: Will display the Top 10 IQ Scores in Channel, if you want top 20: !topiq 20 (Channel)

The Questions are also regional based, so change questions to suite your demographic.
NB: This is not a true indicator of your IQ, it's for fun!
on *:LOAD: {
  $iif($exists($mircdir/IQ),,mkdir $mircdir/IQ)
}

on *:text:!iq:#: {
  if (%iq. [ $+ [ $address($nick,2) ] ] == 6) { halt }
  inc -u600 %iq. [ $+ [ $address($nick,2) ] ] 1
  if (%iqnick == $nick) { msg $chan $nick $+ , You are already taking the test, look in your private message. | msg $nick Here :p | return }
  if (!%iqnick) {
    msg $chan General Knowledge Squizz commencing, I have sent you a private message $nick $+ .
    timeriq1 1 1 msg $nick General Knowledge Squizz Introduction and Disclaimer:
    timeriq2 1 2 msg $nick If at any point you wish to cancel, type !cancel and !topiq (in Channel) for Top 10 General Knowledge Squizz Results.
    timeriq3 1 3 msg $nick Right, let us begin, Type: !age your age here
    set -u600 %iqnick $nick
    set -u600 %iqchan $chan
    auser age %iqnick
  }
  else { msg $chan $nick $+ , I am currently testing %iqnick $+ 's IQ (Shouldn't be more than $duration($timer(iqend3).secs) $+ , I will alert you when you can take the test!) | set %iqalert $nick }
}

on *:TEXT:!cancel*:*: {
  if (%iqnick == $nick) {
    msg %iqchan %iqnick has cancelled their General Knowledge Squizz.
    if (%iqalert) { timeriqalert 1 3 msg %iqchan %iqalert %iqalert %iqalert $+ !!! You can get your General Knowledge tested, begin with: !iq }
    .timeriq1 1 1 unset %iq*
    .timeriq2 1 2 timeriqend? off
    ruser %iqnick
  }
}

on age:TEXT:!age*:?: {
  if (!$2) { msg $nick Example Syntax: !age 33 | return }
  if ($2 isnum) {
    if ($2 > 80) { msg $nick I seriously doubt it -_-, try again :p | return }
    if ($2 < 18) { msg $nick You're too young to give an accurate IQ, sorry! | return }
    $iif($2 >= 60,set %iqchronoage $calc($2 - 20),set %iqchronoage $2)
    $iif($2 <= 30,set %iqchronoage $calc($2 + 20),set %iqchronoage $2)
    msg $nick You have 10 minutes to complete this General Knowledge Squizz.
    msg $nick In this test you will be answering 10 questions, to proceed type 4Yes or 4No.
    set -u600 %iqstart $ctime
    timeriqend1 1 600 ruser %iqnick
    timeriqend2 1 600 unset %iq*
    timeriqend3 1 600 if (%iqalert) { msg %iqchan %iqnick Did not complete the General Knowledge Squizz. %iqalert is next up! } 
    timeriqend4 1 600 if (!%iqalert) { msg %iqchan %iqnick Did not complete the General Knowledge Squizz. !iq to start ;)) }
    auser yes %iqnick
  }
  else { msg $nick Please use a valid number for age, Syntax: !age 22 }
}

on yes:TEXT:no:?: {
  msg %iqchan %iqnick has cancelled their General Knowledge Squizz.
  if (%iqalert) { timeriqalert 1 3 msg %iqchan %iqalert %iqalert %iqalert $+ !!! You can get your General Knowledge Tested, begin with: !iq }
  .timeriq1 1 1 unset %iq*
  .timeriq2 1 2 timeriqend? off
  ruser %iqnick
}
on yes:TEXT:yes:?: {
  auser q1 %iqnick
  msg $nick Question one..
  .timeriq 1 2 msg $nick Which one of the five is least like the other four?
  .timeriq1 1 3 msg $nick Dog, Mouse, Lion, Snake, Elephant.
}
on q1:TEXT:*:?: {
  if ($1 == snake) { set %iqq1 6 | inc %iqscore 1 }
  elseif ($1 == dog) { set %iqq1 3 }
  elseif ($1 == mouse) { set %iqq1 2 }
  elseif ($1 == lion) { set %iqq1 1 }
  elseif ($1 == elephant) { set %iqq1 0 }
  else { set %iqq1 0 }
  msg $nick Question two..
  .timeriq 1 2 msg $nick What is the product of 4 and 3?
  .timeriq1 1 2 msg $nick Choices: 5, 1, 12, 7, 43.
  auser q1.5 %iqnick
}
on q1.5:TEXT:*:?: {
  if ($1 == 12) { set %iqq2 6 | inc %iqscore 1 }
  elseif ($1 == 7) { set %iqq2 3 }
  elseif ($1 == 5) { set %iqq2 2 }
  elseif ($1 == 1) { set %iqq2 1 }
  elseif ($1 == 43) { set %iqq2 0 }
  else { set %iqq2 0 }
  auser q2 %iqnick
  msg $nick Question three..
  .timeriq 1 2 msg $nick If I have 3 apples, 2 Lemons, 4 Radishes, 12 mangoes and a black label beer, how many fruits do I have?
  .timeriq1 1 2 msg $nick Choices: 10, 7, 9, 17, 12
}
on q2:TEXT:*:?: {
  if ($1 == 17) { set %iqq3 6 | inc %iqscore 1 }
  elseif ($1 == 12) { set %iqq3 3 }
  elseif ($1 == 9) { set %iqq3 2 }
  elseif ($1 == 10) { set %iqq3 1 }
  elseif ($1 == 7) { set %iqq3 0 }
  else { set %iqq3 0 }
  auser q2.5 %iqnick
  msg $nick Question four..
  .timeriq 1 2 msg $nick -5 + (+9)-(-8) is how much?
  .timeriq1 1 2 msg $nick Choices: 26, 12, -4, -8, 0
}
on q2.5:TEXT:*:?: {
  if ($1 == -4) { set %iqq4 6 | inc %iqscore 1 }
  elseif ($1 == 26) { set %iqq4 3 }
  elseif ($1 == 12) { set %iqq4 2 }
  elseif ($1 == -8) { set %iqq4 1 }
  elseif ($1 == 0) { set %iqq4 0 }
  else { set %iqq4 0 }
  auser q3 %iqnick
  msg $nick Question five..
  .timeriq 1 2 msg $nick Which one of the five choices makes the best comparison?
  .timeriq1 1 2 msg $nick Finger is to Hand as Leaf is to:
  .timeriq2 1 3 msg $nick Twig, Tree, Branch, Blossom, Bark
}
on q3:TEXT:*:?: {
  if ($1 == branch) { set %iqq5 6 | inc %iqscore 1 }
  elseif ($1 == twig) { set %iqq5 3 }
  elseif ($1 == tree) { set %iqq5 2 }
  elseif ($1 == blossom) { set %iqq5 1 }
  elseif ($1 == bark) { set %iqq5 0 }
  else { set %iqq5 0 }
  auser q4 %iqnick
  msg $nick Question six..
  .timeriq 1 2 msg $nick Johnny needs 13 bottles of water from the Seven 11 in Cape Town. Johnny can only carry 3 at a time.
  .timeriq1 1 2 msg $nick What's the minimum number of trips Johnny needs to make to the store?
  .timeriq2 1 3 msg $nick Choices: 3, 4, 4.5, 5, 6
}
on q4:TEXT:*:?: {
  if ($1 == 5) { set %iqq6 6 | inc %iqscore 1 }
  elseif ($1 == 4) { set %iqq6 3 }
  elseif ($1 == 3) { set %iqq6 2 }
  elseif ($1 == 4.5) { set %iqq6 1 }
  elseif ($1 == 6) { set %iqq6 0 }
  else { set %iqq6 0 }
  auser q4.5 %iqnick
  msg $nick Question seven..
  .timeriq 1 2 msg $nick If you rearrange the letters "LNGEDNA" you have the name of a(n):
  .timeriq1 1 3 msg $nick Choices: Animal, Country, State, City, Ocean.
}
on q4.5:TEXT:*:?: {
  if ($1 == country) { set %iqq7 6 | inc %iqscore 1 }
  elseif ($1 == animal) { set %iqq7 3 }
  elseif ($1 == state) { set %iqq7 2 }
  elseif ($1 == city) { set %iqq7 1 }
  elseif ($1 == ocean) { set %iqq7 0 }
  else { set %iqq7 0 }
  auser q5 %iqnick
  msg $nick Question eight..
  .timeriq 1 2 msg $nick Choose the word most similar to "Trustworthy":
  .timeriq1 1 3 msg $nick Choices: Resolute, Tenacity, Relevant, Insolent, Reliable.
}
on q5:TEXT:*:?: {
  if ($1 == reliable) { set %iqq8 6 | inc %iqscore 1 }
  elseif ($1 == tenacity) { set %iqq8 3 }
  elseif ($1 == relevant) { set %iqq8 2 }
  elseif ($1 == insolent) { set %iqq8 1 }
  elseif ($1 == resolute) { set %iqq8 0 }
  else { set %iqq8 0 }
  auser q5.5 %iqnick
  msg $nick Question nine..
  .timer 1 2 msg $nick If you are using Excel, which function offers the most convenient and most popular approach for extracting data from other spreadsheets or workbooks without using the manual copy and paste method? This is a one word answer.
  .timeriq1 1 3 msg $nick Choices: Filter, =, Vlookup, Import, Macro.
}
on q5.5:TEXT:*:?: {
  if ($1 == vlookup) { set %iqq9 6 | inc %iqscore 1 }
  elseif ($1 == filter) { set %iqq9 3 }
  elseif ($1 == =) { set %iqq9 2 }
  elseif ($1 == import) { set %iqq9 1 }
  elseif ($1 == macro) { set %iqq9 0 }
  else { set %iqq9 0 }
  auser q6 %iqnick
  msg $nick Question ten..
  .timeriq 1 2 msg $nick If a 60 year old couple retires in South Africa today, how much do they need too cover their future health care cost?
  .timeriq1 1 2 msg $nick Choices: 100000, 2800000, 1000000, 5000000, 56000
}
on q6:TEXT:*:?: {
  if ($1 == 2800000) { set %iqq10 6 | inc %iqscore 1 }
  elseif ($1 == 100000) { set %iqq10 3 }
  elseif ($1 == 1000000) { set %iqq10 2 }
  elseif ($1 == 5000000) { set %iqq10 1 }
  elseif ($1 == 56000) { set %iqq10 0 }
  else { set %iqq10 0 }
  .timeriqend? off
  set %iqtimecomp $calc($ctime - %iqstart)
  set %iqtimebonus $round($calc((600 - %iqtimecomp) / 100),0)
  set %iqmentalage $calc(%iqq1 + %iqq2 + %iqq3 + %iqq4 + %iqq5 + %iqq6 + %iqq7 + %iqq8 + %iqq9 + %iqq10 + %iqtimebonus)
  .timeriq1 1 1 msg $nick Your IQ is: $round($calc((%iqmentalage / %iqchronoage)*100),0) with %iqscore / 10 correct answers. Well done!
  .timeriq2 1 2 msg %iqchan %iqnick Completed the General Knowledge Squizz in $duration(%iqtimecomp) $+ , with an IQ of $round($calc((%iqmentalage / %iqchronoage)*100),0)
  .timeriq3 1 3 write $mircdir\IQ\Results.txt $round($calc((%iqmentalage / %iqchronoage)*100),0) %iqnick $duration(%iqtimecomp) %iqchronoage %iqscore $ctime
  .timeriq4 1 4 unset %iq*
  ruser %iqnick
  if (%iqalert) { timeriqalert 1 6 msg %iqchan %iqalert %iqalert %iqalert You can get your General Knowledge Tested, begin with: !iq }
}

on *:TEXT:!topiq*:#:{ 
  if (%topiq. [ $+ [ $address($nick,2) ] ] == 6) { halt }
  inc -u3600 %topiq. [ $+ [ $address($nick,2) ] ] 1
  if ($2 > 30) { msg $chan Keep it 30 and below @ $nick | return }
  $iif($2,set -u30 %topwhat $2,set -u30 %topwhat 10)
  topiq #
}

alias -l topiq {
  var %file = $mircdir\IQ\Results.txt, %l = %topwhat $+ , %d = $lines(%file), %w = @top10
  window -hn %w
  clear %w
  while %d {
    tokenize 32 $read(%file,nt,%d)
    aline %w 4 $+ $2 $+ :3 $1 $+ 10 
    dec %d
  }
  filter -cuteww 2 32 %w %w
  var %k = 1, %k1
  while %k <= %l  {
    %k1 = $addtok(%k1,$+($chr(32),12,$chr(35),%k,) $iif($line(%w,%k),$v1,),44)
    inc %k
  }
  msg $chan  12Top4 %topwhat 12IQ High Score's:
  msg $chan %k1 $+ .
}


Comments 0


Please note that on our website we use cookies necessary for the functioning of our website, cookies that optimize the performance. To learn more about our cookies, how we use them and their benefits, please read our Cookie Policy.
I Understand