Advertisement
Rawoas13

Untitled

Jan 19th, 2020
495
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 16.77 KB | None | 0 0
  1. ---------------------------------
  2. --Game Set-up
  3. ---------------------------------
  4.     modeSet = 1
  5.     --[[#0 = Normal || #1 = QnA Only || #2 = TnF Only]]--
  6.     roundTime = false
  7.     --[[#true = Longer Round Time || #false = Shorter Round Time]]--
  8.    
  9. ---------------------------------
  10. --Questions/Statements
  11. ---------------------------------
  12.     multipleChoice = {}
  13.     --[[ multipleChoice[#] = {question = "?", answer1 = "A", answer2 = "B", answer3 = "C", correctAnswer = "D", score = 999} ]]--
  14.     trueAndFalse = {}
  15.     --[[ trueAndFalse[#] = {statement = ".", answer = "true 3/false 4", score = 999} ]]--
  16.    
  17. ------List your multipleChoice questions here.
  18.     multipleChoice[1] = {question = "When was Transformice released?", answer1 = "January 2011", answer2 = "December 2010", answer3 = "April 2011", correctAnswer = "May 2010", score = 10}
  19.     multipleChoice[2] = {question = "What country did Transformice originate from?", answer1 = "London", answer2 = "Canada", answer3 = "China", correctAnswer = "France", score = 10}
  20.     multipleChoice[3] = {question = "What is the most famous skill learnt in Transformice called?", answer1 = "Corner jumping", answer2 = "Turn around", answer3 = "Wall kicking", correctAnswer = "Wall jumping", score = 10}
  21.     multipleChoice[4] = {question = "Which bot says, 'Kikoo pwet [username]!'?", answer1 = "Baffbot", answer2 = "Holzbot", answer3 = "Birdbot", correctAnswer = "Cfmbot", score = 10}
  22.     multipleChoice[5] = {question = "Who created this module?", answer1 = "Owertail", answer2 = "Pixlelight", answer3 = "Zaxavien", correctAnswer = "Mousetat", score = 10}
  23.     multipleChoice[6] = {question = "What color is water?", answer1 = "Blue", answer2 = "Green", answer3 = "White", correctAnswer = "Colourless", score = 10}
  24.     multipleChoice[7] = {question = "Who created Transformice?", answer1 = "Melibellule", answer2 = "Zou", answer3 = "Transformice", correctAnswer = "Tigrounette", score = 10}
  25.     multipleChoice[8] = {question = "Which of the following is NOT a Atelier 801 game?", answer1 = "Transformice", answer2 = "Bouboum", answer3 = "Fortoresse", correctAnswer = "Transforcats", score = 10}
  26.     multipleChoice[9] = {question = "What command do u type to wave a flag?", answer1 = "/c", answer2 = "/facebook", answer3 = "/tc", correctAnswer = "/f", score = 10}
  27.     multipleChoice[10] = {question = "Which of the following is an official module?", answer1 = "#PokeLua", answer2 = "#simonsays", answer3 = "#mousehunt", correctAnswer = "#dancedance", score = 10}
  28.     multipleChoice[11] = {question = "Which of the following is NOT an official module?", answer1 = "#labyrinth", answer2 = "#palette", answer3 = "#keyhunt", correctAnswer = "#maze", score = 10}
  29.     multipleChoice[12] = {question = "How many teasers are there in TransfromiceTV?", answer1 = "3", answer2 = "5", answer3 = "1", correctAnswer = "4", score = 10}
  30.     multipleChoice[13] = {question = "What is the default color of mice in Tfm?", answer1 = "White", answer2 = "Black", answer3 = "Pink", correctAnswer = "Brown", score = 10}
  31.     multipleChoice[14] = {question = "How do u do a moonwalk while facing the left?", answer1 = "up, dance, up", answer2 = "Up, down, right, cry, jump", answer3 = "Up, down, left, confetti, up", correctAnswer = "Up, down, right, kiss, jump", score = 10}
  32.     multipleChoice[15] = {question = "What do you call an elephant swimming?", answer1 = "Elephant swimming!", answer2 = "Diving animal!", answer3 = "Grey sink!", correctAnswer = "Swimming trunk!", score = 10}
  33.     multipleChoice[16] = {question = "Which object can you NOT transform into?", answer1 = "Large box", answer2 = "Large plank", answer3 = "Anvil", correctAnswer = "Ball", score = 10}
  34.     multipleChoice[17] = {question = "334 + 448 = ?", answer1 = "772", answer2 = "114", answer3 = "562", correctAnswer = "782", score = 10}
  35.     multipleChoice[18] = {question = "When was Fishing Event held in 2011?", answer1 = "May", answer2 = "July", answer3 = "September", correctAnswer = "April", score = 10}
  36.     multipleChoice[19] = {question = "What was map 666?", answer1 = "Fishing Map", answer2 = "Christmas Map", answer3 = "Carnival Map", correctAnswer = "Halloween Map", score = 10}
  37.     multipleChoice[20] = {question = "What was map 555?", answer1 = "Fishing Map", answer2 = "Christmas Map", answer3 = "Halloween Map", correctAnswer = "Carnival Map", score = 10}
  38.     multipleChoice[21] = {question = "What was map 777?", answer1 = "Carnival Map", answer2 = "Christmas Map", answer3 = "Halloween Map", correctAnswer = "Fishing", score = 10}
  39.     multipleChoice[22] = {question = "How do you teleport in module #utility WITH HOTKEY?", answer1 = "!tp [username] + click", answer2 = "Ctrl + w", answer3 = "T + click", correctAnswer = "Ctrl + click", score = 10}
  40.     multipleChoice[23] = {question = "Which perm category do mechanism maps belong to?", answer1 = "P3", answer2 = "P11", answer3 = "P8", correctAnswer = "P6", score = 10}
  41.     multipleChoice[24] = {question = "Which perm category do racing maps belong to?", answer1 = "P1", answer2 = "P42", answer3 = "P5", correctAnswer = "P7", score = 10}
  42.     multipleChoice[25] = {question = "Which perm category do art maps belong to?", answer1 = "P2", answer2 = "P41", answer3 = "P9", correctAnswer = "P5", score = 10}
  43.     multipleChoice[26] = {question = "How many continents are there in the world?", answer1 = "6", answer2 = "5", answer3 = "9", correctAnswer = "7", score = 10}
  44.     multipleChoice[27] = {question = "How many oceans are there in the world?", answer1 = "4", answer2 = "9", answer3 = "3", correctAnswer = "5", score = 10}
  45.     multipleChoice[28] = {question = "Which country is the capital of USA?", answer1 = "London", answer2 = "California", answer3 = "Boston", correctAnswer = "Washington DC", score = 10}
  46.     multipleChoice[29] = {question = "How many seeds does a mango have?", answer1 = "Too many to count", answer2 = "Two", answer3 = "More than two", correctAnswer = "One only", score = 10}
  47.     multipleChoice[30] = {question = "What sound do porcupines make when they kiss?", answer1 = "Muah!", answer2 = "Eww!", answer3 = "Hahaha!", correctAnswer = "Ouch!", score = 10}
  48.  
  49. ------List you trueAndFalse statements here.
  50.     trueAndFalse[1] = {statement = "Most of our tribe members are asians.", answer = "true 3", score = 10}
  51.     trueAndFalse[2] = {statement = "Cowmushroom is a girl.", answer = "false 4", score = 10}
  52.     trueAndFalse[3] = {statement = "Mvehpower is our first Map Creator.", answer = "false 4", score = 10}
  53.     trueAndFalse[4] = {statement = "Water is blue.", answer = "false 4", score = 10}
  54.     trueAndFalse[2] = {statement = "Zaxavien is a girl.", answer = "true 3", score = 10}
  55.    
  56. ---------------------------------
  57. --Script Init.
  58. ---------------------------------
  59.     --Player and Text
  60.     player = {}
  61.     textBox = {}
  62.     tpZONE = {}
  63.     pID = 1000
  64.     mode = 0 --Reference modeSet for values.
  65.    
  66.     --Game Loop
  67.     sec = 0 --Seconds
  68.     rnd = 0 --Round
  69.     rnm = "" --Round Name
  70.     gm = 1 --Game Number
  71.     ql = 0 --Last Question
  72.     tl = 0 --Last Statement
  73.     ca = 0 --Correct Answer
  74.     sc = 0 --
  75.    
  76.     --Reset Scores
  77.     for n,p in pairs(tfm.get.room.playerList) do
  78.         tfm.exec.setPlayerScore(n, 0, false)
  79.     end
  80.    
  81.     --Whenever a player enters the room || A new round starts
  82.     function eventNewPlayer(n)
  83.         player[n] =
  84.         {
  85.             id = pID,
  86.             chosen = true,
  87.             answer = 0
  88.         }
  89.         pID = pID + 100
  90.     end
  91.    
  92.     for p in pairs(tfm.get.room.playerList) do
  93.         eventNewPlayer(p)
  94.     end
  95.    
  96.     function setChosen(n,b)
  97.         player[n].chosen = b
  98.     end
  99.    
  100. ---------------------------------
  101. --Every New Round
  102. ---------------------------------
  103.     --Part 1
  104.     function reset(m)
  105.         mode = m
  106.         local map = "0"
  107.        
  108.         --Reset boxes
  109.         for i=1,#textBox,1 do ui.removeTextArea(i,nil)
  110.             table.remove(textBox,i)
  111.         end
  112.        
  113.         --Choosing a map.
  114.         if mode == 1 then
  115.             local maps = {"5826217"}
  116.             map = maps[math.random(#maps)]
  117.         elseif mode == 2 then
  118.             local maps = {"5838948"}
  119.             map = maps[math.random(#maps)]
  120.         end
  121.        
  122.         --Start game
  123.         tfm.exec.disableAutoShaman(true)
  124.         tfm.exec.newGame(map)
  125.         tfm.exec.setGameTime(0)
  126.     end
  127.    
  128.     --Part 2
  129.     function eventNewGame()
  130.         tfm.exec.disableAutoNewGame(true)
  131.         tfm.exec.disableAutoScore(true)
  132.         tfm.exec.disableAfkDeath(true)
  133.         tfm.exec.disableAutoTimeLeft(true)
  134.         for p in pairs(tfm.get.room.playerList) do
  135.             eventNewPlayer(p)
  136.         end
  137.          
  138.         --Finding the objects for textBoxes and teleport zones
  139.         local xml = tfm.get.room.xmlMapInfo.xml
  140.         local xmlGROUNDS = xml:match('<S>[^´]+</S>'):gsub("<S>","")
  141.         for p in xmlGROUNDS:gmatch('<S[^/]+/>') do
  142.             for i=0,15,1 do
  143.                 if p:match(string.format('lua="%s"',tostring(i))) then
  144.                     local l = p:match('L="[0-9]+"'):gsub('L="',''):gsub('"','')-2
  145.                     local h = p:match('H="[0-9]+"'):gsub('H="',''):gsub('"','')
  146.                     local x = p:match('X="[0-9]+"'):gsub('X="',''):gsub('"','')-(l/2)
  147.                     local y = p:match('Y="[0-9]+"'):gsub('Y="',''):gsub('"','')-(h/2)+1
  148.                     if mode == 1 then
  149.                         if i == 1 then textBox[1] = {x = x, y = y, w = l, h = h, event = "Q", txt = "Question will be Here\n<font color='#CB546B'>Click for Help</font>"} end
  150.                         if i == 2 then textBox[2] = {x = x, y = y, w = l, h = h, event = "T", txt = "Timer"} end
  151.                         if i == 3 then textBox[3] = {x = x, y = y, w = l, h = h, event = "RT", txt = "Answer Red"} end
  152.                         if i == 4 then textBox[4] = {x = x, y = y, w = l, h = h, event = "BF", txt = "Answer Blue"} end
  153.                         if i == 5 then textBox[5] = {x = x, y = y, w = l, h = h, event = "G", txt = "Answer Green"} end
  154.                         if i == 6 then textBox[6] = {x = x, y = y, w = l, h = h, event = "O", txt = "Answer Orange"} end
  155.                     elseif mode == 2 then
  156.                         if i == 1 then textBox[1] = {x = x, y = y, w = l, h = h, event = "Q", txt = "Question will be Here\n<font color='#CB546B'>Click for Help</font>"} end
  157.                         if i == 2 then textBox[2] = {x = x, y = y, w = l, h = h, event = "T", txt = "Timer"} end
  158.                         if i == 3 then textBox[3] = {x = x, y = y, w = l, h = h, event = "RT", txt = "True"} end
  159.                         if i == 4 then textBox[4] = {x = x, y = y, w = l, h = h, event = "BF", txt = "False"} end
  160.                     end              
  161.                     if i >= 10 then
  162.                         x = p:match('X="[0-9]+"'):gsub('X="',''):gsub('"','')
  163.                         y = p:match('Y="[0-9]+"'):gsub('Y="',''):gsub('"','')
  164.                         tpZONE[i] = {x1 = x-(l/2), x2 = x+(l/2), y1 = y-(h/2), y2 = y+(h/2)}
  165.                     end
  166.                 end
  167.             end
  168.         end
  169.  
  170.         local tbS = "<p align = 'center'><b>"
  171.         local tbE = "</b></p>"
  172.         for i = 1, #textBox, 1 do
  173.             local cc = 0x010101
  174.             if i == 2 then
  175.                 cc = 0x000A59
  176.             elseif i >= 3 then
  177.                 cc = 0x010101
  178.             end
  179.             ui.addTextArea(i,
  180.                 string.format("%s<a href='event:%s'>%s</a>%s",tbS,textBox[i].event,textBox[i].txt,tbE)
  181.             ,nil,textBox[i].x,textBox[i].y,textBox[i].w,textBox[i].h,cc,cc,1,false)
  182.         end
  183.     end
  184.  
  185. ---------------------------------
  186. --Buttons
  187. ---------------------------------
  188.     function eventTextAreaCallback(id , n, event)
  189.         if player[n].chosen == false then
  190.             --Set chosen
  191.             if id >= 3 and id <= 6 then
  192.                 player[n].answer = id
  193.                 setChosen(n,true)
  194.             end
  195.             --Move to a tp zone
  196.             if event == "RT" then tfm.exec.movePlayer(n,math.random(tpZONE[10].x1,tpZONE[10].x2),math.random(tpZONE[10].y1,tpZONE[10].y2),false) end
  197.             if event == "BF" then tfm.exec.movePlayer(n,math.random(tpZONE[11].x1,tpZONE[11].x2),math.random(tpZONE[11].y1,tpZONE[11].y2),false) end
  198.             if event == "G" then tfm.exec.movePlayer(n,math.random(tpZONE[12].x1,tpZONE[12].x2),math.random(tpZONE[12].y1,tpZONE[12].y2),false) end
  199.             if event == "O" then tfm.exec.movePlayer(n,math.random(tpZONE[13].x1,tpZONE[13].x2),math.random(tpZONE[13].y1,tpZONE[13].y2),false) end
  200.         end
  201.     end
  202.    
  203. ---------------------------------
  204. --Game Loop
  205. ---------------------------------
  206.     function eventLoop()
  207.         ui.updateTextArea(2,"<b><p align = 'center'>Time: "..math.ceil(sec).." "..rnm.."</p></b>")
  208.         if sec > 0 then
  209.             sec = sec-0.5
  210.         else
  211.             sec = 0
  212.         end
  213.  
  214.         --Round Start
  215.         if rnd == 0 and sec == 0 then
  216.             --Set map
  217.             if modeSet == 0 then
  218.                 if gm < 3 then
  219.                     reset(1)
  220.                 elseif gm == 3 then
  221.                     reset(2)
  222.                     gm = 0
  223.                 end
  224.             elseif modeSet == 1 then
  225.                 reset(1)
  226.             elseif modeSet == 2 then
  227.                 reset(2)
  228.             end
  229.            
  230.             --Set values, and no choosing
  231.             sec,rnd,rnm,gm,ca = 20,1,"Get Ready!",gm+1,0
  232.             if roundTime == false then sec = 10 end
  233.             for n,p in pairs(tfm.get.room.playerList) do
  234.                 setChosen(n,true)
  235.             end
  236.         end
  237.  
  238.         --Question
  239.         if rnd == 1 and sec == 0 then
  240.             sec,rnd,rnm = 30,2,"Choose..."
  241.             if roundTime == false then rnd = 3 sec = 15 end
  242.             local tbS,tbE = "<b><p align='center'>","</p></b>"
  243.  
  244.             if mode == 1 then
  245.                 local q = math.random(1,#multipleChoice)
  246.                 if q == ql then
  247.                     q = math.random(1,#multipleChoice)
  248.                  else
  249.                     ql = q
  250.                 end
  251.                 ui.updateTextArea(1,string.format("%s<a href='event:%s'>%s\nScore: %s</a>%s",tbS,textBox[1].event,multipleChoice[q].question,multipleChoice[q].score,tbE))
  252.                 sc = multipleChoice[q].score
  253.                 local df,at = 0,{}
  254.                 for i=3,6,1 do at[i] = {v=i} end
  255.                 while df == 0 do df = at[math.random(3,6)].v end if df ~= 0 then
  256.                     ui.updateTextArea(df,string.format("%s<a href='event:%s'>%s</a>%s",tbS,textBox[df].event,multipleChoice[q].answer1,tbE)) at[df].v = 0 df = 0 end
  257.                 while df == 0 do df = at[math.random(3,6)].v end if df ~= 0 then
  258.                     ui.updateTextArea(df,string.format("%s<a href='event:%s'>%s</a>%s",tbS,textBox[df].event,multipleChoice[q].answer2,tbE)) at[df].v = 0 df = 0 end
  259.                 while df == 0 do df = at[math.random(3,6)].v end if df ~= 0 then
  260.                     ui.updateTextArea(df,string.format("%s<a href='event:%s'>%s</a>%s",tbS,textBox[df].event,multipleChoice[q].answer3,tbE)) at[df].v = 0 df = 0 end
  261.                 while df == 0 do df = at[math.random(3,6)].v end if df ~= 0 then
  262.                     ui.updateTextArea(df,string.format("%s<a href='event:%s'>%s</a>%s",tbS,textBox[df].event,multipleChoice[q].correctAnswer,tbE)) ca = df at[df].v = 0 df = 0 end
  263.             elseif mode == 2 then
  264.                 local q = math.random(1,#trueAndFalse)
  265.                 if q == tl then
  266.                     q = math.random(1,#trueAndFalse)
  267.                 else
  268.                     tl = q
  269.                 end
  270.                 ui.updateTextArea(1,string.format("%s<a href='event:%s'>%s     Score: %s</a>%s",tbS,textBox[1].event,trueAndFalse[q].statement,trueAndFalse[q].score,tbE))
  271.                 ca,sc = trueAndFalse[q].correctAnswer,trueAndFalse[q].score
  272.             end
  273.             for n,p in pairs(tfm.get.room.playerList) do
  274.                 setChosen(n,false)
  275.             end
  276.         end
  277.        
  278.         if rnd == 2 and sec == 0  then --Final Answer
  279.             sec,rnd,rnm = 20,3,"Final Answer?"
  280.             for n,p in pairs(tfm.get.room.playerList) do
  281.                 setChosen(n,false)
  282.                 if player[n].answer == 0 then
  283.                     tfm.exec.killPlayer(n)
  284.                 end
  285.             end
  286.         end
  287.  
  288.         if rnd == 3 and sec == 0 then --Round End
  289.             sec,rnd,rnm = 10,0,"Winners!"
  290.             if roundTime == false then sec = 5 end
  291.             for n,p in pairs(tfm.get.room.playerList) do
  292.                 setChosen(n,true)
  293.                 if player[n].answer ~= ca  then
  294.                     tfm.exec.killPlayer(n)
  295.                 else
  296.                     tfm.exec.giveCheese(n)
  297.                     tfm.exec.setPlayerScore(n,sc,true)
  298.                 end
  299.             end
  300.         end
  301.     end
  302.    
  303. -------------------------------
  304. --The End...
  305. -------------------------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement