Boa tarde, gostaria de solicitar uma ajuda relacionada ao tutorial, na data em que me forneceu a ajuda eu estava mexendo com esse servidor, cheguei a testar rapidamente o tutorial e a principio funcionou bem, fiz o passo a passo e deu certo, voltei recentemente a mexer nesse servidor e ao testar novamente sobre a segunda promotion, ao falar com qualquer npc de promotion, seja King Tibianus ou Queen Eloise ou qualquer outro que venda promotion, ele ate chega a promover o player para a primeira promotion, que no caso como ex: knight recebe elite knight, porem se o player desloga quando volta ele está promovida para a segunda promotion. Nio caso tital blader. testei fazer um item que adiciona a pimeira vocation e outro que adiciona a segunda promotion e funcionou corretamente. porem eu gostaria de deixar pelos npc's mesmo.
Estou usando mapa global servidor Canary versão 3.1.2
Obs: segui o tutorial de como adicionar a seguinda promotion acima. recompilei oi servidor. porem no npc de promotion nao mexi.
Desde já agradeço!
Parte de promotion do npc king tibianus
[spoiler]-- Promotion
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,
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,
})[/spoiler]
Script que usei e funcionou para primeira promotion via action
[spoiler]local action = Action()
function action.onUse(player, item, fromPosition, target, toPosition, isHotkey)
local vocation = player:getVocation():getId()
if vocation >= 1 and vocation <= 4 then
player:setVocation(vocation + 4)
player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You've been promoted! Congratulations!")
player:getPosition():sendMagicEffect(CONST_ME_FIREWORK_YELLOW)
item:remove()
else
player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You already have a promotion or cannot use this item.")
player:getPosition():sendMagicEffect(CONST_ME_BLOCKHIT)
end
return true
end
action:id(13550)
action:register()[/spoiler]
Script que usei e funcionou para segunda promotion via action
[spoiler]local action = Action()
function action.onUse(player, item, fromPosition, target, toPosition, isHotkey)
local vocation = player:getVocation():getId()
if vocation >= 5 and vocation <= 8 then
player:setVocation(vocation + 4)
player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You've been promoted to Supreme Vocation! Congratulations!")
player:getPosition():sendMagicEffect(CONST_ME_FIREWORK_YELLOW)
item:remove()
else
player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You do not have the correct vocation or are already at the maximum promotion level.")
player:getPosition():sendMagicEffect(CONST_ME_BLOCKHIT)
end
return true
end
action:id(13560) -- ID do item que ativa a ação
action:register()
[/spoiler]
Por
.brunofiorillo, · Postado