Ir para conteúdo
  • Cadastre-se

[Tutorial] Fazendo area paz ou PvP.


ILastHeroI

Posts recomendados

Bom galera...

 

Venho postar meu primeiro tutorial...

 

Como fazendo uma área paz ou PvP.

 

A área q iremos colocar como PvP ou paz terá o formato retangular, então usaremos o seguinte exemplo:

 

1_________________2

|

|

|

|

|

|

3_________________4

 

Vá ao ponto 1 e pegue as localizações (/loc)

 

Em seguida ao ponto 4 e as anote.

 

Agora va ao arquivo zone.xml para criar a nova área, Por exemplo:

 

Para a área PvP:

 

<zone id='11039' type='Arena' shape='Cuboid' minZ='-10300' maxZ='-11400'>
	<stat name='name' val='Arena'/>
	<stat name='spawnX' val='147725'/>
	<stat name='spawnY' val='-56517'/>
	<stat name='spawnZ' val='-2780'/>
</zone>

 

		<stat name='spawnX' val='147725'/>
	<stat name='spawnY' val='-56517'/>
	<stat name='spawnZ' val='-2780'/>

Estas coordenadas irão determinar onde o player ira nascer após morrer.

 

Para a área paz:

 

<zone id='11038' type='Town' shape='Cuboid' minZ='-11550' maxZ='-11700'>
	<stat name='name' val='Area Paz'/>
	<stat name='townId' val='33'/>
	<spawn X='87713' Y='254808' Z='-11672'/>
	<spawn X='83388' Y='259144' Z='-11672'/>
</zone>

 

Na opção minZ nos escreveremos a nossa minZ, irei explicar :

 

A coordenada Z da minha area é -11672 assim que eu escrevo -11550 no meu minZ ...

no meu MaxZ eu tenho coord -11672 assim que eu escrever o meu máximo -11700.

 

Agora vamos para a ultima parte... A zone_vertices.sql

 

Na primeira coluna colocamos o ID da cidade. A minha é 11038 e 11039. Para a coluna order coloque o valor 0.

 

E onde está x e y nós escrevemos o nossas coordenadas x e y.

O meu da area paz é 87713 e 254808.

 

Agora crie uma outra linha e escrever de novo ID, order 1. E escrever as coordenadas x1 e y1

O meu da area paz é 83388 e 259144.

 

E isso ae pessoal.

 

 

Créditos: Bauwbas (L2TopZone)

 

Proibida a reprodução mesmo que em partes desse tutorial sem a publicação dos devidos créditos de criação

 

Garantido pela Constituição da República Federativa do Brasil, de 05 de outubro de 1988

Portaria MCT n° 88, de 23/04/98

Propriedade Intelectual

Editado por Nattan Felipe
Adicionando créditos.

l2hell.jpg

www.l2hell.com.br

Msn: [email protected]

Link para o comentário
Compartilhar em outros sites


Muito bom esse seu tutorial, porém, creio que só aqueles que tem mais "experiência" com o l2j que conseguirão entender e interpretar tudo (:

Para os iniciantes, esse tutorial está meio "complexo", mais tá completim, parabéns ! wink.gif

Caso tenha alguma sugestão para aplicativos, por favor envie por MP.

 WhatsApp: 22 98156-2591 

L2JDREAM PROJECT

Link para o comentário
Compartilhar em outros sites

  • 4 weeks later...

Até hoje nunca ví esse tuto ;D parabens, o que eu sabia era adicionar a linha no lugar desejado:

<stat name='noPeacezone' val='True'/> é alguma coisa assim não me lembro direito

Editado por CaioCrs

Meu Proxímo Passo:

Designer Profissional

hkzbi.jpg

Halo Combat Evolved Fan ;D

Link para o comentário
Compartilhar em outros sites

  • 3 months later...

A 2 dias tentando colocar uma zona paz e até agora não conseguir, já vi várias vezes se esqueci de alguma coisa

Mas nada --", estou tentando colocar Giran Harbor como uma área paz.

Se alguém souber mim ajudar, eu agradeço :D

 

===================================================================================

Tentei tentei e nada, acabei desistindo. ahsuahsuahs

Da um erro aqui e tentei outras formas, mas nada.

Editado por julianopimentel

--"

Link para o comentário
Compartilhar em outros sites

  • 1 month later...

poderia explicar um pouquinho mas sobre as coordenadas do spawn qndo nascer e sobre o id da area , o id da area temos que criar ou usar uma id pre existente , ex; quero transformar hunters e area de pvp ,tenho que uzar a id da town hunter ou criar uma id pra essa area em hunter a qual quero transformar ?

ciências da computação e uma arte , Estudar e compilar Faz Parte :)

