Ja tem tempo que não mecho com script então esqueci muita coisa :b
Eu fiz, saio meio poluído porque eu esqueci como usar tabela mas ta funcional (To estudando denovo)
.Xml
<?xml version="1.0" encoding="UTF-8"?>
<npc name="Nome do npc" script="Local da Script.lua" walkinterval="0" floorchange="0" speed="900">
<health now="150" max="150"/>
<look type="128" head="0" body="0" legs="0" feet="0" addons="0"/>
<parameters>
<parameter key="message_greet" value="Ta Afim de ganha uma vocação?"/>
</parameters>
</npc>
.lua
-- By RigBy --
-- Xtibia.com --
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 vocation = 1 -- Vocação que precisa ter
-- Primeira Vocação
local vocationnome1 = 'knight' -- Nome da primeira vocação que ira se torna
local vocationid1 = 3 -- id da vocação que vai ganha
local item1 = 7618 -- primeiro items da primeira vocação
local item2 = 7636 -- Segundo items da primeira vocação
local qnt1 = 15 -- quantidade do primeiro items
local qnt2 = 15 -- quantidade do segundo items
-- Segunda Vocação
local vocationnome2 = 'paladin' -- Nome da segunda vocação que ira se torna
local vocationid2 = 4 -- id da vocação que vai ganha
local items1 = 3333 -- primeiro items da segunda vocação
local items2 = 4444 -- Segundo items da segunda vocação
local qnts1 = 15 -- quantidade do primeiro items
local qnts2 = 15 -- quantidade do segundo items
function creatureSayCallback(cid, type, msg)
if(not npcHandler:isFocused(cid)) then
return false
end
local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
if msgcontains(msg, 'yes') then
if getPlayerVocation(cid) == vocation then
selfSay('Você que ['..vocationnome1..'] ou ['..vocationnome2..'].', cid)
talkState[talkUser] = 1
else
selfSay('Você não ta com a vocação certa ou ja ganho a vocação.', cid)
end
end
if talkState[talkUser] == 1 and msgcontains(msg, ''..vocationnome1..'') then
if getPlayerItemCount(cid, item1) >= qnt1 and getPlayerItemCount(cid, item2) >= qnt2 then
selfSay('Parabêns você acaba de se tornar '..vocationnome1..'', cid)
doPlayerSetVocation(cid, vocationid1)
doPlayerRemoveItem(cid, item1, qnt1)
doPlayerRemoveItem(cid, item2, qnt2)
else
selfSay('Você não tem os items que precisa para ganha a vocação.', cid)
end
end
if talkState[talkUser] == 1 and msgcontains(msg, ''..vocationnome2..'') then
if getPlayerItemCount(cid, items1) >= qnts1 and getPlayerItemCount(cid, items2) >= qnts2 then
selfSay('Parabêns você acaba de ser torna '..vocationnome2..'', cid)
doPlayerSetVocation(cid, vocationid2)
doPlayerRemoveItem(cid, items1, qnts1)
doPlayerRemoveItem(cid, items2, qnts2)
else
selfSay('Você não tem os items que precisa para ganha a vocação.', cid)
end
end
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
Ps. Depois posto um com a tabela feita
Bye