Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --Creator: Bolodefchoco
- --Made in: 28/02/2016
- --Last update: 26/05/2016
- --[[ Notes:
- Does:
- Cria um quiz que calcula as respostas certas e erradas do jogador.
- Commands:
- !
- start --> Iniciar um quiz
- Player --> Jogador que fará o quiz
- results --> Apenas possível para aqueles que já terminaram o quiz (Aparece uma mensagem avisando)
- Player --> Ver os resultados deste Jogador
- Adding new questions:
- Para adicionar uma nova pergunta você precisará ir na tabela T
- Tipos de perguntas:
- [Id Numérico] = {"Pergunta",tipo de pergunta,resposta(s)}
- Id Numérico --> Serve para auxiliar você. Exemplo: [1]; [2]; [3]
- Pergunta --> Aqui vai a pergunta, deve ser string
- Tipos de pergunta:
- 1 --> Pergunta de Sim/Não (Yes/No)
- 2 --> Pergunta para digitar
- Respostas:
- Caso o tipo seja 1
- 0 --> Simboliza que a resposta é Yes
- 1 --> Simboliza que a resposta é No
- 2 --> Simboliza que Yes e No são corretas (Ou seja, sempre valerá como um acerto)
- Caso o tipo seja 2
- A(s) resposta(s) deverá(ão) estar dentro de uma tabela.
- {"1","2","3" ...}
- Respostas não verificam acentos ou letras maiúsculas/minúsculas.
- ]]--
- adm = "Bolodefchoco" --< Coloque seu nome para ser admin
- T = {
- [1] = {"O sol é uma estrela?",1,0},
- [2] = {"Qual o maior planeta?",2,{"Júpiter"}},
- [3] = {"Qual a cor do cosmos?",2,{"Bege","Café com leite"}},
- [4] = {"Asteróide é maior que um cometa",1,0},
- [5] = {"Mercúrio é o planeta mais quente, visto que é o primeiro a contar do Sol",1,1},
- [6] = {"Netuno é o planeta mais frio, visto que é o último a contar do Sol",1,1},
- [7] = {"Há vida em outros lugares do universo",1,2},
- }
- string.nick=function(player)
- return player:lower():gsub('%a',string.upper,1)
- end
- nm=function(s)
- local letters = {a = {"á","à","ä","â","ã"},e = {"é","è","ë","ê"},i = {"í","ì","î","ï"},o = {"ó","ò","ö","ô","õ"},u = {"ú","ù","ü","û"}}
- for k,v in next,letters do
- for i = 1,#v do
- s = s:gsub(v[i],tostring(k))
- end
- end
- return s
- end
- mice={}
- eventChatCommand=function(n,c)
- if c:sub(1,5):lower()=="start" and adm==n then
- c = string.nick(c:sub(7))
- mice[c]={
- points = 0,
- errors = 0,
- score = "<p align='center'>"
- }
- ui.addPopup(1,T[1][2],T[1][1],c,5,25,250)
- end
- if c:sub(1,7):lower() == "results" and adm==n then
- c = string.nick(c:sub(9))
- if mice[c] then
- ui.addTextArea(0,"<p align='center'><J>"..c.."\n\n<PT>Acertos : "..mice[c].points.."\n<R>Erros : "..mice[c].errors.."\n\n<p align='left'>"..mice[c].score,nil)
- end
- end
- end
- eventPopupAnswer=function(i,n,a)
- local _X = "<PT><font size='16'>✓</font>"
- if a == "yes" or a == "no" then
- a=a:sub(1,1)
- if T[i][3] == (a=='y' and 0 or a=='n' and 1) or T[i][3] == 2 then
- mice[n].points = mice[n].points + 1
- else
- mice[n].errors = mice[n].errors + 1
- _X = "<R><font size='16'>✖</font> <S>("..tostring(a)..")"
- end
- else
- local k = 0
- for i,v in next,T[i][3] do
- if nm(v) == nm(a) then
- k = 1
- break
- end
- end
- if k == 0 then
- mice[n].errors = mice[n].errors + 1
- _X = "<R><font size='16'>✖</font> <S>("..tostring(a)..")"
- else
- mice[n].points = mice[n].points + 1
- end
- end
- if i==#T then
- ui.addTextArea(0,"Digite !results "..n.." para ver os resultados.",adm)
- else
- ui.addPopup(i+1,T[i+1][2],T[i+1][1],n,5,25,250)
- end
- mice[n].score = mice[n].score .. "<J>" .. T[i][1]:sub(1,50) .. (#T[i][1]>50 and "..." or "") .. " <BL>- " .. _X .. "\n"
- end
Advertisement
Add Comment
Please, Sign In to add comment