Ir para conteúdo
  • Cadastre-se

[A.v.A] ~~ All vs All - Interlude EVENT.


Leonardo Alves ツ

Posts recomendados

E aí galera, me bateu a loucura de criar um evento que é todos contra todos, esse evento ocorre em uma área (FlagZone) configurável pelo admin em (zone.xml) basta saber.

E eu queria algumas sugestões, ele vai ser mais complexo do que mostra no vídeo é só um beta para que possam ver, se alguém tiver sugestões.

 

Vídeo:

 

http://www.youtube.c...h?v=9hICW9CANIk

 

Lembrando que não vou postar a fonte, e sim o código funcional para quem usa minha rev, acho que isso não é contra as regras né?

Tópico: http://www.l2jbrasil...ises-copiladas/

 

Andamento:

HTML's - 95%

CORE - 90%

 

Algumas imagems:

iyElT0e.jpg

y6GH7fv.jpg

mfQAnwY.jpg

hFmRCH1.jpg

y1iChcC.jpg

X29Jelw.jpg

 

TÓPICO ATUALIZADO 29/08/2013 | 01:33

 

Opinem, critiquem, sugiram, tudo para melhoria, breve l2jdynasty vai ter mais coisas inéditas.

 

System By: Leonardo Alves

System Base By: Axcel Kunh ( LastMan )

Editado por sapoo
Link para o comentário
Compartilhar em outros sites


Tem que colocar um npc pro evento, porque esa janela que sai quando vai comeca o registro do npc, fica chata para quem ta farmando, tretando etc.. :/

 

So uma dica :)

Npc será semelhante a este:

9PJ9UXX.jpg

 

O Vídeo é só uma "carcaça" do evento, se não fosse haver mudanças eu não teria iniciado o desenvolvimento para aguardar mais opiniões :).

O Código já está meio grande, pois envolve uma novo arquivo ligado a zone.xml e todas as html serão editáveis.

Link para o comentário
Compartilhar em outros sites

mano da para fazer o seguinte: quando for evento tvt ele aparece só o join do tvt... quando for ctf, aparece só ctf e ai vai... :D acredito ficar mais "legal"

O Wallace Carvalho sugeriu a mesma coisa e é isso que estou fazendo ;).

Breve eu posto mais screens ou talvez um novo vídeo, vou fazer até uma nova janela para o personagem "GM". Que lá ele poderá ativar ou desativar um evento, mais acho que vai me dar trabalho hehehe, obrigado pela sugestão torneto.

Link para o comentário
Compartilhar em outros sites

Licensa mas all vs all seria uma sobrevivencia certo? é praticamente um DM ?

Um mundo de diversão no Lineage 2

https://www.primeworld.com.br

Discord: Em breve

Comunidade brasileira de Lineage. Interlude Remastered / High Five / Essence 

Classes remasterizadas, sistemas únicos, diversão garantida.

Link para o comentário
Compartilhar em outros sites

 

Sabe o que eu pensei algo tipo que nem os servers de sobrevivência de Minecraft HEUHEUEHUEHUEH ,

que você pode farma todo dia normal, só que de dia você pode farma e ninguém atacar e a NOITE , qualquer um pode matar a vontade.

 

Então seria de dia, ninguém consegue atacar, e a noite consegue vamos dizer

 

para L2.

 

Não daria pra atacar quando de dia, e de noite aparecia tipo um Announce falando algo do tipo "Período PvP & Pk Liberado" e quando a noite acabar "Período de PvP & Pk acabou" pra tirar pvp e Pk XD

 

Só foi algo que pensei XD

Editado por luan5415438543514

XD

Link para o comentário
Compartilhar em outros sites

Licensa mas all vs all seria uma sobrevivencia certo? é praticamente um DM ?

É porém o brinde é feito em bypass com uma janela com 3 opções o jogador escolhe uma delas.

E esse é assim o ultimo vivo, quando você morre, automaticamente você está desclassificado do evento.

 

Sabe o que eu pensei algo tipo que nem os servers de sobrevivência de Minecraft HEUHEUEHUEHUEH ,

que você pode farma todo dia normal, só que de dia você pode farma e ninguém atacar e a NOITE , qualquer um pode matar a vontade.

 

Então seria de dia, ninguém consegue atacar, e a noite consegue vamos dizer

 

para L2.

 

Não daria pra atacar quando de dia, e de noite aparecia tipo um Announce falando algo do tipo "Período PvP & Pk Liberado" e quando a noite acabar "Período de PvP & Pk acabou" pra tirar pvp e Pk XD

 

Só foi algo que pensei XD

Interessante, mais preciso procurar no core onde é ligado a noite e dia isso não fica difícil de se fazer se eu achar o arquivo. Obrigado pela sugestão.

Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...