Link para o comentário
Compartilhar em outros sites

  • 3 months later...

Cara eu nao entendi foi nada disso!

 

pode me explicar melhor???

 

de onde vieram esses numeros? onde fala que essa area seria uma zona de paz? town id posso colocar uma nova ou tenho que colocar de algun lugar especifico? e a zone id nova ou algum especifico?

 

<zone id='11038' type='Town' shape='Cuboid' minZ='-11550' maxZ='-11700'>

 

<stat name='townId' val='33'/>

 

ex: se eu quisesse add em um lugar de goddard tipo hot springs como eu deveria fazer?

Editado por xdemo

Estudante de Sistemas de informação

Link para o comentário
Compartilhar em outros sites

  • 2 months later...
  • 1 month later...

Agora va ao arquivo zone.xml para criar a nova área, Por exemplo:

 

Para a área PvP:

 

<zone id='11039' type='Arena' shape='Cuboid' minZ='-10300' maxZ='-11400'>

<stat name='name' val='Arena'/>

<stat name='spawnX' val='147725'/>

<stat name='spawnY' val='-56517'/>

<stat name='spawnZ' val='-2780'/>

</zone>

 

<stat name='spawnX' val='147725'/>

<stat name='spawnY' val='-56517'/>

<stat name='spawnZ' val='-2780'/>

Estas coordenadas irão determinar onde o player ira nascer após morrer.

Entaum para area pvp e so mecher nisso ner???

mas ainda tenho um pouco de duvi nisso aqui

<zone id='11039' minZ='-10300' maxZ='-11400'>

Link para o comentário
Compartilhar em outros sites

  • 6 months later...
  • 4 weeks later...

E eu que criava parte por parte u,U"

Para que assinatura?

Se tudo que eu coloco é restringido ?

-------------------------------------------------------------------------------------

Está afim de um Painel, totalmente grátis, onde você pode gerenciar seus players,

Clique aqui, Se gosto curte, deu erro ou bugs? Comenta.
Link para o comentário
Compartilhar em outros sites

  • 8 months later...
  • 2 weeks later...

...

Valeu jhow, já arrumei os créditos do tópico. Eu lamento muito por isso não ter sido ajeitado antes.

 

Obrigado por reportar!

Você sabia que a L2JBrasil tem uma empresa de Hosting Oficial?
Conheça a L2JCenter.com

L2JBRASIL - 15 anos vendendo SS e flechas em Giran! (Trade / Adena)

Link para o comentário
Compartilhar em outros sites

  • 1 month later...
  • 4 months later...

Valeu jhow, já arrumei os créditos do tópico. Eu lamento muito por isso não ter sido ajeitado antes.

 

Obrigado por reportar!

Legal vcs editarem meu post ....

Eu postei isso em 2011 com ajuda de um amigo, antes de eu deixar a vida de L2 para estudar, nunca tinha encontrado em nenhum outro local e ele veio e me ajudou, foram vários dias de erros e acertos até conseguirmos a minha areá paz e logo descobri que também poderia fazer a area pvp, agora vcs trocam os créditos ...

Não sei se ele olhou de algum outro local, pois não chegou a me informar, mas resolvi postar aqui, por não ter nada parecido ...

De uma olhada na data que o outro post foi realizado, e se for antes deste meu concordarei com o credito.

 

