so usar no npc
setplayervocation(cid, 20)
etc..
info
Grupo: Conde
Registrado: 18/07/08
Posts: 545
Reputação: +21
Char no Tibia: Nem eu sei

so usar no npc
setplayervocation(cid, 20)
etc..
so usar no npc
setplayervocation(cid, 20)
etc..
Pode me dar uma ajudano script ?
Sou bem novato em LUA e não sei criar scripts do zero , apenas editar alguns :X
info
Grupo: Conde
Registrado: 18/07/08
Posts: 545
Reputação: +21
Char no Tibia: Nem eu sei

tente
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>
info
Grupo: Artesão
Registrado: 23/04/15
Posts: 126
Reputação: +19
Gênero: Masculino
Char no Tibia: Tider Hunter

^
Editado Maio 3 por ShadowsinXT
@ roriscrave
Funcionou perfeitamente !! Rep++
Pode fechar o tópico , pedido sanado
info
Grupo: Campones
Registrado: 22/04/15
Posts: 62
Reputação: +9
Olá galera , tudo bem ?
Queria um NPC que troca a vocation do player pela escolhida.
Explicando melhor :
Um Player com vocation 1 fala com o NPC e ele da a opção de trocar para as seguintes vocations (20,30,40,50)
Aguardo respostas