Ola sou novo por aqui se tiver algum erro na postagem me descupe.
Entao eu tenho um npc que faz a funçao tipo o do Grizzly Adams ,mas ao inves de receber so um item normal querro tambem adicionar um action em uma key que o npc dara ao terminar a quest.
o script do npc é este:
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
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
npcHandler:addModule(FocusModule:new())
local talkState = {}
local storageQuest = 1000000000
local storageDemons = 10000000001
local premio = 1987 -- id do premio
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, 'apocalipse') then
if getPlayerStorageValue(cid, storageQuest) <= 0 then
selfSay('Os demonios estão dominando o nosso mundo. Você precisa matar 66 Demons. Aceita?', cid)
talkState[talkUser] = 1
elseif getPlayerStorageValue(cid, storageQuest) == 1 then
if getPlayerStorageValue(cid, storageDemons) < 66 then
selfSay('Volte quando matar 66 Demons.', cid)
else
selfSay('Você ja matou 66 Demons. Gostaria de receber seu prêmio?', cid)
talkState[talkUser] = 2
end
else
selfSay('Você ja recebeu seu prêmio.', cid)
end
elseif msgcontains(msg, 'yes') then
if talkState[talkUser] == 1 then
selfSay('Depois de matar 66 Demons volte para receber seu prêmio.', cid)
doPlayerSetStorageValue(cid, storageQuest, 1)
doPlayerSetStorageValue(cid, storageDemons, 0)
elseif talkState[talkUser] == 2 then
selfSay('Toma seu prêmio e a chave do inferno!.', cid)
container = doPlayerAddItem(cid,premio )
doAddContainerItem(container, 2160, 10)
doAddContainerItem(container, 2087, 1)
doPlayerSetStorageValue(cid, storageQuest, 2)
end
talkState[talkUser] = 0
elseif msgcontains(msg, 'no') then
if talkState[talkUser] == 1 or talkState[talkUser] == 2 then
selfSay('Ok.', cid)
end
talkState[talkUser] = 0
end
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
quero adicionar um action no item 2087 para que a key possa abrir uma porta.
Obrigado espero respostas.