Aqui, vá em npcs/script e crie um arquivo chamado vocacao.lua e coloque isso dentro
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
local choose = {}
local cancel = {}
local available = {}
function creatureSayCallback(cid, type, msg)
if(not npcHandler:isFocused(cid)) then
return false
end
local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_PRIVATE and 0 or cid
if(msgcontains(msg, "info")) then
selfSay("Olá "..getCreatureName(cid)..", Você quer trocar de vocação, digite o nome da sua proxima vocação. Temos Sorcerer, Druid, Knight e Paladin.", cid)
talkState[talkUser] = 1
elseif msgcontains(msg, "sorcerer") or msgcontains(msg, "SORCERER") and talk_state == 1 then
doPlayerSetVocation(cid, 1)
selfSay("Parabéns, você virou um Sorcerer", cid)
broadcastMessage("O jogador "..getCreatureName(cid).." virou um Sorcerer")
elseif msgcontains(msg, "druid") or msgcontains(msg, "DRUID") and talk_state == 1 then
doPlayerSetVocation(cid, 2)
selfSay("Parabéns, você virou um Druid", cid)
broadcastMessage("O jogador "..getCreatureName(cid).." virou um Druid")
elseif msgcontains(msg, "paladin") or msgcontains(msg, "PALADIN") and talk_state == 1 then
doPlayerSetVocation(cid, 3)
selfSay("Parabéns, você virou um Paladin", cid)
broadcastMessage("O jogador "..getCreatureName(cid).." virou um Paladin")
elseif msgcontains(msg, "KNIGHT") or msgcontains(msg, "KNIGHT") and talk_state == 1 then
doPlayerSetVocation(cid, 4)
selfSay("Parabéns, você virou um Knight", cid)
broadcastMessage("O jogador "..getCreatureName(cid).." virou um Knight")
elseif(msgcontains(msg, "bye") or msgcontains(msg, "goodbye") or msgcontains(msg, "cya")) then
selfSay("cya!", cid, TRUE)
closeShopWindow(cid)
removeFocus(cid)
end
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
e depois volte uma pasta, onde fica os xmls dos npc e crie um novo arquivo chamado vocacao.xml e coloque isso dentro
<?xml version="1.0" encoding="UTF-8"?>
<npc name="Vocation Changer" script="data/npc/scripts/vocacao.lua" walkinterval="0" floorchange="0">
<health now="150" max="150"/>
<look type="131" head="95" body="95" legs="95" feet="95" corpse="6080"/>
</npc>