Cara não entendi muito bem o que você falou, porém eu fiz o que entendi... Quando a pessoa fala "Yes" ele irá verificar se a pessoa tem o storage que você definir, caso a pessoa não tenha, o npc irá reclamar, e caso o player tenha a storage e tenha os itens, o npc seta outro storage no player...
local t = {
needItems = {1441, 1440},
reward = 1450
}
local TarefaNPC =
{
StorageNecessario = 1992913781, -- Storage necessário para passar
Storage = 1992913780, -- Storage que irá receber caso passe
MsgErro = "Você precisa do storage 1992913781", -- Mensagem caso o player não tenha o storage deixei uma de exemplo rsrs
}
local id_item_recebido1 = 1450
local id_item_recebido2 = 2148
local id_item_recebido3 = 1443
local quantidade_item_recebido1 = 4 ----------------------------------- [[ BOX]] ---------------------------------
local quantidade_item_recebido2 = 100 ----------------------------------- [[ BOX]] ---------------------------------
local quantidade_item_recebido3 = 1 ----------------------------------- [[ BOX]] ---------------------------------
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
msg = msg:lower();
local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
local iN = t.needItems
local n = getItemNameById
if msgcontains(msg, 'crystal key') then
selfSay('Posso lhe entregar uma crystal key em troca de alguns items: um {'.. n(iN[1]) ..'}, um {'.. n(iN[2]) ..'}, deseja trocar?', cid)
talkState[talkUser] = 1
elseif msgcontains(msg, 'yes') then
if talkState[talkUser] == 1 then
local d = getPlayerItemCount
local dP = doPlayerRemoveItem
if getPlayerStorageValue(cid, TarefaNPC.StorageNecessario) == -1 then
selfSay(TarefaNPC.MsgErro, cid)
talkState[talkUser] = 1
else
if d(cid, iN[1]) >= 1 and d(cid, iN[2]) >= 1 then
selfSay('Aqui está sua crystal key.', cid)
doPlayerAddItem(cid, id_item_recebido1, quantidade_item_recebido1)
doPlayerAddItem(cid, id_item_recebido2, quantidade_item_recebido2)
doPlayerAddItem(cid, id_item_recebido3, quantidade_item_recebido3)
setPlayerStorageValue(cid, 9991, 1)
setPlayerStorageValue(cid, TarefaNPC.Storage, 1)
dP(cid, iN[1], 3)
dP(cid, iN[2], 1)
doPlayerAddItem(cid, t.reward, 1)
talkState[talkUser] = 0
else
selfSay('Você não tem os items necessários.', cid)
talkState[talkUser] = 0
end
end
end
end
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
os itens que você deve mudar estão em "local TarefaNPC"