Ir para conteúdo
  • Cadastre-se

Source L2Junity


Adramelech

Posts recomendados

Vasculhando por ai, Achei este projeto IO/Helios que por sinal é um ótimo projeto ainda em desenvolvimento. Achei bem interessante e resolvi compartilhar com vocês.

 

Traduzido pelo Google Tradutor.

 

 

Aqui vai ..

Em fonte L2JUnity Atualmente trabalha com Infinite Odyssey - subterrâneo, Sobre o iniciando um projeto dez vindo à Trabalhar 8 desenvolvedores, existem Mais de 3200 compromete Feitos desde 08 de fevereiro de 2015-04 de junho de 2016.
Desenvolvedores:
Sdw (1.083 commits / 2.338.519 ++ / 1.665.435 -)
St3eT (667 comete / 535,092 ++ / 517,004 -)
UnAfraid (608 comete / 828,562 ++ / 800,369 -)
Nos (573 commits / 4.235.126 ++ / 3.219.314 -)
Nik (353 comete / 153,029 ++ / 72,046 -)
malyelfik (56 commits / 129,455 ++ / 122,304 -)
Gladicek (54 comete / 20,322 ++ / 4878 -)
lion (9 commits / 5316 ++ / 3476 -)
Essa fonte E baseada no ramo Ertheia de L2JServer that sdw e eu começou.
Também não é Testado Como Servidor Ao Vivo, Pode ter erros, ou mesmo Problemas de Estabilidade, Uma Vez de Baixa-lo - Você esta no Seu PRÓPRIO país.
A fonte NÃO ESTÁ PRONTO PARA SERVIDOR AO VIVO, requer uma Implementação de Conteúdos, mas o Que foi implementado foi Feito Direito.
Essa participação e o primeiro e o Ultimo, uma vez que este é o fim do projeto.
Aqui deixo o link de fazer Repositório, parágrafo Baixo (DMCA ou outra merda) eu não vou apóia-lo.
Como compilar?
No Linux:
./gradlew distZip
No Windows:
gradlew.bat distZip
Boa sorte com isso.

 

Tutorial Gradle by TheHacker.

Clique Aqui!

 

Compilado L2JUnity

Baixe Aqui!

 

 

GeoData compartilhada pelos desenvolvedores, funcional em Infinite Odyssey e Classic!

Baixe Aqui!

 

Créditos: Na citação.

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


[TUTORIAL] - How compile l2JUnity Server with Eclipse?

Hi.

 

Here are steps for develop L2JUnity Server in Eclipse IDE.

 

1) Download sources from Bitbucket:

Code: Select all https://bitbucket.org/UnAfraid/l2junity/downloads

5_Bit_Bucket_Sourcesi.png

2) Unpack downloaded zip file (UnAfraid-l2junity-c076c9e7b0b9.zip) into any folder.

6_Source_Path.png

 

7_Source_Files.png

3) Replace authentication line in l2junity-commons project in build.gradle file:

10_Edit_Path.png

11_Build_Gradle.png

old lines:

Code: Select all authentication(userName: ossrhUsername, password: ossrhPassword)

new lines:

Code: Select all authentication(userName: hasProperty('ossrhUsername')?ossrhUsername:'', password: hasProperty('ossrhPassword')?ossrhPassword:'')

9_Replace_Text.png

4) Import to Eclipse IDE as Gradle Project:

12_Import_Gradle.png

12_Import_Gradle_2.png

12_Import_Gradle_3.png

5) Sources can be compiled from eclipse in Gradle tasks (distZip):

13_Gradle_build.png

14_build_successful_Gradle_build.png

6) After build, server files will be in folder:

Code: Select all l2junity-gameserver\build\distributions

15_server_files_path.png

16_server_files.png

 

If I made any mistake, plz inform me.

Thx L2JUnity team for their sources.

Thx for reading and GL icon_e_smile.gif

Last edited by GameFighter on 07 Jun 2016, 07:13, edited 1 time in total.

Projeto privado Lindvior - Ertheia


Source Godworld.



Ertheia -- > http://www.l2jbrasil.com/index.php?/topic/107157-l2-beta-ertheia/&do=findComment&comment=673397

Link para o comentário
Compartilhar em outros sites

"Privassem".... 12 euros, 1 euro por mes.... 3 Reais por mes e voces estao chorando... pelo amor de deus, voces tem dinheiro para bancar uma VM mas para conseguir 3 reais por mes nao?......

