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
local msg = string.lower(msg)
local itemid, count = 9020, 300 -- Edite o id e a quantidade do item aqui
if isInArray({"recover", "recuperar", "exp", "experience"}, msg) then
npcHandler:say("Você deseja recuperar a experiência perdida após a sua morte por " .. count .. " " .. getItemNameById(itemid) .. "? {yes}", cid)
talkState[talkUser] = 1
elseif (msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
if getPlayerStorageValue(cid, death_table.before_exp) ~= -1 and getPlayerExperience(cid) < getPlayerStorageValue(cid, death_table.before_exp) then
if doPlayerRemoveItem(cid, itemid, count) == TRUE then
local count = (getPlayerStorageValue(cid, death_table.before_exp) - getPlayerStorageValue(cid, death_table.after_exp))
doPlayerAddExp(cid, count)
npcHandler:say("Obrigado! Aqui está sua experiência.", cid)
else
npcHandler:say("Desculpe, você não tem " .. getItemNameById(itemid) .. " suficientes!", cid)
end
else
npcHandler:say("Desculpe, você não morreu ou já recuperou sua exp perdida!", cid)
end
talkState[talkUser] = 0
elseif msg == "no" then
npcHandler:say("Then not", cid)
talkState[talkUser] = 0
end
return TRUE
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())