Tente assim:
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
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)
local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
if (msgcontains(msg, "hello") or msgcontains(msg, "hi")) and not npcHandler:isFocused(cid) then
if getCreatureHealth(cid) < 85 then
npcHandler:say("Olá, "..getCreatureName(cid).."! Voce parece precisar de ajuda, deixe-me ajuda-lo. A Westwall Village precisa de guerreiros para proteger as ameaças por aqui, voce gostaria de se {alistar}?", cid)
doCreatureAddHealth(cid, 500 - getCreatureHealth(cid))
doSendMagicEffect(getCreaturePosition(cid), 12)
talkState[talkUser] = 1
else
selfSay("Olá, "..getCreatureName(cid).."! Eu irei lhe {curar} caso você esteja machucado ou envenenado. Você também pode se {alistar} para as tarefas que a Westwall Village precisa.")
npcHandler:addFocus(cid)
talkState[talkUser] = 1
end
return true
end
if(not npcHandler:isFocused(cid)) then
return false
elseif msgcontains(msg, "bye") or msgcontains(msg, "farewell") then
selfSay("Que Deus lhe abençoe, " .. getCreatureName(cid) .. "!", cid, TRUE)
npcHandler:releaseFocus(cid)
elseif msgcontains(msg, "alistar") then
if (getPlayerStorageValue(cid, 101) > 0) and talkState[talkUser] == 1 then
selfSay('A Westwall Village tem enfrentado ameaças constantes e nós precisamos de jovens guerreiros dispostos à desafios. Você gostaria de ser recrutado?', cid)
talkState[talkUser] = 2
else
selfsay('Você já foi recrutado', cid)
talkState[talkUser] = 0
end
elseif msgcontains(msg, "yes") or msgcontains(msg, "sim") and talkState[talkUser] == 2 then
setPlayerStorageValue(cid,101,1)
doPlayerAddItem(cid,7491,1)
selfSay('Leve esta Carta de Recrutamento para o Ferreiro Belben, ele irá prepará-lo para a batalha.', cid)
elseif msgcontains(msg, "curar") then
if getCreatureCondition(cid, CONDITION_FIRE) == TRUE then
npcHandler:say("Você está queimando, deixe-me ajudá-lo.", cid)
doRemoveCondition(cid, CONDITION_FIRE)
doSendMagicEffect(getCreaturePosition(cid), 14)
elseif getCreatureCondition(cid, CONDITION_POISON) == TRUE then
npcHandler:say("Você está envenenado, deixe-me ajudá-lo.", cid)
doRemoveCondition(cid, CONDITION_POISON)
doSendMagicEffect(getCreaturePosition(cid), 13)
elseif getCreatureHealth(cid) < 85 then
npcHandler:say("Você parece estar machucado, deixe-me curá-lo.", cid)
doCreatureAddHealth(cid, 65 - getCreatureHealth(cid))
doSendMagicEffect(getCreaturePosition(cid), 12)
else
npcHandler:say("Você não parece estar machucado, " .. getCreatureName(cid) .. ". Eu só ajudo em casos de verdadeiras emergencias, aumente sua vida comendo comida.", cid)
end
end
return TRUE
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:setMessage(MESSAGE_WALKAWAY, "Que Deus lhe abençoe.")