Postado Maio 20, 2013 11 anos Nome do Script: promotionepic Versão Utilizada: 8.70 Servidor Utilizado: cristalserver Nível de Experiência: sou iniciante-intermediario Informações do Pedido: NPC só pode dar a vocaçao epica se o player ja tiver atingido o level 200 e ja tiver obtido a 1ª promotion . (Ex// Knight chegou ao level 20 e com 20k ele pede ao NPC sua 1ª promoçao se tornando Elite Knight, ao chegar level 200 e com um item ele retorna ao mesmo NPC e pede sua 2ª promotion se tornando Epic Knight. Informaçoes Gerais: no meu ot existe as seguintes vocaçoes : -Sorcerer evolui para Master Sorcerer -Knight evolui para Elite Knight -Paladin evolui para Royal Paladin -Druid evolui para Elder Druid desde ja grato!!
Postado Maio 20, 2013 11 anos tenta este aque, fiz no serviço, e aqui trabalho com linux e estou sem distro em linux para testar, então teste ve se funciona se não funcionar me retorne uma resposta que arrumarei o código! vai em data/npc/script no arquivo.lua do seu NPC, coloque isto dentro: 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 function onPlayerEndTrade(cid) npcHandler:onPlayerEndTrade(cid) end function onPlayerCloseChannel(cid) npcHandler:onPlayerCloseChannel(cid) end local node1 = keywordHandler:addKeyword({'promote'}, 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}) local node2 = keywordHandler:addKeyword({'epic'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I can epicize you for 200000 gold coins. Do you want me to epicize you?'}) node2:addChildKeyword({'yes'}, StdModule.promotePlayer, {npcHandler = npcHandler, cost = 200000, level = 200, promotion = 2, text = 'Congratulations! You are now epicized.'}) node2:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Alright then, come back when you are ready.', reset = true}) npcHandler:addModule(FocusModule:new()) Se ajudei, Rep+ Editado Maio 20, 2013 11 anos por Carinhah (veja o histórico de edições)
Postado Maio 21, 2013 11 anos Autor Maravilha o script funcionou perfeitamente. vlw agora criou um problema. a vocaçao epic , nao pode usar as armas e potion da propria evoluçao Editado Maio 21, 2013 11 anos por Marabo (veja o histórico de edições)
Postado Maio 21, 2013 11 anos Bem cara, Ae já é outro problema... Vamos láá... Em data/weapons/weapons.xml abra ele e todas as armas que está lá dentro vc acrescenta a tag com a epig vocation Ex: <!-- Swords --> <!-- Broadsword --> <melee id="2413" unproperly="1" event="function" value="default"> <vocation id="4"/> <vocation id="8" showInDescription="0"/> <vocation id="12" showInDescription="0"/> //aqui vc acrescenta a epic vocation </melee> Agora vamos tentar resolver os potions se o seu for igual ao meu será assim: Vá em data/actions/scripts/potions.lua e na linha q tem: [7588] = {empty = 7634, splash = 2, health = {200, 400}, level = 50, vocations = {3, 4, 7, 8}, vocStr = "knights and paladins"}, -- strong health" vc acrescenta a profissão EPIC dentro da chaves "{3, 4, 7, 8}" ficando assim "{3, 4, 7, 8, 11, 12} ... fazendo isto em todas as potions... se não for assim vc me retorna que ajudo vc!! Editado Maio 21, 2013 11 anos por Carinhah (veja o histórico de edições)
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.