Aos que não conseguiram fazer a "Area Paz ou Pvp", me desculpem, eu iria fazer um vídeo detalhado, mas não tive tempo e tive que parar com o L2, hoje eu poderia arrumar um tempo, mas não lembro direito como que sé faz =/.

 

Obrigado !.

Editado por ILastHeroI

l2hell.jpg

www.l2hell.com.br

Msn: [email protected]

Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...
  • 2 months later...
  • 10 months later...

 

Isso e um mod que você tem que adicionar.

 

Olha esse tópico.. www.l2jbrasil.com/.../topic/97153-pvp-flag-zone/ e só adaptar

 

------

 

Muto bom o tutorial se ler direito entende..

Editado por K4K4SH1

"A derrota só é eterna quando você desiste!"

Link para o comentário
Compartilhar em outros sites

  • Registre-se

    Faça parte da maior e  mais antigas comunidades sobre Lineage2 da América Latina.





  • Patrocinadores

  • Quem Está Navegando

    • Nenhum usuário registrado visualizando esta página.
  • Posts

    • Teria como fazer do dusk shield e do zombie shield dessa maneira?     Teria como fazer do dusk shield e do zombie shield dessa maneira?     Teria como fazer do dusk shield e do zombie shield dessa maneira?     Teria como fazer do dusk shield e do zombie shield dessa maneira?     Teria como fazer do dusk shield e do zombie shield dessa maneira?     Teria como fazer do dusk shield e do zombie shield dessa maneira?    
    • muchas gracias muy lindos NPC 🙂
    • relaxa jovem gafanhoto, testa as quests. e posTa os erros indesejaveis.  
    • Se alguém pudesse me ensinar como codificar as missões, eu ficaria feliz em fazer isso sozinho ou pelo menos ajudar. Eu realmente quero jogar em um servidor onde todas as quests funcionem bem e melhor ainda se você puder fazer quests customizadas!
    • mas no interlude, nem todas as quests de class,  vai mostrar onde tem que ir, ate o reborn nao mostrava quando era interlude, só mostrou depois que eles colocaram client classic pra rodar, e ficou melhor ainda quando virou hellbound em diante, mas ha sim alguma chance de modificar isso direto no script para fazer igualmente, só basta te um pouco de paciencia e persistencia exato
    • 408_PathToElvenwizard dá Orion eu tive que mexer tbm, até modifiquei e consegui deixar ela igual do Classic, com a seta e a marcação no mapa. (não retail IL) Dá pra importar py de várias revs, o foda é que não da regular as quest py através do debug em tempo real, pelo menos eu não consegui rsrs
    • Hasta el momento todas las QUESTS son completables si te guias con un tutorial de youtube. El problema es que tienen bugs de locacion y de subquests que no avanzan o no te marcan correctamente a donde ir en el mapa, cosa que en Retail si se ve como corresponde.
    • estranho, mas pelo menos a galera nunca reclamo das quests quando tinha aberto 5x, geral fez class primeira e segunda job, poucos que compraram a class
    • en RUSaCis-3.5 data pack, las Quests estan en formato .java y son diferentes a como estan redactadas en jOrion y jFrozen 1.5 (ProyectX) package net.sf.l2j.gameserver.scripting.quest; import net.sf.l2j.commons.random.Rnd; import net.sf.l2j.gameserver.enums.Paperdoll; import net.sf.l2j.gameserver.enums.QuestStatus; import net.sf.l2j.gameserver.enums.actors.ClassId; import net.sf.l2j.gameserver.model.actor.Creature; import net.sf.l2j.gameserver.model.actor.Npc; import net.sf.l2j.gameserver.model.actor.Player; import net.sf.l2j.gameserver.network.serverpackets.SocialAction; import net.sf.l2j.gameserver.scripting.QuestState; public class Q224_TestOfSagittarius extends SecondClassQuest { private static final String QUEST_NAME = "Q224_TestOfSagittarius"; // Items private static final int BERNARD_INTRODUCTION = 3294; private static final int HAMIL_LETTER_1 = 3295; private static final int HAMIL_LETTER_2 = 3296; private static final int HAMIL_LETTER_3 = 3297; private static final int HUNTER_RUNE_1 = 3298; private static final int HUNTER_RUNE_2 = 3299; private static final int TALISMAN_OF_KADESH = 3300; private static final int TALISMAN_OF_SNAKE = 3301; private static final int MITHRIL_CLIP = 3302; private static final int STAKATO_CHITIN = 3303; private static final int REINFORCED_BOWSTRING = 3304; private static final int MANASHEN_HORN = 3305; private static final int BLOOD_OF_LIZARDMAN = 3306; private static final int CRESCENT_MOON_BOW = 3028; private static final int WOODEN_ARROW = 17; // Rewards private static final int MARK_OF_SAGITTARIUS = 3293; // NPCs private static final int BERNARD = 30702; private static final int HAMIL = 30626; private static final int SIR_ARON_TANFORD = 30653; private static final int VOKIAN = 30514; private static final int GAUEN = 30717; // Monsters private static final int ANT = 20079; private static final int ANT_CAPTAIN = 20080; private static final int ANT_OVERSEER = 20081; private static final int ANT_RECRUIT = 20082; private static final int ANT_PATROL = 20084; private static final int ANT_GUARD = 20086; private static final int NOBLE_ANT = 20089; private static final int NOBLE_ANT_LEADER = 20090; private static final int BREKA_ORC_SHAMAN = 20269; private static final int BREKA_ORC_OVERLORD = 20270; private static final int MARSH_STAKATO_WORKER = 20230; private static final int MARSH_STAKATO_SOLDIER = 20232; private static final int MARSH_STAKATO_DRONE = 20234; private static final int MARSH_SPIDER = 20233; private static final int ROAD_SCAVENGER = 20551; private static final int MANASHEN_GARGOYLE = 20563; private static final int LETO_LIZARDMAN = 20577; private static final int LETO_LIZARDMAN_ARCHER = 20578; private static final int LETO_LIZARDMAN_SOLDIER = 20579; private static final int LETO_LIZARDMAN_WARRIOR = 20580; private static final int LETO_LIZARDMAN_SHAMAN = 20581; private static final int LETO_LIZARDMAN_OVERLORD = 20582; private static final int SERPENT_DEMON_KADESH = 27090; public Q224_TestOfSagittarius() { super(224, "Test Of Sagittarius"); setItemsIds(BERNARD_INTRODUCTION, HAMIL_LETTER_1, HAMIL_LETTER_2, HAMIL_LETTER_3, HUNTER_RUNE_1, HUNTER_RUNE_2, TALISMAN_OF_KADESH, TALISMAN_OF_SNAKE, MITHRIL_CLIP, STAKATO_CHITIN, REINFORCED_BOWSTRING, MANASHEN_HORN, BLOOD_OF_LIZARDMAN, CRESCENT_MOON_BOW); addQuestStart(BERNARD); addTalkId(BERNARD, HAMIL, SIR_ARON_TANFORD, VOKIAN, GAUEN); addMyDying(ANT, ANT_CAPTAIN, ANT_OVERSEER, ANT_RECRUIT, ANT_PATROL, ANT_GUARD, NOBLE_ANT, NOBLE_ANT_LEADER, BREKA_ORC_SHAMAN, BREKA_ORC_OVERLORD, MARSH_STAKATO_WORKER, MARSH_STAKATO_SOLDIER, MARSH_STAKATO_DRONE, MARSH_SPIDER, ROAD_SCAVENGER, MANASHEN_GARGOYLE, LETO_LIZARDMAN, LETO_LIZARDMAN_ARCHER, LETO_LIZARDMAN_SOLDIER, LETO_LIZARDMAN_WARRIOR, LETO_LIZARDMAN_SHAMAN, LETO_LIZARDMAN_OVERLORD, SERPENT_DEMON_KADESH); } @Override public String onAdvEvent(String event, Npc npc, Player player) { String htmltext = event; QuestState st = player.getQuestList().getQuestState(QUEST_NAME); if (st == null) return htmltext; // BERNARD if (event.equalsIgnoreCase("30702-04.htm")) { st.setState(QuestStatus.STARTED); st.setCond(1); playSound(player, SOUND_ACCEPT); giveItems(player, BERNARD_INTRODUCTION, 1); if (giveDimensionalDiamonds39(player)) htmltext = "30702-04a.htm"; } // HAMIL else if (event.equalsIgnoreCase("30626-03.htm")) { st.setCond(2); playSound(player, SOUND_MIDDLE); takeItems(player, BERNARD_INTRODUCTION, 1); giveItems(player, HAMIL_LETTER_1, 1); } else if (event.equalsIgnoreCase("30626-07.htm")) { st.setCond(5); playSound(player, SOUND_MIDDLE); takeItems(player, HUNTER_RUNE_1, 10); giveItems(player, HAMIL_LETTER_2, 1); } // SIR_ARON_TANFORD else if (event.equalsIgnoreCase("30653-02.htm")) { st.setCond(3); playSound(player, SOUND_MIDDLE); takeItems(player, HAMIL_LETTER_1, 1); } // VOKIAN else if (event.equalsIgnoreCase("30514-02.htm")) { st.setCond(6); playSound(player, SOUND_MIDDLE); takeItems(player, HAMIL_LETTER_2, 1); } return htmltext; } @Override public String onTalk(Npc npc, Player player) { String htmltext = getNoQuestMsg(); QuestState st = player.getQuestList().getQuestState(QUEST_NAME); if (st == null) return htmltext; switch (st.getState()) { case CREATED: if (player.getClassId() != ClassId.ROGUE && player.getClassId() != ClassId.ELVEN_SCOUT && player.getClassId() != ClassId.ASSASSIN) htmltext = "30702-02.htm"; else if (player.getStatus().getLevel() < 39) htmltext = "30702-01.htm"; else htmltext = "30702-03.htm"; break; case STARTED: int cond = st.getCond(); switch (npc.getNpcId()) { case BERNARD: htmltext = "30702-05.htm"; break; case HAMIL: if (cond == 1) htmltext = "30626-01.htm"; else if (cond == 2 || cond == 3) htmltext = "30626-04.htm"; else if (cond == 4) htmltext = "30626-05.htm"; else if (cond > 4 && cond < 8) htmltext = "30626-08.htm"; else if (cond == 8) { htmltext = "30626-09.htm"; st.setCond(9); playSound(player, SOUND_MIDDLE); takeItems(player, HUNTER_RUNE_2, 10); giveItems(player, HAMIL_LETTER_3, 1); } else if (cond > 8 && cond < 12) htmltext = "30626-10.htm"; else if (cond == 12) { htmltext = "30626-11.htm"; st.setCond(13); playSound(player, SOUND_MIDDLE); } else if (cond == 13) htmltext = "30626-12.htm"; else if (cond == 14) { htmltext = "30626-13.htm"; takeItems(player, BLOOD_OF_LIZARDMAN, -1); takeItems(player, CRESCENT_MOON_BOW, 1); takeItems(player, TALISMAN_OF_KADESH, 1); giveItems(player, MARK_OF_SAGITTARIUS, 1); rewardExpAndSp(player, 54726, 20250); player.broadcastPacket(new SocialAction(player, 3)); playSound(player, SOUND_FINISH); st.exitQuest(false); } break; case SIR_ARON_TANFORD: if (cond == 2) htmltext = "30653-01.htm"; else if (cond > 2) htmltext = "30653-03.htm"; break; case VOKIAN: if (cond == 5) htmltext = "30514-01.htm"; else if (cond == 6) htmltext = "30514-03.htm"; else if (cond == 7) { htmltext = "30514-04.htm"; st.setCond(8); playSound(player, SOUND_MIDDLE); takeItems(player, TALISMAN_OF_SNAKE, 1); } else if (cond > 7) htmltext = "30514-05.htm"; break; case GAUEN: if (cond == 9) { htmltext = "30717-01.htm"; st.setCond(10); playSound(player, SOUND_MIDDLE); takeItems(player, HAMIL_LETTER_3, 1); } else if (cond == 10) htmltext = "30717-03.htm"; else if (cond == 11) { htmltext = "30717-02.htm"; st.setCond(12); playSound(player, SOUND_MIDDLE); takeItems(player, MANASHEN_HORN, 1); takeItems(player, MITHRIL_CLIP, 1); takeItems(player, REINFORCED_BOWSTRING, 1); takeItems(player, STAKATO_CHITIN, 1); giveItems(player, CRESCENT_MOON_BOW, 1); giveItems(player, WOODEN_ARROW, 10); } else if (cond > 11) htmltext = "30717-04.htm"; break; } break; case COMPLETED: htmltext = getAlreadyCompletedMsg(); break; } return htmltext; } @Override public void onMyDying(Npc npc, Creature killer) { final Player player = killer.getActingPlayer(); final QuestState st = checkPlayerState(player, npc, QuestStatus.STARTED); if (st == null) return; switch (npc.getNpcId()) { case ANT: case ANT_CAPTAIN: case ANT_OVERSEER: case ANT_RECRUIT: case ANT_PATROL: case ANT_GUARD: case NOBLE_ANT: case NOBLE_ANT_LEADER: if (st.getCond() == 3 && dropItems(player, HUNTER_RUNE_1, 1, 10, 500000)) st.setCond(4); break; case BREKA_ORC_SHAMAN: case BREKA_ORC_OVERLORD: if (st.getCond() == 6 && dropItems(player, HUNTER_RUNE_2, 1, 10, 500000)) { st.setCond(7); giveItems(player, TALISMAN_OF_SNAKE, 1); } break; case MARSH_STAKATO_WORKER: case MARSH_STAKATO_SOLDIER: case MARSH_STAKATO_DRONE: if (st.getCond() == 10 && dropItems(player, STAKATO_CHITIN, 1, 1, 100000) && player.getInventory().hasItems(MANASHEN_HORN, MITHRIL_CLIP, REINFORCED_BOWSTRING)) st.setCond(11); break; case MARSH_SPIDER: if (st.getCond() == 10 && dropItems(player, REINFORCED_BOWSTRING, 1, 1, 100000) && player.getInventory().hasItems(MANASHEN_HORN, MITHRIL_CLIP, STAKATO_CHITIN)) st.setCond(11); break; case ROAD_SCAVENGER: if (st.getCond() == 10 && dropItems(player, MITHRIL_CLIP, 1, 1, 100000) && player.getInventory().hasItems(MANASHEN_HORN, REINFORCED_BOWSTRING, STAKATO_CHITIN)) st.setCond(11); break; case MANASHEN_GARGOYLE: if (st.getCond() == 10 && dropItems(player, MANASHEN_HORN, 1, 1, 100000) && player.getInventory().hasItems(REINFORCED_BOWSTRING, MITHRIL_CLIP, STAKATO_CHITIN)) st.setCond(11); break; case LETO_LIZARDMAN: case LETO_LIZARDMAN_ARCHER: case LETO_LIZARDMAN_SOLDIER: case LETO_LIZARDMAN_WARRIOR: case LETO_LIZARDMAN_SHAMAN: case LETO_LIZARDMAN_OVERLORD: if (st.getCond() == 13) { if (((player.getInventory().getItemCount(BLOOD_OF_LIZARDMAN) - 120) * 5) > Rnd.get(100)) { playSound(player, SOUND_BEFORE_BATTLE); takeItems(player, BLOOD_OF_LIZARDMAN, -1); addSpawn(SERPENT_DEMON_KADESH, player, false, 300000, true); } else dropItemsAlways(player, BLOOD_OF_LIZARDMAN, 1, 0); } break; case SERPENT_DEMON_KADESH: if (st.getCond() == 13) { if (player.getInventory().getItemIdFrom(Paperdoll.RHAND) == CRESCENT_MOON_BOW) { st.setCond(14); playSound(player, SOUND_MIDDLE); giveItems(player, TALISMAN_OF_KADESH, 1); } else addSpawn(SERPENT_DEMON_KADESH, player, false, 300000, true); } break; } } }  
×
×
  • Criar Novo...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.