RedFil 0 #1 Posted October 5, 2009 (edited) Eae pessoal! Esse é meu primeiro tutorial, então espero criticas para melhorias :yes: Estou postando ele pois quando eu precisei não tinha encontrado, então agora que eu consegui desenvolver ele estou postando para vocês =) Obs: Não sei se existe algum tutorial parecido ou igual ao meu, mas se tiver não estou copiando e nem estou ciente dele, tudo que postei aqui eu desenvolvi sozinho Introdução Nesse tutorial irei mostrar como criar a Second Promotion sem me aprofundar nos detalhes do arquivo "vocations.xml", irei apenas mostrar o principal, e também mostrarei como fazer o NPC para os players poderem comprar a nova Promotion Script testado no server "Styller_Yourots_0.6__Rev_04_8.50" Criando a nova promotion Vá em "data/xml" e abra o arquivo "vocations.xml" como Bloco de Notas ou com um programa de Scripter, nesse arquivo estará todas as vocações disponiveis, no final do arquivo, depois do "</vocation>"(atenção: não é depois do "</vocations>") adicione o seguinte: <vocation id="[color=red]xx[/color]" name="[color=darkorange]Second Promotion[/color]" description="[color=blue]a second promotion[/color]" needpremium="1" gaincap="100" gainhp="500" gainmana="3000" gainhpticks="6" gainhpamount="50" gainmanaticks="3" gainmanaamount="50" manamultiplier="4.5" attackspeed="450" soulmax="200" gainsoulticks="120" fromvoc="[color=cyan]y[/color]"> <formula meleeDamage="2.5" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="2.5" defense="2.0" armor="2.0"/> [color=magenta]<skill id="0" multiplier="1.1"/>[/color] [color=magenta] <skill id="1" multiplier="1.1"/>[/color] [color=magenta] <skill id="2" multiplier="1.1"/>[/color] [color=magenta] <skill id="3" multiplier="1.1"/>[/color] [color=magenta] <skill id="4" multiplier="1.1"/>[/color] [color=magenta] <skill id="5" multiplier="1.1"/>[/color] [color=magenta] <skill id="6" multiplier="1.1"/>[/color] </vocation> Vermelho - ID da nova Second Promotion(lembrando que não pode haver dois IDs iguais esse arquivo) Laranja - Nome da nova Second Promotion Azul - Descrição da promotion(basicamente é o que aparece quando se da "Look" em alguem dentro do jogo) Azul Claro - ID da Vocação ou Promotion anterior(No caso seria o ID da promotion anterior. Exp: No Second Promotion do Master Sorcerer, o fromvoc deverá ter o ID do MS) Rosa - É a parte de afinidade com armas(Recomendo que copie da respectiva promotion anterior) Obs: Não estou colocando números porque se o servidor tiver vocações adicionais eles estarão diferentes Crie quantas novas Promotions forem necessárias(nos casos normais são 4, uma Second Promotion para MS, ED, RP e EK) Criando o NPC para a Second Promotion Vá em "data/npc" e copie e cole qualquer arquivo ".xml" desta pasta, depois abra-o e substitua tudo o que estiver dentro da cópia por isto: <?xml version="1.0" encoding="UTF-8"?> <npc name="[color=red]RedFil[/color]" script="data/npc/scripts/second_promote.lua" walkinterval="2000" floorchange="0"> <mana now="800" max="800"/> <health now="200" max="200"/> [color=blue]<look type="302" head="78" body="94" legs="132" feet="115"/>[/color] <parameters> <parameter key="message_greet" value="[color=darkorange]Hello |PLAYERNAME|. I am responsible for the {second} promotion![/color]"/> </parameters> </npc> Vermelho - Nome do NPC(Por modéstia de minha parte coloquei meu Nick ^^) Azul - Outfit do NPC(Como está ai é o Outfit de GM) Laranja - Fala do NPC após o player dizer "hi" Depois de criado o NPC, é preciso criar sua Script para ele poder fazer a Second Promotion Agora vá em "data/npc/scripts" e copie e cole qualquer arquivo ".lua" desta pasta, depois abra-o como Bloco de Notas ou com um programa de Scripter e troque tudo o que está dentro da cópia por: ----------------------------- ----------By RedFil---------- ----------------------------- 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({'second'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = '[color=red]If you are level 200 I can promote you a second time for 2000000 gold coins. Do you want me to promote you?[/color]'}) node1:addChildKeyword({'yes'}, StdModule.promotePlayer, {npcHandler = npcHandler, cost = [color=blue]2000000[/color], level = [color=darkorange]200[/color], promotion = 2, text = '[color=magenta]Congratulations! You are now promoted a second time.[/color]'}) node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Alright then, come back when you are ready.', reset = true}) npcHandler:addModule(FocusModule:new()) Vermelhor - Fala do NPC após o player dizer "second"(no estado atual está falando que é preciso lvl 200 e 2kk de gold) Azul - Preço da Second Promotion(como está ele cobrará 2kk) Laranja - Level necessário para obter a Second Promotion(no caso 200) Rosa - Mensagem do NPC após executar com sucesso a Second Promotion Se for alterar o preço e o level mude no Vermelhor e no Azul(No veermelho para o player saber o que é necessário e no azul para o NPC cobrar do player) BEM DEPOIS DE FEITO TUDO ISSO JÁ É POSSIVEL COLOCA-LO NO SERVER :yes: E para alivio de muitos, surpreendenteente não é necessário editar as spells para que eles possam usar as magias das vocações e promotions anteriores, pelo menos no meu aqui não precisou =) Se tiver alguma dúvida, pode perguntar, mas não é certeza que eu possa responder, pois eu criei tudo o que está neste tópico baseado em outros tutoriais e em scripts já existentes no OTServ Mas se perguntar e eu puder responder, ou ajudar, eu tentarei o máximo =/ Não autorizo a cópia deste Tutorial com o fim de posta-lo em outro lugar :yes: Edited October 6, 2009 by RedFil Share this post Link to post Share on other sites
Gpwjhlkdcf 21 #2 Posted October 8, 2009 Tópico Aprovado e Movido para Scripting > Tutoriais > Outros Tutoriais. Padrão de Qualidade: OK Share this post Link to post Share on other sites
Lordness 0 #3 Posted November 1, 2009 blz... mais onde vai ta esse NPC? :/ Share this post Link to post Share on other sites
Proviem 0 #4 Posted November 25, 2009 ai tu tem q tu tem q bota com o map editor ou com o gm /n o nome do npc ou /npc pra versoes mais novas lembrando q se tu boto com o /n ou /npc quando o ot cai eles vao cai o unico geito de eles ficarem e com o map editor Share this post Link to post Share on other sites
Knnabbs 0 #5 Posted November 26, 2009 (edited) deu certinho aki mano soh q na hora de dar Look em vc msmo ele nao aparece nda , aparece soh You see yourself. You are. e tbm kuandu alguem da look nao aparece aparece He is. como eu faço pra aparecer You area Vip Master Sorcerer por exemplo Edited November 26, 2009 by Knnabbs Share this post Link to post Share on other sites
Knnabbs 0 #6 Posted November 26, 2009 (edited) ai axei o problema , se soh eskeceu de fala q tenke muda ah LIB tbm neh >.< fucei aki e consegui concertar dps de ter feito tdo isso ai dai em data/lib/vocations.lua e adiciona as Ids das Second Promotion ----------------------------------------------------------- function isSorcerer(cid) return isInArray({1, 5, 9}, getPlayerVocation(cid)) end function isDruid(cid) return isInArray({2, 6, 10}, getPlayerVocation(cid)) end function isPaladin(cid) return isInArray({3, 7, 11}, getPlayerVocation(cid)) end function isKnight(cid) return isInArray({4, 8, 12}, getPlayerVocation(cid)) end function isRookie(cid) return isInArray({0}, getPlayerVocation(cid)) end ----------------------------------------------------- Sistema 100% .. vlw mlkao Edited November 27, 2009 by Knnabbs Share this post Link to post Share on other sites
Mathews157 0 #7 Posted December 4, 2009 Aqui nao funciono alguem pode me ajudar?Tipo eu adicionei a LIB la so que continuou a mesma coisa nao aparece a vocação, fica so no He is. Share this post Link to post Share on other sites
god guizao 0 #8 Posted December 20, 2009 Ai, boa idéia, mais o que isso beneficiara o player? Share this post Link to post Share on other sites
subzerokmf 0 #9 Posted January 8, 2010 Me ajudem aee To usando o Alissow 8.54 olha o q deu quando eu abri o server: [08/01/2010 14:09:47] [Error - LuaScriptInterface::loadFile] data/npc/scripts/promotionvip.lua:1: unexpected symbol near 'ÿ' [08/01/2010 14:09:47] [Warning - NpcScript::NpcScript] Cannot load script: data/npc/scripts/promotionvip.lua [08/01/2010 14:09:47] data/npc/scripts/promotionvip.lua:1: unexpected symbol near 'ÿ' Share this post Link to post Share on other sites
Eternos 0 #10 Posted February 2, 2010 Vlww te amoo cara era oque eu tava procurando, e otra ele nao some a second quando desloga muito bom mesmo vlw's Share this post Link to post Share on other sites
kaiquefb 0 #11 Posted February 27, 2010 Peeeeeeeeeerfeito, funciono direitinho aqui. Share this post Link to post Share on other sites
SkyFail 0 #12 Posted August 20, 2010 rox.+ tipo to fsendo um sv de naruto. Aeh tipo vai ter Uchiha e pah aeh e a primeira classe blz ne? aeh eu kero ke fika assim quando da lock. os trem la a classe Uchiha e deps aaprecer um (.) e o rank ke vai de studant e kage como faço ? Share this post Link to post Share on other sites