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 6 horas 6 hs