Ir para conteúdo
  • 0

NPC não da promotion pra certas vocations


nbb147

Pergunta

Estou com problema em fazer com que o npc não de promotion pra certas vocaçoes, tipo assim esse npc ele e pra dar promotion pra sorcerer e druid, japra knight e paladin eles não da promotion, script:

 

 

 

local keywordHandler = KeywordHandler:new()

local npcHandler = NpcHandler:new(keywordHandler)

NpcSystem.parseParameters(npcHandler)

 

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 node1 = keywordHandler:addKeyword({'primeiro treinamento'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Para receber esse treinamento você prescisa ter o level 50, você esta possui esse level?'})

node1:addChildKeyword({'yes'}, StdModule.promotePlayer, {npcHandler = npcHandler, cost = 0, level = 50, promotion = 1, text = 'Você se saiu bem no treinamento, vejo que você esta mais forte.'})

node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Você ainda não esta preparado para esse tipo de treinamento.', reset = true})

 

 

local node2 = keywordHandler:addKeyword({'segundo treinamento'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Para receber esse treinamento você prescisa ter o level 150, você esta possui esse level?'})

node2:addChildKeyword({'yes'}, StdModule.promotePlayer, {npcHandler = npcHandler, cost = 0, level = 150, promotion = 2, text = 'Parabêns você esta mais forte.'})

node2:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Você ainda não esta preparado para esse tipo de treinamento.', reset = true})

 

 

local node3 = keywordHandler:addKeyword({'terceiro treinamento'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Para receber esse treinamento você prescisa ter o level 300, você esta possui esse level?'})

node3:addChildKeyword({'yes'}, StdModule.promotePlayer, {npcHandler = npcHandler, cost = 0, level = 300, promotion = 3, text = 'Sua forta está ao extremo, o poder esta a te cosumir.'})

node3:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Você ainda não esta preparado para esse tipo de treinamento.', reset = true})

 

npcHandler:addModule(FocusModule:new())

Editado por nbb147
Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
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 node1 = keywordHandler:addKeyword({'promot'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I can promote you for 20000 gold coins. Do you want me to promote you?'})
node1:addChildKeyword({'yes'}, StdModule.promotePlayer, {npcHandler = npcHandler, cost = 20000, level = 20, promotion = 1, text = 'Congratulations! You are now promoted.'})
node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Alright then, come back when you are ready.', reset = true})
npcHandler:addModule(FocusModule:new())

Link para o comentário
Compartilhar em outros sites

  • 0

acho que vc não entendeu meu pedido '-'

eu quero um npc que da promotion com uma diferença, ele so da promotion pra certas vocaçoes no caso druid e sorcerer, ja para knight e paladin ele não vende promotion.

Link para o comentário
Compartilhar em outros sites

  • 0

Tenta assim :x

 

 

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)

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

if playervoc == 1 or playervoc == 2 then

local node1 = keywordHandler:addKeyword({'primeiro treinamento'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Para receber esse treinamento você prescisa ter o level 50, você esta possui esse level?'})
node1:addChildKeyword({'yes'}, StdModule.promotePlayer, {npcHandler = npcHandler, cost = 0, level = 50, promotion = 1, text = 'Você se saiu bem no treinamento, vejo que você esta mais forte.'})
node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Você ainda não esta preparado para esse tipo de treinamento.', reset = true})
if player voc == 1 or playervoc == 2 then

local node2 = keywordHandler:addKeyword({'segundo treinamento'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Para receber esse treinamento você prescisa ter o level 150, você esta possui esse level?'})
node2:addChildKeyword({'yes'}, StdModule.promotePlayer, {npcHandler = npcHandler, cost = 0, level = 150, promotion = 2, text = 'Parabêns você esta mais forte.'})
node2:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Você ainda não esta preparado para esse tipo de treinamento.', reset = true})
if playervoc == 1 or playervoc == 2 then

local node3 = keywordHandler:addKeyword({'terceiro treinamento'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Para receber esse treinamento você prescisa ter o level 300, você esta possui esse level?'})
node3:addChildKeyword({'yes'}, StdModule.promotePlayer, {npcHandler = npcHandler, cost = 0, level = 300, promotion = 3, text = 'Sua forta está ao extremo, o poder esta a te cosumir.'})
node3:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Você ainda não esta preparado para esse tipo de treinamento.', reset = true})
if playervoc == 3 or playervoc == 4 then
doPlayerSendTextMessage(cid, 23, "Voce nao tem a vocaçao necessaria!."
npcHandler:addModule(FocusModule:new())

Link para o comentário
Compartilhar em outros sites

  • 0

erro:

 

 

 

[11/03/2013 20:09:38] [Error - LuaScriptInterface::loadFile] data/npc/scripts/promot.lua:15: 'then' expected near 'voc'

[11/03/2013 20:09:38] [Warning - NpcScript::NpcScript] Cannot load script: data/npc/scripts/promot.lua

[11/03/2013 20:09:38] data/npc/scripts/promot.lua:15: 'then' expected near 'voc'

[11/03/2013 20:09:52] [Warning - Npc::loadFromXml] Cannot load npc file (data/npc/promot.xml).

[11/03/2013 20:09:52] Info: failed to load external entity "data/npc/promot.xml"

Link para o comentário
Compartilhar em outros sites

  • 0

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)

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 playervoc = getPlayerVocation(cid),

if playervoc == 1 or playervoc == 2 then
local node1 = keywordHandler:addKeyword({'primeiro treinamento'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Para receber esse treinamento você prescisa ter o level 50, você esta possui esse level?'})
node1:addChildKeyword({'yes'}, StdModule.promotePlayer, {npcHandler = npcHandler, cost = 0, level = 50, promotion = 1, text = 'Você se saiu bem no treinamento, vejo que você esta mais forte.'})
node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Você ainda não esta preparado para esse tipo de treinamento.', reset = true})

elseif player voc == 1 or playervoc == 2 then
local node2 = keywordHandler:addKeyword({'segundo treinamento'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Para receber esse treinamento você prescisa ter o level 150, você esta possui esse level?'})
node2:addChildKeyword({'yes'}, StdModule.promotePlayer, {npcHandler = npcHandler, cost = 0, level = 150, promotion = 2, text = 'Parabêns você esta mais forte.'})
node2:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Você ainda não esta preparado para esse tipo de treinamento.', reset = true})

elseif playervoc == 1 or playervoc == 2 then
local node3 = keywordHandler:addKeyword({'terceiro treinamento'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Para receber esse treinamento você prescisa ter o level 300, você esta possui esse level?'})
node3:addChildKeyword({'yes'}, StdModule.promotePlayer, {npcHandler = npcHandler, cost = 0, level = 300, promotion = 3, text = 'Sua forta está ao extremo, o poder esta a te cosumir.'})
node3:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Você ainda não esta preparado para esse tipo de treinamento.', reset = true})

elseif playervoc == 3 or playervoc == 4 then
doPlayerSendTextMessage(cid, 23, "Voce nao tem a vocaçao necessaria!."
end

npcHandler:addModule(FocusModule:new())

 

Tente isto

 

www.tremera-global.com Full Global 9.8

27552644.png

 

str4ng anonymous -

http://twitter.com/str4nganon

Editado por str4ng
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...