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, '25 meat') or msgcontains(msg, '25 ham')) then
selfSay('Do you want to change your 25 piece of food with ITEM XXXX', cid) --- edit the item name
talkState[talkUser] = 1
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
if(getPlayerItemCount(cid, 2666) >= 25 or getPlayerItemCount(cid, 2671 >= 25) then
if(doPlayerRemoveItem(cid, 2666, 25) or doPlayerRemoveItem(cid, 2671, 50)) then
doPlayerAddItem(cid, XXXX, Z) ---- XXXX= item id / Z= Amount
selfSay('Here you are.', cid)
else
selfSay('Sorry, you don\'t have 25 piece of food!', cid)
end
end
if(msgcontains(msg, '50 meat') or msgcontains(msg, '50 ham')) then
selfSay('Do you want to change your 50 piece of food with ITEM XXXX', cid) --- edit the item name
talkState[talkUser] = 1
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
if(getPlayerItemCount(cid, 2666) >= 50 or getPlayerItemCount(cid, 2671 >= 50) then
if(doPlayerRemoveItem(cid, 2666, 50) or doPlayerRemoveItem(cid, 2671, 50)) then
doPlayerAddItem(cid, XXXX, Z) ---- XXXX= item id / Z= Amount
selfSay('Here you are.', cid)
else
selfSay('Sorry, you don\'t have 50 piece of food!', cid)
end
end
talkState[talkUser] = 0
elseif(msgcontains(msg, 'no') and isInArray({1}, talkState[talkUser])) then
talkState[talkUser] = 0
selfSay('Ok then.', cid)
end
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())