Postado Outubro 24, 2017 7 anos Olá a todos. É o seguinte, estou abrindo um ot 10.98 ok TFS 1.3. A situação é essa, eu tirei a vocação Sorc e coloquei a do druid como Mage. O mage pode ter 2 promos, o knight 2 promos e o pally 2 promos. Segue o vocations.xml <?xml version="1.0" encoding="UTF-8"?> <vocations> <vocation id="0" clientid="0" name="None" description="none" gaincap="10" gainhp="5" gainmana="5" gainhpticks="6" gainhpamount="1" gainmanaticks="6" gainmanaamount="1" manamultiplier="4.0" attackspeed="2000" basespeed="220" soulmax="100" gainsoulticks="120" fromvoc="0"> <formula meleeDamage="1.0" distDamage="1.0" defense="1.0" armor="1.0" /> <skill id="0" multiplier="1.5" /> <skill id="1" multiplier="2.0" /> <skill id="2" multiplier="2.0" /> <skill id="3" multiplier="2.0" /> <skill id="4" multiplier="2.0" /> <skill id="5" multiplier="1.5" /> <skill id="6" multiplier="1.1" /> </vocation> <vocation id="2" name="Mage" clientid="4" description="a mage" gaincap="10" gainhp="5" gainmana="30" gainhpticks="6" gainhpamount="5" gainmanaticks="3" gainmanaamount="5" manamultiplier="1.1" attackspeed="2000" basespeed="220" soulmax="100" gainsoulticks="120" fromvoc="2"> <formula meleeDamage="1.0" distDamage="1.0" defense="1.0" armor="1.0" /> <skill id="0" multiplier="1.5" /> <skill id="1" multiplier="1.8" /> <skill id="2" multiplier="1.8" /> <skill id="3" multiplier="1.8" /> <skill id="4" multiplier="1.8" /> <skill id="5" multiplier="1.5" /> <skill id="6" multiplier="1.1" /> </vocation> <vocation id="3" clientid="2" name="Paladin" description="a paladin" gaincap="20" gainhp="10" gainmana="15" gainhpticks="4" gainhpamount="5" gainmanaticks="4" gainmanaamount="5" manamultiplier="1.4" attackspeed="2000" basespeed="220" soulmax="100" gainsoulticks="120" fromvoc="3"> <formula meleeDamage="1.0" distDamage="1.0" defense="1.0" armor="1.0" /> <skill id="0" multiplier="1.2" /> <skill id="1" multiplier="1.2" /> <skill id="2" multiplier="1.2" /> <skill id="3" multiplier="1.2" /> <skill id="4" multiplier="1.1" /> <skill id="5" multiplier="1.1" /> <skill id="6" multiplier="1.1" /> </vocation> <vocation id="4" clientid="1" name="Knight" description="a knight" gaincap="25" gainhp="15" gainmana="5" gainhpticks="3" gainhpamount="5" gainmanaticks="6" gainmanaamount="5" manamultiplier="3.0" attackspeed="2000" basespeed="220" soulmax="100" gainsoulticks="120" fromvoc="4"> <formula meleeDamage="1.0" distDamage="1.0" defense="1.0" armor="1.0" /> <skill id="0" multiplier="1.1" /> <skill id="1" multiplier="1.1" /> <skill id="2" multiplier="1.1" /> <skill id="3" multiplier="1.1" /> <skill id="4" multiplier="1.4" /> <skill id="5" multiplier="1.1" /> <skill id="6" multiplier="1.1" /> </vocation> <vocation id="5" clientid="4" name="Master Wizard" description="a master wizard" gaincap="10" gainhp="5" gainmana="30" gainhpticks="4" gainhpamount="10" gainmanaticks="2" gainmanaamount="10" manamultiplier="1.1" attackspeed="2000" basespeed="220" soulmax="200" gainsoulticks="15" fromvoc="2"> <formula meleeDamage="1.0" distDamage="1.0" defense="1.0" armor="1.0" /> <skill id="0" multiplier="1.5" /> <skill id="1" multiplier="2.0" /> <skill id="2" multiplier="2.0" /> <skill id="3" multiplier="2.0" /> <skill id="4" multiplier="2.0" /> <skill id="5" multiplier="1.5" /> <skill id="6" multiplier="1.1" /> </vocation> <vocation id="6" clientid="4" name="Elder Wizard" description="an elder druid" gaincap="10" gainhp="5" gainmana="30" gainhpticks="4" gainhpamount="10" gainmanaticks="2" gainmanaamount="10" manamultiplier="1.1" attackspeed="2000" basespeed="220" soulmax="200" gainsoulticks="15" fromvoc="2"> <formula meleeDamage="1.0" distDamage="1.0" defense="1.0" armor="1.0" /> <skill id="0" multiplier="1.5" /> <skill id="1" multiplier="1.8" /> <skill id="2" multiplier="1.8" /> <skill id="3" multiplier="1.8" /> <skill id="4" multiplier="1.8" /> <skill id="5" multiplier="1.5" /> <skill id="6" multiplier="1.1" /> </vocation> <vocation id="7" clientid="2" name="Swift Paladin" description="a swift paladin" gaincap="20" gainhp="10" gainmana="15" gainhpticks="3" gainhpamount="10" gainmanaticks="3" gainmanaamount="10" manamultiplier="1.4" attackspeed="2000" basespeed="220" soulmax="200" gainsoulticks="15" fromvoc="3"> <formula meleeDamage="1.0" distDamage="1.0" defense="1.0" armor="1.0" /> <skill id="0" multiplier="1.2" /> <skill id="1" multiplier="1.2" /> <skill id="2" multiplier="1.2" /> <skill id="3" multiplier="1.2" /> <skill id="4" multiplier="1.1" /> <skill id="5" multiplier="1.1" /> <skill id="6" multiplier="1.1" /> </vocation> <vocation id="8" clientid="1" name="Guardian Knight" description="an guardian knight" gaincap="25" gainhp="15" gainmana="5" gainhpticks="2" gainhpamount="10" gainmanaticks="4" gainmanaamount="10" manamultiplier="3.0" attackspeed="2000" basespeed="220" soulmax="200" gainsoulticks="15" fromvoc="4"> <formula meleeDamage="1.0" distDamage="1.0" defense="1.0" armor="1.0" /> <skill id="0" multiplier="1.1" /> <skill id="1" multiplier="1.1" /> <skill id="2" multiplier="1.1" /> <skill id="3" multiplier="1.1" /> <skill id="4" multiplier="1.4" /> <skill id="5" multiplier="1.1" /> <skill id="6" multiplier="1.1" /> </vocation> <vocation id="9" clientid="2" name="Heavy Paladin" description="a heavy paladin" gaincap="20" gainhp="10" gainmana="15" gainhpticks="3" gainhpamount="10" gainmanaticks="3" gainmanaamount="10" manamultiplier="1.4" attackspeed="2000" basespeed="220" soulmax="200" gainsoulticks="15" fromvoc="3"> <formula meleeDamage="1.0" distDamage="1.0" defense="1.0" armor="1.0" /> <skill id="0" multiplier="1.2" /> <skill id="1" multiplier="1.2" /> <skill id="2" multiplier="1.2" /> <skill id="3" multiplier="1.2" /> <skill id="4" multiplier="1.1" /> <skill id="5" multiplier="1.1" /> <skill id="6" multiplier="1.1" /> </vocation> <vocation id="10" clientid="1" name="Berserk Knight" description="an berserk knight" gaincap="25" gainhp="15" gainmana="5" gainhpticks="2" gainhpamount="10" gainmanaticks="4" gainmanaamount="10" manamultiplier="3.0" attackspeed="2000" basespeed="220" soulmax="200" gainsoulticks="15" fromvoc="4"> <formula meleeDamage="1.0" distDamage="1.0" defense="1.0" armor="1.0" /> <skill id="0" multiplier="1.1" /> <skill id="1" multiplier="1.1" /> <skill id="2" multiplier="1.1" /> <skill id="3" multiplier="1.1" /> <skill id="4" multiplier="1.4" /> <skill id="5" multiplier="1.1" /> <skill id="6" multiplier="1.1" /> </vocation> </vocations> Certo. Ai para cada vocação (Mage, Knight e Paladin) criei um NPC, no qual apenas funcionou para o Knight ter as 2 promos King warrior.xml <?xml version="1.0" encoding="UTF-8"?> <npc name="King Warrior" script="promotionKina.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100" /> <look type="133" head="20" body="39" legs="45" feet="7" addons="0" /> <parameters> <parameter key="module_travel" value="1"/> <parameter key="message_greet" value="Olá |PLAYERNAME|. Eu Vendo Promotions Quer comprar alguma {promotion} ?" /> </parameters> </npc> promotionKina.lua -- config by uotl£ config = {[4] = { -- [coloca vocation que tem que ser antes de escolher] lvl = 35, -- level tem que ser maior que 50 id_da_vocation = 8,nome_da_vocation = "Guardian Knight", -- id da primeira vocation que pode compra e o nome dela id_da_vocation2 = 10,nome_da_vocation2 = "Berserk Knight"} -- id da segunda vocation que pode compra e o nome dela } local fala_do_npc = "Desculpe, mas voce esta falando com a pessoa errada." -- fala do npc se ja tiver comprado e se não for vocation certa local preco = 0 -- preço por platinum 100 que e igual 1 crystal -- config by uotl£ 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 function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid voc = config[getPlayerVocation(cid)] if(msgcontains(msg, 'promotion') or msgcontains(msg, 'promotions')) then check (cid,talkUser) elseif (msgcontains(msg, voc.nome_da_vocation) and talkState[talkUser] == 1) then talkState[talkUser] = 2 selfSay("tem certeza que voce quer ser [ "..voc.nome_da_vocation.." ] ? [yes] ou [no]", cid) elseif (msgcontains(msg, 'yes') and talkState[talkUser] == 2) then v1_check (cid,talkUser,numero_s) elseif (msgcontains(msg, 'no') and talkState[talkUser] == 2) then talkState[talkUser] = 0 selfSay("ate mais volte quando decidir", cid) elseif (msgcontains(msg, voc.nome_da_vocation2) and talkState[talkUser] == 1) then talkState[talkUser] = 3 selfSay("tem certeza que voce quer ser ["..voc.nome_da_vocation2.."] ? [yes] ou [no]", cid) elseif (msgcontains(msg, 'yes') and talkState[talkUser] == 3) then v2_check (cid,talkUser,numero_s) talkState[talkUser] = 0 elseif (msgcontains(msg, 'no') and talkState[talkUser] == 3) then talkState[talkUser] = 0 selfSay("ate mais volte quando decidir", cid) end end function check (cid,talkUser) if voc then if getPlayerLevel(cid) >= voc.lvl then talkState[talkUser] = 1 selfSay('Posso lhe conceder a promocao [ '..voc.nome_da_vocation..' ] OU ['..voc.nome_da_vocation2..'] ao atingir level 35', cid) else selfSay('volta aqui quando pegar level '..voc.lvl..'', cid) talkState[talkUser] = 0 end else selfSay(fala_do_npc, cid) talkState[talkUser] = 0 return true end end function v1_check (cid,talkUser) if(doPlayerRemoveMoney(cid, (preco*100)) == true) then doPlayerSetVocation(cid, voc.id_da_vocation) selfSay("parabens agora voce e "..voc.nome_da_vocation.."", cid) talkState[talkUser] = 0 else selfSay('volta aqui quando tiver dinheiro '..preco..' moedas de platinum', cid) talkState[talkUser] = 0 end return true end function v2_check (cid,talkUser) if(doPlayerRemoveMoney(cid, (preco*100)) == true) then doPlayerSetVocation(cid, voc.id_da_vocation2) selfSay("parabens agora voce e "..voc.nome_da_vocation2.."", cid) talkState[talkUser] = 0 else selfSay('volta aqui quando tiver dinheiro '..preco..' moedas de platinum', cid) talkState[talkUser] = 0 end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Já testei e está funcionando. Tive que tirar do login.lua uma parte do script de promotion para funcionar. login.lua function onLogin(player) local loginStr = "Welcome to " .. configManager.getString(configKeys.SERVER_NAME) .. "!" if player:getLastLoginSaved() <= 0 then loginStr = loginStr .. " Please choose your outfit." player:sendOutfitWindow() else if loginStr ~= "" then player:sendTextMessage(MESSAGE_STATUS_DEFAULT, loginStr) end loginStr = string.format("Your last visit was on %s.", os.date("%a %b %d %X %Y", player:getLastLoginSaved())) end player:sendTextMessage(MESSAGE_STATUS_DEFAULT, loginStr) -- Stamina nextUseStaminaTime[player.uid] = 0 -- Promotion local vocation = player:getVocation() --local promotion = vocation:getPromotion() --if player:isPremium() then -- local value = player:getStorageValue(STORAGEVALUE_PROMOTION) -- if not promotion and value ~= 1 then -- player:setStorageValue(STORAGEVALUE_PROMOTION, 1) -- elseif value == 1 then -- player:setVocation(promotion) -- end --elseif not promotion then -- player:setVocation(vocation:getDemotion()) --end --> -- Events player:registerEvent("PlayerDeath") player:registerEvent("DropLoot") return true end Porém com ou sem essa alteração no login.lua O NPC para promoções de pally e mage não estão reconhecendo a vocação do personagem... quero dizer, eles falam a parte do script como se não fosse a voc correta. Segue NPC King Wizard.xml <?xml version="1.0" encoding="UTF-8"?> <npc name="King Wizard" script="promotionMage.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100" /> <look type="133" head="20" body="39" legs="45" feet="7" addons="0" /> <parameters> <parameter key="module_travel" value="1"/> <parameter key="message_greet" value="Olá |PLAYERNAME|. Eu Vendo Promotions Quer comprar alguma {promotion} ?" /> </parameters> </npc> promotionMage.lua -- config by uotl£ config = {[2] = { -- [coloca vocation que tem que ser antes de escolher] lvl = 35, -- level tem que ser maior que 50 id_da_vocation = 5,nome_da_vocation = "Master Wizard", -- id da primeira vocation que pode compra e o nome dela id_da_vocation2 = 6,nome_da_vocation2 = "Elder Wizard"} -- id da segunda vocation que pode compra e o nome dela } local fala_do_npc = "Desculpe, mas voce esta falando com a pessoa errada." -- fala do npc se ja tiver comprado e se não for vocation certa local preco = 0 -- preço por platinum 100 que e igual 1 crystal -- config by uotl£ 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 function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid voc = config[getPlayerVocation(cid)] if(msgcontains(msg, 'promotion') or msgcontains(msg, 'promotions')) then check (cid,talkUser) elseif (msgcontains(msg, voc.nome_da_vocation) and talkState[talkUser] == 1) then talkState[talkUser] = 2 selfSay("tem certeza que voce quer ser [ "..voc.nome_da_vocation.." ] ? [yes] ou [no]", cid) elseif (msgcontains(msg, 'yes') and talkState[talkUser] == 2) then v1_check (cid,talkUser,numero_s) elseif (msgcontains(msg, 'no') and talkState[talkUser] == 2) then talkState[talkUser] = 0 selfSay("ate mais volte quando decidir", cid) elseif (msgcontains(msg, voc.nome_da_vocation2) and talkState[talkUser] == 1) then talkState[talkUser] = 3 selfSay("tem certeza que voce quer ser ["..voc.nome_da_vocation2.."] ? [yes] ou [no]", cid) elseif (msgcontains(msg, 'yes') and talkState[talkUser] == 3) then v2_check (cid,talkUser,numero_s) talkState[talkUser] = 0 elseif (msgcontains(msg, 'no') and talkState[talkUser] == 3) then talkState[talkUser] = 0 selfSay("ate mais volte quando decidir", cid) end end function check (cid,talkUser) if voc then if getPlayerLevel(cid) >= voc.lvl then talkState[talkUser] = 1 selfSay('Posso lhe conceder a promocao [ '..voc.nome_da_vocation..' ] OU ['..voc.nome_da_vocation2..'] ao atingir level 35', cid) else selfSay('volta aqui quando pegar level '..voc.lvl..'', cid) talkState[talkUser] = 0 end else selfSay(fala_do_npc, cid) talkState[talkUser] = 0 return true end end function v1_check (cid,talkUser) if(doPlayerRemoveMoney(cid, (preco*100)) == true) then doPlayerSetVocation(cid, voc.id_da_vocation) selfSay("parabens agora voce e "..voc.nome_da_vocation.."", cid) talkState[talkUser] = 0 else selfSay('volta aqui quando tiver dinheiro '..preco..' moedas de platinum', cid) talkState[talkUser] = 0 end return true end function v2_check (cid,talkUser) if(doPlayerRemoveMoney(cid, (preco*100)) == true) then doPlayerSetVocation(cid, voc.id_da_vocation2) selfSay("parabens agora voce e "..voc.nome_da_vocation2.."", cid) talkState[talkUser] = 0 else selfSay('volta aqui quando tiver dinheiro '..preco..' moedas de platinum', cid) talkState[talkUser] = 0 end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) NPC King Archer.xml <?xml version="1.0" encoding="UTF-8"?> <npc name="King Archer" script="promotionPally.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100" /> <look type="133" head="20" body="39" legs="45" feet="7" addons="0" /> <parameters> <parameter key="module_travel" value="1"/> <parameter key="message_greet" value="Olá |PLAYERNAME|. Eu Vendo Promotions Quer comprar alguma {promotion} ?" /> </parameters> </npc> promotionPally.lua -- config by uotl£ config = {[3] = { -- [coloca vocation que tem que ser antes de escolher] lvl = 35, -- level tem que ser maior que 50 id_da_vocation = 7,nome_da_vocation = "Swift Paladin", -- id da primeira vocation que pode compra e o nome dela id_da_vocation2 = 9,nome_da_vocation2 = "Heavy Paladin"} -- id da segunda vocation que pode compra e o nome dela } local fala_do_npc = "Desculpe, mas voce esta falando com a pessoa errada." -- fala do npc se ja tiver comprado e se não for vocation certa local preco = 0 -- preço por platinum 100 que e igual 1 crystal -- config by uotl£ 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 function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid voc = config[getPlayerVocation(cid)] if(msgcontains(msg, 'promotion') or msgcontains(msg, 'promotions')) then check (cid,talkUser) elseif (msgcontains(msg, voc.nome_da_vocation) and talkState[talkUser] == 1) then talkState[talkUser] = 2 selfSay("tem certeza que voce quer ser [ "..voc.nome_da_vocation.." ] ? [yes] ou [no]", cid) elseif (msgcontains(msg, 'yes') and talkState[talkUser] == 2) then v1_check (cid,talkUser,numero_s) elseif (msgcontains(msg, 'no') and talkState[talkUser] == 2) then talkState[talkUser] = 0 selfSay("ate mais volte quando decidir", cid) elseif (msgcontains(msg, voc.nome_da_vocation2) and talkState[talkUser] == 1) then talkState[talkUser] = 3 selfSay("tem certeza que voce quer ser ["..voc.nome_da_vocation2.."] ? [yes] ou [no]", cid) elseif (msgcontains(msg, 'yes') and talkState[talkUser] == 3) then v2_check (cid,talkUser,numero_s) talkState[talkUser] = 0 elseif (msgcontains(msg, 'no') and talkState[talkUser] == 3) then talkState[talkUser] = 0 selfSay("ate mais volte quando decidir", cid) end end function check (cid,talkUser) if voc then if getPlayerLevel(cid) >= voc.lvl then talkState[talkUser] = 1 selfSay('Posso lhe conceder a promocao [ '..voc.nome_da_vocation..' ] OU ['..voc.nome_da_vocation2..'] ao atingir level 35', cid) else selfSay('volta aqui quando pegar level '..voc.lvl..'', cid) talkState[talkUser] = 0 end else selfSay(fala_do_npc, cid) talkState[talkUser] = 0 return true end end function v1_check (cid,talkUser) if(doPlayerRemoveMoney(cid, (preco*100)) == true) then doPlayerSetVocation(cid, voc.id_da_vocation) selfSay("parabens agora voce e "..voc.nome_da_vocation.."", cid) talkState[talkUser] = 0 else selfSay('volta aqui quando tiver dinheiro '..preco..' moedas de platinum', cid) talkState[talkUser] = 0 end return true end function v2_check (cid,talkUser) if(doPlayerRemoveMoney(cid, (preco*100)) == true) then doPlayerSetVocation(cid, voc.id_da_vocation2) selfSay("parabens agora voce e "..voc.nome_da_vocation2.."", cid) talkState[talkUser] = 0 else selfSay('volta aqui quando tiver dinheiro '..preco..' moedas de platinum', cid) talkState[talkUser] = 0 end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Obrigado desde já! é de grande importância arrumar isso, não sei pq o Knight consegue promover para Berserk ou Guardian mas quando falo sendo Mage no NPC King Mage ou Paladin no NPC King Archer aparece a frase do script "Desculpe, mas voce esta falando com a pessoa errada." Segue uma imagem que da na distro quando sou Mage Voc 2 e tento comprar promotion Editado Outubro 24, 2017 7 anos por lucasprimolemos (veja o histórico de edições)
Postado Outubro 25, 2017 7 anos Autor 5 horas atrás, RobotTurto disse: Verificou no banco de dados as vocations? Os samples estão normais padrão, só modifiquei o sorc para vocation 2 e druid tb voc 2, o sorc em si fica inútil então nao interfere...seria mais para cadastro do site. Eu to testando direto no admin, eu modifico apenas o player admin que estou usando, então creio que não tenha a ver com o BD nesse primeiro momento
Postado Outubro 25, 2017 7 anos 1 hora atrás, lucasprimolemos disse: Os samples estão normais padrão, só modifiquei o sorc para vocation 2 e druid tb voc 2, o sorc em si fica inútil então nao interfere...seria mais para cadastro do site. Eu to testando direto no admin, eu modifico apenas o player admin que estou usando, então creio que não tenha a ver com o BD nesse primeiro momento Quando falo verificou na BD quero dizer se verificou na BD a voc do char em que está sendo testado.
Postado Outubro 25, 2017 7 anos Autor 30 minutos atrás, RobotTurto disse: Quando falo verificou na BD quero dizer se verificou na BD a voc do char em que está sendo testado. A sim perdão @RobotTurto, então, eu verifiquei inclusive fico mexendo nele para testar os NPC's Quando eu coloco voc 4 e ele vira kina, falo com o npc King Warrior e consigo me promover para berserk ou guardian, mas quando coloco voc 3 de pally e falo com NPC King Archer ou voc 2 de mage e falo com NPC King Wizard não da certo, ele manda a msg "desculpe mas vc está falando com a pessoa errada" que é o ELSEIF quando ele não compreende a voc, ou a voc não é correspondente com a definida no arquivo lua
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.