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
function doPlayerCountItems(cid, items) -- by Vodka
local items = type(items) == "table" and items or {items}
for i = 1, table.maxn(items) do
if getPlayerItemCount(cid, items[i]) <= 0 then
return false
end
end
return true
end
function doPlayerRemoveAllItems(cid, items, count) -- by Vodka
local items = type(items) == "table" and items or {items}
for i = 1, table.maxn(items) do
doPlayerRemoveItem(cid,items[i], count or 1)
end
return nil
end
items_list = {5468,2600,6103,2194,10165,7632}
-- Conversa Jogador/NPC
if(msgcontains(msg, 'negociar')) then
selfSay('Eu posso lhe oferecer a passagem para a proxima fase dessa quest, mais para isto eu quero os 5 itens que esses monstros guardam, caso tenha coletado os itens diga, {expecto patrono}.', cid)
elseif(msgcontains(msg, 'expecto patrono')) then
selfSay('Você coletou os 5 itens necessarios para a proxima fase?', cid)
talkState[talkUser] = 13
-- Confirmação da Compra
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 13) then
if doPlayerCountItems(cid, items_list) then
doPlayerRemoveAllItems(cid, items_list, 1)
doPlayerAddItem(cid, 7632,1)
setPlayerStorageValue(cid,5644, 1)
doSendMagicEffect(getCreaturePosition(cid), 29)
selfSay('Obrigado, foi um prazer barganhar com você.', cid)
talkState[talkUser] = 0
else
selfSay('Você está tentando me enganar? Isso pode lhe custar caro!', cid)
talkState[talkUser] = 0
end
end
return TRUE
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())