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
------------------- Configuração dos Itens -----------------------
local items = {1820, 1821, 2037, 2038, 2397, 2398, 2396, 2399, 2400, 11454} -- ID dos Itens
local nome = {'nome 1', 'nome Y', 'nome', 'nome', 'nome', 'nome', 'nome', 'nome', 'nome', 'nome'} -- Nome dos Itens
local valor = {2145, 25} -- id da moeda, quantidade
------------------- MESSAGES INICIAIS ----------------------------------------
if msgcontains(msg, nome[1]) then
selfSay('Deseja comprar um {'..getItemNameById(items[1])..'} Por X Storage', cid)
talkState[talkUser] = 1
elseif msgcontains(msg, nome[2]) then
selfSay('Deseja comprar um {'..getItemNameById(items[2])..'} Por X Storage', cid)
talkState[talkUser] = 2
elseif msgcontains(msg, nome[3]) then
selfSay('Deseja comprar um {'..getItemNameById(items[3])..'} Por X Storage', cid)
talkState[talkUser] = 3
elseif msgcontains(msg, nome[4]) then
selfSay('Deseja comprar um {'..getItemNameById(items[4])..'} Por X Storage', cid)
talkState[talkUser] = 4
elseif msgcontains(msg, nome[5]) then
selfSay('Deseja comprar um {'..getItemNameById(items[5])..'} Por X Storage', cid)
talkState[talkUser] = 5
elseif msgcontains(msg, nome[6]) then
selfSay('Deseja comprar um {'..getItemNameById(items[6])..'} Por X Storage', cid)
talkState[talkUser] = 6
elseif msgcontains(msg, nome[7]) then
selfSay('Deseja comprar um {'..getItemNameById(items[7])..'} Por X Storage', cid)
talkState[talkUser] = 7
elseif msgcontains(msg, nome[8]) then
selfSay('Deseja comprar um {'..getItemNameById(items[8])..'} Por X Storage', cid)
talkState[talkUser] = 8
elseif msgcontains(msg, nome[9]) then
selfSay('Deseja comprar um {'..getItemNameById(items[9])..'} Por X Storage', cid)
talkState[talkUser] = 9
elseif msgcontains(msg, nome[10]) then
selfSay('Deseja comprar um {'..getItemNameById(items[10])..'} Por X Storage', cid)
talkState[talkUser] = 10
elseif (msgcontains(msg, 'trade') or msgcontains(msg, 'hi')) then
selfSay(' Digite qual item deseja adquirir.', cid)
selfSay('Atualmente temos {'..getItemNameById(items[1])..'}, {'..getItemNameById(items[2])..'}, {'..getItemNameById(items[3])..'}, {'..getItemNameById(items[4])..'}, {'..getItemNameById(items[5])..'}, {'..getItemNameById(items[6])..'}, {'..getItemNameById(items[7])..'}, {'..getItemNameById(items[8])..'}, {'..getItemNameById(items[9])..'} e {'..getItemNameById(items[10])..'}.', cid)
talkState[talkUser] = 0
---------------------- NEGOCIAÇÃO -------------------------------
elseif talkState[talkUser] == 1 then
if (msgcontains(msg, 'sim') or msgcontains(msg, 'yes')) then
if getPlayerStorageValue(cid, 5984548) >= 10 then
setPlayerStorageValue(cid, 5984548, 0)
doPlayerAddItem(cid, items[1], 1)
selfSay('Parabens, voce acaba de adquirir um '..getItemNameById(items[1])..'.', cid)
else
selfSay('Voce nao tem Storage o suficiente.', cid)
talkState[talkUser] = 0
end
end
elseif talkState[talkUser] == 2 then
if (msgcontains(msg, 'sim') or msgcontains(msg, 'yes')) then
if getPlayerStorageValue(cid, 5984548) >= 10 then
setPlayerStorageValue(cid, 5984548, 0)
doPlayerAddItem(cid, items[2], 1)
selfSay('Parabens, voce acaba de adquirir um '..getItemNameById(items[2])..'.', cid)
else
selfSay('Voce nao tem Storage o suficiente.', cid)
talkState[talkUser] = 0
end
end
elseif talkState[talkUser] == 3 then
if (msgcontains(msg, 'sim') or msgcontains(msg, 'yes')) then
if getPlayerStorageValue(cid, 5984548) >= 10 then
setPlayerStorageValue(cid, 5984548, 0)
doPlayerAddItem(cid, items[3], 1)
selfSay('Parabens, voce acaba de adquirir um '..getItemNameById(items[3])..'.', cid)
else
selfSay('Voce nao tem Storage o suficiente.', cid)
talkState[talkUser] = 0
end
end
elseif talkState[talkUser] == 4 then
if (msgcontains(msg, 'sim') or msgcontains(msg, 'yes')) then
if getPlayerStorageValue(cid, 5984548) >= 10 then
setPlayerStorageValue(cid, 5984548, 0)
doPlayerAddItem(cid, items[4], 1)
selfSay('Parabens, voce acaba de adquirir um '..getItemNameById(items[4])..'.', cid)
else
selfSay('Voce nao tem Storage o suficiente.', cid)
talkState[talkUser] = 0
end
end
elseif talkState[talkUser] == 5 then
if (msgcontains(msg, 'sim') or msgcontains(msg, 'yes')) then
if getPlayerStorageValue(cid, 5984548) >= 10 then
setPlayerStorageValue(cid, 5984548, 0)
doPlayerAddItem(cid, items[5], 1)
selfSay('Parabens, voce acaba de adquirir um '..getItemNameById(items[5])..'.', cid)
else
selfSay('Voce nao tem Storage o suficiente.', cid)
talkState[talkUser] = 0
end
end
elseif talkState[talkUser] == 6 then
if (msgcontains(msg, 'sim') or msgcontains(msg, 'yes')) then
if getPlayerStorageValue(cid, 5984548) >= 10 then
setPlayerStorageValue(cid, 5984548, 0)
doPlayerAddItem(cid, items[6], 1)
selfSay('Parabens, voce acaba de adquirir um '..getItemNameById(items[6])..'.', cid)
else
selfSay('Voce nao tem Storage o suficiente.', cid)
talkState[talkUser] = 0
end
end
elseif talkState[talkUser] == 7 then
if (msgcontains(msg, 'sim') or msgcontains(msg, 'yes')) then
if getPlayerStorageValue(cid, 5984548) >= 10 then
setPlayerStorageValue(cid, 5984548, 0)
doPlayerAddItem(cid, items[7], 1)
selfSay('Parabens, voce acaba de adquirir um '..getItemNameById(items[7])..'.', cid)
else
selfSay('Voce nao tem Storage o suficiente.', cid)
talkState[talkUser] = 0
end
end
elseif talkState[talkUser] == 8 then
if (msgcontains(msg, 'sim') or msgcontains(msg, 'yes')) then
if getPlayerStorageValue(cid, 5984548) >= 10 then
setPlayerStorageValue(cid, 5984548, 0)
doPlayerAddItem(cid, items[8], 1)
selfSay('Parabens, voce acaba de adquirir um '..getItemNameById(items[8])..'.', cid)
else
selfSay('Voce nao tem Storage o suficiente.', cid)
talkState[talkUser] = 0
end
end
elseif talkState[talkUser] == 9 then
if (msgcontains(msg, 'sim') or msgcontains(msg, 'yes')) then
if getPlayerItemCount(cid, valor[1]) >= valor[2] then
doPlayerRemoveItem(cid, valor[1], valor[2])
doPlayerAddItem(cid, items[9], 1)
selfSay('Parabens, voce acaba de adquirir um '..getItemNameById(items[9])..'.', cid)
else
selfSay('Voce nao tem Storage o suficiente.', cid)
talkState[talkUser] = 0
end
end
elseif talkState[talkUser] == 10 then
if (msgcontains(msg, 'sim') or msgcontains(msg, 'yes')) then
if getPlayerStorageValue(cid, 5984548) >= 10 then
setPlayerStorageValue(cid, 5984548, 0)
doPlayerAddItem(cid, items[10], 1)
selfSay('Parabens, voce acaba de adquirir um '..getItemNameById(items[10])..'.', cid)
else
selfSay('Voce nao tem Storage o suficiente.', cid)
talkState[talkUser] = 0
end
end
end
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())