Ir para conteúdo
  • 0

ricardoheli

Pergunta

Gostaria de fazer um pequeno pedido rs... Sou novo no XTibia e gostaria de uma ajudinha então vamos lá, o script funcionária da seguinte forma, o player tem um horário para conseguir uma magia desse Npc.

 

Exemplo: O horário da primeira magia é 22:00hs, se o player atrasar 10 minutos e chegar as (22:11hs) ele não consegue pegar a primeira magia. E só vai conseguir se tentar falar com o npc no proximo dia do mesmo horário.

 

A função desse Npc seria ajudar o player a conseguir magias, o npc seria um tipo de professor.. Ele só daria a magia pro player se o player respondesse corretamente a pergunta dele (uma magia por dia e do horario 22:00 as 22:11).

 

Exemplo: A magia Exori Vis, dai o Npc fazia uma pergunta Npc diz: Essa magia é RespostaNumero1,RespostaNumero2 ou RespostaNumero3. O player teria que acertar a a resposta certa para conseguir a magia, se não ele volta outro dia as 22:00hs, e é claro o Npc cobrando um tanto de dinheiro.

 

Bom a versão é 8.54 mdr.gif

 

REP+

Editado por ricardoheli
Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

missão do que criatura?

 

vou te falar oque vc faz então

 

local data = tostring(os.date("%X")):sub(1, 5)
if data >= "22:00" and data <= "22:10" then
-- pegar missão
else
msg('vc soh podera fazer a missao no outro dia')
end

Editado por Vodkart
Link para o comentário
Compartilhar em outros sites

  • 0

Opa muito obrigado, vou colocar mais detalhes

 

 

Desculpe perguntar mais será que eu poderia editar meu tópico pra colocar mais algumas coisas?

Editado por ricardoheli
Link para o comentário
Compartilhar em outros sites

  • 0

entendi, mas não tem requisitos para ganhar a magia? por exemplo a magia:

 

"Andidote"

 

vocs = {1,2,3,4,5,6,7,8}

 

price = 100

 

level = 10

 

premium = false

 

 

esses requisitos aí, ou só acertar e ganhar a magia?

Link para o comentário
Compartilhar em outros sites

  • 0
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}
function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end
function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end
function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end
function onThink() npcHandler:onThink() end
function creatureSayCallback(cid, type, msg)
if(not npcHandler:isFocused(cid)) then
return false
end
local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid
local msg,data = string.lower(msg),tostring(os.date("%X")):sub(1, 5)
local hora = {"22:00","22:10"}
local tabble = {
["andidote"] = {vocs = {1,2,3,4,5,6,7,8}, pergunta = {{"quanto de mana gasta essa magia?","18"},{"qualquer vocação pode usar essa magia? {yes} or {no}","yes"}}},
["berseker"] = {vocs = {4,8}, pergunta = {{"quantos sqm essa magia atinge?","9"},{"quanto segundos é o Cooldown dessa magia?","4"}}}
}
if isInArray({"spells","responder","pergunta","aprender","spell","magia"}, msg) then
if data >= hora[1] and data <= hora[2] then
npcHandler:say("Qual magia você quer aprender meu amigo viajante?", cid)
talkState[talkUser] = 1
else
npcHandler:say("volte entre "..hora[1].." e "..hora[2], cid)
end
elseif talkState[talkUser] == 1 then
if not tabble[msg] then
npcHandler:say("você já aprendeu essa magia.", cid) return true
elseif getPlayerLearnedInstantSpell(cid, msg) then
talkState[talkUser] = 0
npcHandler:say("você já aprendeu essa magia.", cid) return true
elseif not isInArray(tabble[msg].vocs, getPlayerVocation(cid)) then
talkState[talkUser] = 0
npcHandler:say("você não tem vocação para aprender essa magia.", cid) return true
end
r,spell = tabble[msg].pergunta[math.random(#tabble[msg].pergunta)],msg
npcHandler:say(r[1], cid)
talkState[talkUser] = 2
elseif talkState[talkUser] == 2 then
if msg == r[2] then   
doPlayerLearnInstantSpell(cid, spell)
end
npcHandler:say(msg == r[2] and "Resposta correta! você aprendeu uma nova magia chamada "..spell or "reposta errada!", cid)
talkState[talkUser] = 0
elseif msg == "no" then  
selfSay("Tudo bem então", cid)  
talkState[talkUser] = 0  
npcHandler:releaseFocus(cid)  
end
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...