so usar no npc
setplayervocation(cid, 20)
etc..
info
Group: Conde
Joined: 18/07/08
Posts: 545
Reputation: +21
Tibia Character: 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
Group: Conde
Joined: 18/07/08
Posts: 545
Reputation: +21
Tibia Character: 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
Group: Artesão
Joined: 23/04/15
Posts: 126
Reputation: +19
Gender: Masculino
Tibia Character: Tider Hunter

^
Edited Maio 3 by ShadowsinXT
@ roriscrave
Funcionou perfeitamente !! Rep++
Pode fechar o tópico , pedido sanado
info
Group: Campones
Joined: 22/04/15
Posts: 62
Reputation: +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