Eu não vejo problema em ser 5 reais por mês , mas no meu caso eu teria que pedir um cartão de crédito no banco só por causa de 5 míseros reais.

 

ridiculo por parte deles, aguardaram somente 1 projeto bom liberar para que eles aproveitassem e privassem o projeto deles, se eu conseguir a source faço questão de liberar em todos os foruns!

Esse L2jUnity é baseado na Mobius , só que juntaram uma equipe e fizeram um negócio mais organizado.

E-Mail: [email protected]
Skype: zoiobnu

signature.png

Link para o comentário
Compartilhar em outros sites

Eu não vejo problema em ser 5 reais por mês , mas no meu caso eu teria que pedir um cartão de crédito no banco só por causa de 5 míseros reais.

 

Esse L2jUnity é baseado na Mobius , só que juntaram uma equipe e fizeram um negócio mais organizado.

No paypal da pra fazer pagamentos diretos pelo banco, sem precisar de cartao :) alem disso tem como comprar em lojas "Credito" para ele..

 

L2jUnity nunca se juntou e nao ira no futuro proximo com Mobius, sao 2 projetos diferentes que no caso usam o Ertheia da L2jServer como base.

Link para o comentário
Compartilhar em outros sites

  • 3 weeks later...

Tenho a rev.9767 lindvior do matey, mas umas quests estao em russo, alguem pode me dizer como por em Inglês?

Obrigado!

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

  • 1 month later...
  • 2 weeks later...

Em si esse é um bom projeto com muitos fixes, porem há bastante coisa bugada e não adicionada pois o projeto esta meio cru (na versão free) alguns itens e roupas e skills estão adicionados no server porem sem status ou efeitos então isso complica um pouco, também há itens adicionado de forma errada e quests desatualizadas ou erradas, tambem falta algumas Html... oque vai fazer quem quer usar se esforçar um pouco, como não entendo muito não posso falar da parte interna do jogo como core e etc... mas creio que a versão paga do projeto que esta na versão atual do Lineage 2 muita das coisas que eu falei já devem esta corrigidas.

Link para o comentário
Compartilhar em outros sites

  • 3 weeks later...

Tenho a rev.9767 lindvior do matey, mas umas quests estao em russo, alguem pode me dizer como por em Inglês?

Obrigado!

 

Basicamente se vc não tem o código fonte, deverá substituir os arquivos "HTML" das quests que estão em Russo por arquivos semelhantes que estão em Inglês, se vc não tem arquivos traduzidos para o Inglês que sejam "semelhantes" ao arquivo original Russo (isso inclui descrição do arquivo "NOME do ARQUIVO" e o conteúdo deste arquivo) você deverá realizar a tradução manualmente, arquivo por arquivo. Lembrando que apenas o texto pode ser alterado os demais códigos que existirem dentro de cada arquivo html deverão permanecer como são.

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

  • 4 weeks later...
  • 1 month later...

Boa tarde galera, sabem me dizer se essa rev pode logar em rede local, estou tempo parado com l2 e vi que algumas revs n tem mais o ip interno e externo dentro do arquivo .properties, mas tem um arquivo configip no game server, coloquei minha ip local da maquina que uso pra logar de outra na rede pq a maquina q roda n consegue abrir o jogo e o server mas esta dando aquele erro hostname quando ele n encontra o servidor.

poderiam me dar uma força nessa configuração.

 

coloquei assim no arquivo default-ipconfig.xml

 

 

 

<?xml version="1.0" encoding="UTF-8"?>
<!-- Note: If file is named "ipconfig.xml" this data will be used as network configuration, otherwise server will configure it automatically! -->
<!-- Externalhost here (Internet IP) or Localhost IP for local test -->
<gameserver address="127.0.0.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../data/xsd/ipconfig.xsd">
<!-- Localhost here -->
<define subnet="127.0.0.0/8" address="127.0.0.1" />
<!-- Internalhosts here (LANs IPs) -->
<define subnet="10.0.0.3/8" address="10.0.0.3" /> << ip da minha maquina local
<define subnet="172.16.0.0/19" address="172.16.0.0" />
<define subnet="192.168.0.0/16" address="192.168.0.0" />
</gameserver>
Link para o comentário
Compartilhar em outros sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Processando...
  • 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.