Ir para conteúdo

[Talkaction] Quiz System 4Fun


Saymon14

Posts Recomendados

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 por Saymon14
Link para o comentário
Compartilhar em outros sites

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

Link para o comentário
Compartilhar em outros sites

  • 2 months later...

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:

Link para o comentário
Compartilhar em outros sites

  • 1 month later...
×
×
  • Criar Novo...