local tab = {
pos = {x = 1361, y = 1276, z = 8}, -- posição x, y, z do local a teleportar o player
items = { -- lista de itens necessários
{10313, 1}, -- {itemID, count}
{10314, 1} -- {itemID, count}
-- Adicione um novo item abaixo, seguindo o formato {itemID, count}
-- {novoItemID, quantidade}
},
price = 0 -- quantidade em crystal coins
}
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
if (msgcontains(msg, 'demon')) then
talkState[talkUser] = 1
npcHandler:say('Are you sure?', cid)
for _, item in ipairs(tab.items) do
npcHandler:say('Lembre-se, você precisa de '..item[2]..' '..getItemNameById(item[1])..' para entrar na quest.', cid)
end
npcHandler:say('Digite "yes" se quiser entrar.', cid)
elseif (msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
local hasAllItems = true
for _, item in ipairs(tab.items) do
if getPlayerItemCount(cid, item[1]) < item[2] then
hasAllItems = false
break
end
end
if hasAllItems and doPlayerRemoveMoney(cid, tab.price * 10000) then
for _, item in ipairs(tab.items) do
doPlayerRemoveItem(cid, item[1], item[2])
end
doTeleportThing(cid, tab.pos)
doSendMagicEffect(getThingPos(cid), CONST_ME_TELEPORT)
npcHandler:say('Boa quest.', cid)
else
talkState[talkUser] = 0
npcHandler:say('Não vai não safado, cadê os itens?', cid)
end
elseif (msgcontains(msg, 'no') and talkState[talkUser] == 1) then
talkState[talkUser] = 0
npcHandler:say('Okay, maybe another time.', cid)
end
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())