RedFil 0 #1 Postado 5 Outubro, 2009 (editado) 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: Editado 6 Outubro, 2009 por RedFil Compartilhar este post Link para o post Compartilhar em outros sites
Gpwjhlkdcf 21 #2 Postado 8 Outubro, 2009 Tópico Aprovado e Movido para Scripting > Tutoriais > Outros Tutoriais. Padrão de Qualidade: OK Compartilhar este post Link para o post Compartilhar em outros sites
Lordness 0 #3 Postado 1 Novembro, 2009 blz... mais onde vai ta esse NPC? :/ Compartilhar este post Link para o post Compartilhar em outros sites
Proviem 0 #4 Postado 25 Novembro, 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 Compartilhar este post Link para o post Compartilhar em outros sites
Knnabbs 0 #5 Postado 26 Novembro, 2009 (editado) 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 Editado 26 Novembro, 2009 por Knnabbs Compartilhar este post Link para o post Compartilhar em outros sites
Knnabbs 0 #6 Postado 26 Novembro, 2009 (editado) 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 Editado 27 Novembro, 2009 por Knnabbs Compartilhar este post Link para o post Compartilhar em outros sites
Mathews157 0 #7 Postado 4 Dezembro, 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. Compartilhar este post Link para o post Compartilhar em outros sites
god guizao 0 #8 Postado 20 Dezembro, 2009 Ai, boa idéia, mais o que isso beneficiara o player? Compartilhar este post Link para o post Compartilhar em outros sites
subzerokmf 0 #9 Postado 8 Janeiro, 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 'ÿ' Compartilhar este post Link para o post Compartilhar em outros sites
Eternos 0 #10 Postado 2 Fevereiro, 2010 Vlww te amoo cara era oque eu tava procurando, e otra ele nao some a second quando desloga muito bom mesmo vlw's Compartilhar este post Link para o post Compartilhar em outros sites
kaiquefb 0 #11 Postado 27 Fevereiro, 2010 Peeeeeeeeeerfeito, funciono direitinho aqui. Compartilhar este post Link para o post Compartilhar em outros sites
SkyFail 0 #12 Postado 20 Agosto, 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 ? Compartilhar este post Link para o post Compartilhar em outros sites