Tópico atualizado pessoal com algumas imagens, desculpem a demora, estou trabalhando em algo de qualidade.

E as htmls até então não tenho autorização para postar o .utx , se alguém tiver afim de dar uma mão nas htmls fico grato.

Bom o evento está praticamente 100% só falta reconhecer o player morto e remover ele do evento, eu adicionei umas funções para não dropar se tiver no local do evento entre outros,

e o evento está configurado na área do benom, quando o jogador entra fica flegado.

É tipo, morreu perdeu.

 

@ Luan, sua dica ou sugestão foi útil mais até então, não consegui nada relacionado a isso, caso conseguir eu estarei re-postando aqui. Agradeço compreensão, peço que não fiquem com flood ( quando vai sair e blablabla ) pois eu tenho vida pessoal também e o tempo tá curto, quanto mais cobrarem mais eu vou demorar para atualizar, rsrs...

 

Obrigado a todos, breve mais informações.

Att: Leonardo A.

Editado por sapoo
Link para o comentário
Compartilhar em outros sites

@ Luan, sua dica ou sugestão foi útil mais até então, não consegui nada relacionado a isso, caso conseguir eu estarei re-postando aqui. Agradeço compreensão, peço que não fiquem com flood ( quando vai sair e blablabla ) pois eu tenho vida pessoal também e o tempo tá curto, quanto mais cobrarem mais eu vou demorar para atualizar, rsrs...

 

Da pra fazer mas pelo tempo do jogo a noite é pequena ai não rola a não ser que altere o relógio pra funcionar como no horário normal mas ai da problema pra alguns mobs .-.

Link para o comentário
Compartilhar em outros sites

Amigo vai ser para Frozen?

belo desenvolvimento mereceu meu like :D

Seria bom ler o tópico a fonte não será disponibilizado apenas o arquivo compilado.

Lembrando que não vou postar a fonte, e sim o código funcional para quem usa minha rev, acho que isso não é contra as regras né?

 

Da pra fazer mas pelo tempo do jogo a noite é pequena ai não rola a não ser que altere o relógio pra funcionar como no horário normal mas ai da problema pra alguns mobs .-.

Nem to muito ligado nesses paranauê , e se dá problemas nos mods é melhor evitar vou ver o que faço aqui. Qualquer coisa eu te do um toque ai.

Link para o comentário
Compartilhar em outros sites

Nem to muito ligado nesses paranauê , e se dá problemas nos mods é melhor evitar vou ver o que faço aqui. Qualquer coisa eu te do um toque ai.

 

Não é problema no Mod em si é os mobs noturno que vão demorar + nascer só issu .-.

Link para o comentário
Compartilhar em outros sites

Não é problema no Mod em si é os mobs noturno que vão demorar + nascer só issu .-.

Eu procurei algo nesse arquivo "DayNightSpawnManager" para a ligação mais acho que não é ali, tem alguma sugestão de onde posso olhar?.

Link para o comentário
Compartilhar em outros sites

Procura pelos mobs que dão spawn somente a noite tem umas void no pcinstance pra eles que identifica e anoite da spawn neles .-. tenta usar isso '-'

Essa parada ligação com Day & Night tá complicado se você puder me dar uma mão lá no skype aqui no fórum via MP ou onde for eu vou agradecer, aí eu posto duas opções para o pessoal, ou me dizer quais são as voids eu não achei nada ligado a spawn no l2pcinstance da l2jdynasty ( base l2jserver ) . Vou continuar procurando, mais daquele jeito. (;.

 

O código está com quase 900 linhas, já tá grande mesmo, mais todas as sugestões serão bem vindas, se alguém tiver mais alguma que se manifeste.

Vou por dois tipos de reward opcional, acredito que vão gostar, galera breve eu vou estar fazendo um outro vídeo do evento mais complexo.

Link para o comentário
Compartilhar em outros sites

 

Os Spawn varia da dream tem no pcinstance pq eu coloquei rsrs .-.

 

Mas o normal é no GameTimeController configura ele pra pegar o tempo real e da pra colocar, no Hi5 já tem as constantes que são isNowNight & isNowDay que vc pode usar '-'

Link para o comentário
Compartilhar em outros sites

  • 1 month later...

kkk nem terminei o negocio estou sem pc pra trabalhar =/ não vou trancar o tópico mais espero que não dê floods eu tenho o código quase 100% e quando eu estiver voltando nessa área vou postar pois já é o segundo que não deu pra terminar e isso não pode ficar assim...

peço que não aumentem o tópico e sim aguardem, caso contrário eu deixo ele trancado.

 

obrigado a todos.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
  • 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.