@Kyllini segue o script do npc. Espero que esteja funcional! Abraços!
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 config = {
destino = {x=1553, y=1825, z=4}, -- para onde o player vai ser teleportado
storage = 1111, -- storage da quest. lembre-se de por o mesmo storage da quest que voce fez
permitir = {1,2,3,4}, --id das vocações que podem ir
money = 100000000 -- dinheiro (aqui está custando 100kk)
}
playerVocInfo = getVocationInfo(getPlayerVocation(cid))
if msgcontains(msg, 'quest') or msgcontains(msg, 'promotion') then
if(getPlayerStorageValue(cid, config.storage) ~= 1) and (isInArray(config.permitir, playerVocInfo.id)) then
npcHandler:say("Eu posso te levar para a Quest Promotion. Eu cobrarei 100kk para a sua morte chegar! Diga {sim} caso queira desafiar seu destino, ou {nao}, se voce for um covarde!", cid)
talkState[talkUser] = 1
elseif getPlayerStorageValue(cid, config.storage) >= 1 then -- caso ja tenha a quest feita
npcHandler:say("Desculpe voce ja fez a Quest Promotion. Nao posso permitir que voce pise naquelas terras novamente.", cid)
return true
elseif not isInArray(config.permitir, playerVocInfo.id) then -- caso nao tenha a vocação permitida
npcHandler:say("Desculpe, nao posso permitir que players com a sua voca\çao pisem nessas terras.", cid)
return true
end
elseif (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) and talkState[talkUser] == 1 then
if doPlayerRemoveMoney(cid, config.money) then
npcHandler:say("HAHAHA Ja vou preparando o seu caixao, entao!", cid)
doTeleportThing(cid, config.destino)
talkState[talkUser] = 0
else
npcHandler:say("HAHAHAH! Quer enfrentar desafios mas nao tem nem um centavo no bolso? Saia daqui, charlatao!", cid)
talkState[talkUser] = 0
end
elseif(msgcontains(msg, 'no') or msgcontains(msg, 'nao')) and talkState[talkUser] > 0 then
npcHandler:say("La nao \é lugar para covardes, mesmo! HAHAH", cid)
talkState[talkUser] = 0
end
return TRUE
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())