SA
talkaction

[Talkaction] Quiz System 4Fun

Por Saymon14, 18 de dez. de 2010 em Actions e Talkactions

script
9
1.8k
Saymon14S
18 de dezembro de 2010 às 19:37

Nome: Quiz System



Autor: Medargo

Versão Testada: The Easy Server, protocolo 8.6

 

Informações Adicionais

Quiz system feito a base de talkactions

 

 

Explicando as talkactions.

 

!question:



Caso o player não possua uma pergunta em mãos, ele ira receber uma pergunta à ser respondida, por exemplo:

16:47 A Africa é um pais? Responda da seguinte maneira: '!question sim/não' apenas com 'sim' ou 'não'

 

Mas caso o player ja tenha uma pergunta em mãos, sera enviada a seguinte mensagem:

17:00 Você ja possui uma pergunta em mãos, use '!question reset' para resetar o sistema

 

---

!question sim/não:

Usado para responder a pergunta em mãos, caso a resposta esteja certa, aparecera a seguinte mensagem:

16:47 CORRETO, Sistema resetado!

 

Caso esteja errado:

16:47 ERRADO, Sistema resetado!

 

---

!question reset

Usado para resetar o sistema de perguntas, possibilitando o player pegar outra pergunta, em uso, ira aparecer a seguinte mensagem:

17:04 Sistema resetado, pode pegar outra questão.

 

Script:

 

--[[
Script feito por Medargo
Storage value utilizado: 9845
]]--
function onSay(cid, words, param, channel)
local perg = {
"2+2=4, isso é verdade? Responda da seguinte maneira: '!question sim/não' apenas com 'sim' ou 'não'",
"A Africa é um pais? Responda da seguinte maneira: '!question sim/não' apenas com 'sim' ou 'não'",
"Michael Jackson esta prestes a fazer uma turnê? Responda da seguinte maneira: '!question sim/não' apenas com 'sim' ou 'não'",
"Newton descobriu a gravidade com uma maça? Responda da seguinte maneira: '!question sim/não' apenas com 'sim' ou 'não'"
} 

local resp = {"sim", "não", "não", "sim"}

if param == '' then
  if getPlayerStorageValue(cid, 9845) == -1 then
     questionid = math.random(1,#perg)
     question = perg[questionid]
     doPlayerSendTextMessage(cid, 19, question)
     setPlayerStorageValue(cid, 9845, 1)
  else
     doPlayerSendTextMessage(cid, 18, "Você ja possui uma pergunta em mãos, use '!question reset' para resetar o sistema")
  end


elseif param ~= '' then
if getPlayerStorageValue(cid, 9845) == 1 then
   if param ~= 'reset' then 
      if param == 'sim' or param == 'não' then
               if param == resp[questionid] then
                doPlayerSendTextMessage(cid, 27, "CORRETO, Sistema resetado!")
                setPlayerStorageValue(cid, 9845, -1)
                questionid = nil
                question = nil
               else
                doPlayerSendTextMessage(cid, 18, "ERRADO, Sistema resetado!")
                setPlayerStorageValue(cid, 9845, -1)
                questionid = nil
                question = nil
               end
      else
          doPlayerSendTextMessage(cid, 18, "Use 'sim' ou 'não' para responder!")
      end
  else
    doPlayerSendTextMessage(cid, 19, "Sistema resetado, pode pegar outra questão.")
    setPlayerStorageValue(cid, 9845, -1)
    questionid = nil
    question = nil
  end 
else
doPlayerSendTextMessage(cid, 18, "Você não possui pergunta em mãos, para conseguir uma, use '!question''")
end
end

return true
end

 

TAG:

<talkaction words="!question" script="nomedoscript.lua"/> 

 

 

Como adicionar perguntas:

 

Simplismente adicione mais strings na tabela perg, lembrando que após ter adicionado a pergunta, deve-se adicionar a respectiva resposta na tabela resp, os idexes da pergunta e da respectiva resposta devem ser iguais.

 

 

Funcionamento:

 

questionsi.png

 

 

Considerações finais:

 

Só podem ser usadas perguntas com respostas de sim ou não, nas respostas só podem conter strings: sim ou não

 

Editado Dezembro 18 por Saymon14

bonazza20B
18 de dezembro de 2010 às 19:42

mto bacana esse sistema,só que de vez de perguntas sobre conhecimento gerais eu colocaria com base nisso perguntas sobre quest dos servidores,monstros etc...

Mto bom cara abraços

 

REP++

Saymon14S
18 de dezembro de 2010 às 19:44

Nossa Gebonazza otima sugestao, no topico tem ensinando como editar o script para fazer seu propio Quiz.

bonazza20B
18 de dezembro de 2010 às 19:49

sim,o tópico ta bem organizado e explicado também,já tenho a base de alguma coisa sobre scripting e de fato me ajuda bastante...

coloquei no meu servidor já,agora vou elaborar as perguntas rs

abraços

megachockM
19 de dezembro de 2010 às 12:48

Eu acho añadir com premios:

´                 doPlayerSendTextMessage(cid, 27, "CORRETO, Sistema resetado!")

                setPlayerStorageValue(cid, 9845, -1)
doPlayerAddItem(cid, 2160,1)
                questionid = nil
                question = nil

bonazza20B
19 de dezembro de 2010 às 12:56

é com premios ficaria legal também,mais teria que ser premio de acordo com a pergunta,não somente um premio para todas as pergunta

3 meses depois...
refiR
08 de março de 2011 às 19:47

Sei que o tópido é de meses atrás, mais fico na esperança deq alguem possa me responder!

Gostaria de saber se não tem como o GeBonazza falou, um prêmio para kda pergunta!

Esse tipo de script que deixa o ot Inovador! Um teste de perguntas sobre o próprio tibia é mt bom. :thumbsupsmiley:

luizribeiroL
08 de março de 2011 às 21:20

esse script ficaria bom para test de tutor

 

já vou colocar no meu serv

Editado Março 8 por LOuiiss

1 mês depois...
tinfer3T
12 de abril de 2011 às 22:07

com certeza irei colocar no meu servidor e com a sugestão do bonazza colocarei perguntas sobre as quest,monstros e tal