Ir para conteúdo
  • Cadastre-se

Source aCis 364+ Diff 363/364


Bian

Posts recomendados

Gente tudo bem? feliz 2017 pra geral... Então, a acis já tem as quest's funcionando? Desculpa muito tempo parado to meio desatualizado!

Editado por Xulapa

” O segredo do sucesso eu não sei, mas a razão do fracasso é tentar agradar a todos.”

Link para o comentário
Compartilhar em outros sites


Boa noite, primeira mente obrigado por compartilha a source.

Bem, (minha opinião) no projeto L2jAcis ele é o mais perto do l2off por gráfico e jogabilidade, trazendo leveza na hora de rodar, simples de mexer, trabalhoso porem simples.

Gosto dela pois muitas consultas são em XML pois isso o recurso de memória é reduzido a menos que outras enquanto algumas roda 920 megas sem geodata a Acis roda a 125 megas sem geodata só ai já se vee diferença.

 

É um projeto que esta a anos, sim porem entendo a vida de desenvolvedores trabalharem de graça não da realmente o que seria legal mesmo era se todos que gostam dessa rev se unirem e trabalharem no mesmo propósito ai sim as coisas andariam mais rápido. Mas como vejo projeto que a galera se unem e fica muito bom logo logo fica privado ai já sabe projeto morre !!!!!!!

e eu já vi isso acontecer desde que eu aprendi a mexer com l2.

 

 

Ai Será que alguém ai já teria Zaken e Frintezza para essa atualização só diff .....

 

 

Bem estava add um mod aqui no meu projeto de aiox na restrição percebi que fora da cidade as skills não funcionava elas ficavam apagadas e chegando a cidade ela voltava ao normal.

Então tive uma ideia da Rev God as skills ela só ativa quando o personagem esta com a arma certa nas mãos, se alguém que tenha mais xp pudesse fazer essa diff eu com pouco xp estou testando algumas coisas.

Mas além de fazer essa parte na core ainda tem a xmls .

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

Olá gente, então, queria pedir a ajuda da galera ai pois estou com algumas dúvidas, será que a acis não possui um repositório oficial tipo no git ou os antigos svn?

 

Andei pesquisando mas não achei muita coisa solida, pois vejo que a galera solta as diffs, e compartilha o projeto free, e isso é bacana, mas ai tava pensando, se a gente unisse essas ultimas diffs e criasse um git publico, que seria responsável por adicionar as diffs e a galera atualizar, assim cada um teria acesso ao git e enviaria as atualizações que bem entenderem. E assim a propria galera que gerencia a acis poderia aproveitar alguma coisa que fosse interessante para o desenvolvimento oficial do projeto.

 

A minha ideia é só organizar e ter um ponto em comum, pois caso algum desenvolvedor faça algum mod e se sinta no seu direito de preservar aquilo que fez ou compartilhar com a galera ele terá essa liberdade, assim pode manter um tópico da sua própria rev aqui, onde pode tirar duvidas, receber sugestões, etc..

Bom essa é minha ideia e a outra ajuda que queria pedir é que to muito interessado em estar mexendo na área de l2 novamente, e como desenvolvedor quero estar desenvolvendo na área de mods e eventos, porem to um desligado um pouco da área java, ai queria saber se alguém poderia me dar um help, que tem algum projeto que trabalha nele, só para a gente interagir e assim eu conseguir alcançar um mindset mais voltado para esse dev.

 

E tipo, vou ter um server onde quero testar essas aplicações, mas minha intenção é compartilhar tudo que desenvolver.

 

Atualmente to garrado nessa parte de decidir qual rev usar, por enquanto estou mexendo na acis que o bian compartilhou recentemente, mas como estou vendo algumas pessoas comprometidas no dev, acho que seria massa começar isso de quem quer mesmo, o foco principal seria a organização e uma distribuição/acesso melhor para todos.

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

Bom tarde amigo cara rev tem sua qualidade porem na minha opinião a Acis é muito leve esta mais perto do l2off ja outra rev elas tem atualizações constantes

essa é privada mas sempre sego solta algo.

Sua ideia é a mesma da minha que venho falando porem para unir a galera era bom uma área não privada mas que todos tivessem acesso mas para isso teria que

esta sempre ativo, não me importo de compartilhar conhecimentos, mas a palavra já diz compartilhar e não sugar eu tinha aberto uma área aqui para juntar a

galera que sabe algo de java e trocar conhecimento.

essa parte de montar uma svn é ótima mas tenho certeza que 4 ou 5 vão participar sendo que vai ter 200 esperando sair pronto !!!

Eu estou estudando ainda mas já fiz muitas coisas até descompilar rev de outros projetos e remontar tudo (tenho quase pronto helios ) mais precisa arrumar,

mais a Acis quero trabalho nesse projeto também e dei uma parada no outro.

 

 

Tenho umas ideias também tipo da uma customizada no interlude mais não de itens tipo elaborar umas quests maneiras recipe algo que traga a vontade de jogar l2 low

de volta !!!

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

É também to com umas ideias assim, o bom do git é que teria um caminho em comum saca, a responsabilidade principal seria manter uma base fixa e a partir dai ir compilando as diffs que saem e ir mandando para lá, na brench master, ai cada um enviaria o que quer saca, mesmo 5 fazendo, e ai teria também um ponto fácil de acesso para a gelera que ta aprendendo a programar agora, java é uma linguagem muito boa, que da uma base muito boa para quem quer aprender e desenvolver na área, mas acho que muita gente não pega firme por que não consegue mergulhar nos passos iniciais, eu inclusive to todo garrado nessa parte de configuração, mas no git teria tudo bonitinho, a galera que ta começando agora e quer mexer no seu server e tal, nessa parte, só daria clonaria de dentro da ide e ficaria mais facil, a gente só teria o trabalho de manter a base sempre atualizada e controlaria o que ia ser integrado a nossa base principal. Pois assim cada um pode contruibuir entende, as vezes alguem sabe mexer nas xml e tal, outros gostam de mexer na core etc..

 

 

Sobre o git eu to pensando assim:

A master, que é a base, exemplo: 364

A segunda brench seria nosso patch, que estaria atualizado.

Assim se sair uma diff 365, a gente arruma e envia, atualizando a master, que depois passaria a ser a 365.

 

Mas todos os mods e tal, o que a gelera faria junto, ficaria separado, não to lembrado de todos os esquemas do git, mas seria tipo, vc clonaria meu git e adicionaria seus mods, mas trabalharia com seu projeto normal paralelo, assim enviaria só seus mods, junto dos recursos e modificações para funcionar, ai teriamos sempre essa atualização de forma dinamica, e um ponto em comum de onde começar. Ai se eu quiser algo seu que tem exclusivo eu pegaria do seu proprio git, baseado no git oficial.

Não sei se ta muito certo isso ai, se alguém que manja mais de git poder da uma ajuda nessa parte para organizar tudo certinho, eu mesmo faria aqui mais tarde. O que acham?

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

Entendi mas seria mais organizado todos com acesso porem só um no commit até pq se eu fizer algo e mandar e vc fizer a mesma coisa será perda de tempo e pode

um dos dois errar algo etc, eu gostei da ideia.

tipo a galera se reuni ver o que vai add manda os script para quem ficar responsável eu sei algumas svn free mais n passa de 50 megas acho que a acis cabe sem geodata

seria uma boa tbm !!!!

 

Agora sobre as diff poderíamos fazer assim quem se comprometer ajuda com 1 real ou 0,50 de cada um e 1 pessoa faria a assinatura la no privado para ter

pegar as diff e ai nós iria atualizando !!!

 

 

Bem quem quiser e se comprometer basta escrever eu me comprometo que vou anotar os nicks e aqui mesmo no forum vamos abrir uma svn.

DETALHE QUEM SE COMPROMETER É PARA AJUDAR E NÃO FICAR ESPERANDO, assim que der uma pausa aqui no trampo ja vou começar a organizar e vou

por a source base acis 364 que foi postado aqui nesse tópico e vamos ver que vai ficar responsável para pegar as diffs

a pessoa precisa se cadastrar la no site

 

 

ahh antes que eu esqueça vamos fazer o seguinte ir por parte tipo esta faltando Zaken vamos pegar até terminha-lo ai sim vamos ver outra coisa

para não embolar tudo !!!

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

Beleza então, tava olhando no site da acis, eles tem algumas liberações para quem ajuda ativamente na rev, talvez dependendo do que já fez vc consegue se adiantar lá um pouco também.

 

Eu vi algumas restrições sobre ir compilando as diffs que eles liberam e ir atualizando num pack só, alguém sabe dizer se a parada do git teria algum problema? Posso verificar depois também, mas só pra deixar exposto aqui.

 

Essa parte do que falta a gente pode fazer tipo uma lista do que tem mais prioridade, do que cada um pode se comprometer a fazer e tal, eu só vou precisar de alguns dias para deixar tudo certinho aqui e assim posso dedicar um tempo para ajudar nessas soluções também.

 

Ai assim que arrumar aqui eu solto um git com a revisão que o Bian postou,

@Bian Tudo bem utilizar a rev que liberou pra gente?

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

Massa, só pra saber mesmo, pq vou redistribuir no git.

 

Só uma outra dúvida, pode ser meio irrelevante mas é pq estou utilizando a acis pela primeira vez e tem algum tempo que não programo em java, queria saber se preciso aplicar as diff que vem em cima da source? ou ela já vem atualizada e esses diffs são só as mudanças e tal, pra quem tem alguma versão anterior.

Link para o comentário
Compartilhar em outros sites

Massa, só pra saber mesmo, pq vou redistribuir no git.

 

Só uma outra dúvida, pode ser meio irrelevante mas é pq estou utilizando a acis pela primeira vez e tem algum tempo que não programo em java, queria saber se preciso aplicar as diff que vem em cima da source? ou ela já vem atualizada e esses diffs são só as mudanças e tal, pra quem tem alguma versão anterior.

Realmente pelo que ele postou é a source atual, então para você tirar a dúvida mesmo, você pode pegar a diff da ultima e olhar alguma referencia na source, basta ver alguma modificação na diff e ir lá na source olhar se já está aplicada, entende?

Link para o comentário
Compartilhar em outros sites

Boa tarde, estou revendo algumas coisas porem alguém com xp em protocol de revisão estou pensando em umas coisas boas para todos freee porem preciso mudar o protocol da rev.

Para que você quer alterar o protocolo?

Link para o comentário
Compartilhar em outros sites

atuelizei aqui pelas diff.

 

e deu o seguinte erro.

 

compile:
[javac] Compiling 1685 source files to C:\Users\Lunar\workspace\Project jk\Project2\L2jk_gameserver\build\classes
[javac] C:\Users\Lunar\workspace\Project jk\Project2\L2jk_gameserver\java\net\sf\l2j\gameserver\network\clientpackets\EnterWorld.java:37: error: cannot find symbol
[javac] import net.sf.l2j.gameserver.instancemanager.SiegeManager;
[javac] ^
[javac] symbol: class SiegeManager
[javac] location: package net.sf.l2j.gameserver.instancemanager
[javac] C:\Users\Lunar\workspace\Project jk\Project2\L2jk_gameserver\java\net\sf\l2j\Config.java:859: error: cannot find symbol
[javac] ALT_SEVENSIGNS_LAZY_UPDATE = SmallEvents.getProperty("AltSevenSignsLazyUpdate", true);
[javac] ^
[javac] symbol: variable ALT_SEVENSIGNS_LAZY_UPDATE
[javac] location: class Config
[javac] C:\Users\Lunar\workspace\Project jk\Project2\L2jk_gameserver\java\net\sf\l2j\Config.java:1450: error: cannot find symbol
[javac] SAVE_DROPPED_ITEM = server.getProperty("SaveDroppedItem", false);
[javac] ^
[javac] symbol: variable SAVE_DROPPED_ITEM
[javac] location: class Config
[javac] C:\Users\Lunar\workspace\Project jk\Project2\L2jk_gameserver\java\net\sf\l2j\gameserver\model\actor\instance\L2PcInstance.java:8917: error: cannot find symbol
[javac] removeMeFromPartyMatch();
[javac] ^
[javac] symbol: method removeMeFromPartyMatch()
[javac] location: class L2PcInstance
[javac] C:\Users\Lunar\workspace\Project jk\Project2\L2jk_gameserver\java\net\sf\l2j\gameserver\network\clientpackets\EnterWorld.java:162: error: cannot find symbol
[javac] for (Castle castle : CastleManager.getInstance().getCastles())
[javac] ^
[javac] symbol: variable CastleManager
[javac] location: class EnterWorld
[javac] C:\Users\Lunar\workspace\Project jk\Project2\L2jk_gameserver\java\net\sf\l2j\gameserver\network\clientpackets\EnterWorld.java:162: error: cannot find symbol
[javac] for (Castle castle : CastleManager.getInstance().getCastles())
[javac] ^
[javac] symbol: class Castle
[javac] location: class EnterWorld
[javac] C:\Users\Lunar\workspace\Project jk\Project2\L2jk_gameserver\java\net\sf\l2j\gameserver\network\clientpackets\EnterWorld.java:184: error: cannot find symbol
[javac] if (SevenSigns.getInstance().isSealValidationPeriod() && SevenSigns.getInstance().getSealOwner(SealType.STRIFE) != CabalType.NORMAL)
[javac] ^
[javac] symbol: variable SealType
[javac] location: class EnterWorld
[javac] C:\Users\Lunar\workspace\Project jk\Project2\L2jk_gameserver\java\net\sf\l2j\gameserver\network\clientpackets\EnterWorld.java:184: error: cannot find symbol
[javac] if (SevenSigns.getInstance().isSealValidationPeriod() && SevenSigns.getInstance().getSealOwner(SealType.STRIFE) != CabalType.NORMAL)
[javac] ^
[javac] symbol: variable CabalType
[javac] location: class EnterWorld
[javac] C:\Users\Lunar\workspace\Project jk\Project2\L2jk_gameserver\java\net\sf\l2j\gameserver\network\clientpackets\EnterWorld.java:186: error: cannot find symbol
[javac] CabalType cabal = SevenSigns.getInstance().getPlayerCabal(objectId);
[javac] ^
[javac] symbol: class CabalType
[javac] location: class EnterWorld
[javac] C:\Users\Lunar\workspace\Project jk\Project2\L2jk_gameserver\java\net\sf\l2j\gameserver\network\clientpackets\EnterWorld.java:187: error: cannot find symbol
[javac] if (cabal != CabalType.NORMAL)
[javac] ^
[javac] symbol: variable CabalType
[javac] location: class EnterWorld
[javac] C:\Users\Lunar\workspace\Project jk\Project2\L2jk_gameserver\java\net\sf\l2j\gameserver\network\clientpackets\EnterWorld.java:189: error: cannot find symbol
[javac] if (cabal == SevenSigns.getInstance().getSealOwner(SealType.STRIFE))
[javac] ^
[javac] symbol: variable SealType
[javac] location: class EnterWorld
[javac] C:\Users\Lunar\workspace\Project jk\Project2\L2jk_gameserver\java\net\sf\l2j\gameserver\network\clientpackets\RequestDuelAnswerStart.java:120: error: cannot find symbol
[javac] partyMember.removeMeFromPartyMatch();
[javac] ^
[javac] symbol: method removeMeFromPartyMatch()
[javac] location: variable partyMember of type L2PcInstance
[javac] C:\Users\Lunar\workspace\Project jk\Project2\L2jk_gameserver\java\net\sf\l2j\gameserver\network\clientpackets\RequestDuelAnswerStart.java:123: error: cannot find symbol
[javac] partyMember.removeMeFromPartyMatch();
[javac] ^
[javac] symbol: method removeMeFromPartyMatch()
[javac] location: variable partyMember of type L2PcInstance
[javac] C:\Users\Lunar\workspace\Project jk\Project2\L2jk_gameserver\java\net\sf\l2j\gameserver\network\clientpackets\RequestDuelAnswerStart.java:131: error: cannot find symbol
[javac] activeChar.removeMeFromPartyMatch();
[javac] ^
[javac] symbol: method removeMeFromPartyMatch()
[javac] location: variable activeChar of type L2PcInstance
[javac] C:\Users\Lunar\workspace\Project jk\Project2\L2jk_gameserver\java\net\sf\l2j\gameserver\network\clientpackets\RequestDuelAnswerStart.java:132: error: cannot find symbol
[javac] requestor.removeMeFromPartyMatch();
[javac] ^
[javac] symbol: method removeMeFromPartyMatch()
[javac] location: variable requestor of type L2PcInstance
[javac] C:\Users\Lunar\workspace\Project jk\Project2\L2jk_gameserver\java\net\sf\l2j\gameserver\network\clientpackets\RequestDuelStart.java:125: error: cannot find symbol
[javac] partyMember.removeMeFromPartyMatch();
[javac] ^
[javac] symbol: method removeMeFromPartyMatch()
[javac] location: variable partyMember of type L2PcInstance
[javac] C:\Users\Lunar\workspace\Project jk\Project2\L2jk_gameserver\java\net\sf\l2j\gameserver\network\clientpackets\RequestDuelStart.java:128: error: cannot find symbol
[javac] partyMember.removeMeFromPartyMatch();
[javac] ^
[javac] symbol: method removeMeFromPartyMatch()
[javac] location: variable partyMember of type L2PcInstance
[javac] C:\Users\Lunar\workspace\Project jk\Project2\L2jk_gameserver\java\net\sf\l2j\gameserver\network\clientpackets\RequestDuelStart.java:145: error: cannot find symbol
[javac] activeChar.removeMeFromPartyMatch();
[javac] ^
[javac] symbol: method removeMeFromPartyMatch()
[javac] location: variable activeChar of type L2PcInstance
[javac] C:\Users\Lunar\workspace\Project jk\Project2\L2jk_gameserver\java\net\sf\l2j\gameserver\network\clientpackets\RequestDuelStart.java:146: error: cannot find symbol
[javac] targetChar.removeMeFromPartyMatch();
[javac] ^
[javac] symbol: method removeMeFromPartyMatch()
[javac] location: variable targetChar of type L2PcInstance
[javac] 19 errors
aconteceu com alguem?

FlyingBirds_zps9a0601a7.gif

Link para o comentário
Compartilhar em outros sites

Para que você quer alterar o protocolo?

Bem estou trabalhando em 2 projetos helios e acis porem estava revendo aqui um Downgrade de ums de maus projetos consegui através de alguns conhecimentos uma rev compilada da L2Script fiz uma engenharia reversa que durou uns 2 meses porem consegui chegar a um objetivo mas estou um pouco parada, quando fico parado em um vou para outro até amente descansar ai fico revisando assim. Bem vamos ao que interessa, na minha visão pegando umas dessas rev que consegui fazer virar source dazendo um Downgrade dela acho que teríamos

a melhor rev interlude.

 

Deixa eu explicar a rev l2script ela é bem cobiçada pelos seus códigos ela não é muito detalhada porem as amarrações, então eu estou estudando java ainda mais pra quem conseguiu fazer de uma rev compilada com um monte de proteção contra descompilador em java, acho que dou conta porem com ajuda iriamos mais rápido.

 

Essa parte de Protocol é bem complicado pois são apenas uns 10 ou 15 arquivos mas tem que reescrever a parte de LOGOUT, bem para quem se interessar ta awe e quem souber como mudar e puder ajudar eu sei que começa no GamePacketHandler.java uma hora chego lá

Link para o comentário
Compartilhar em outros sites

É mas ainda não respondeu a minha pergunta, se você quer fazer o cliente Helios rodar com interlude antes fazer Classic, as sources que tem da scripts são todas Leak decompiladas e tem bilhões de erros.

Link para o comentário
Compartilhar em outros sites

Bem estou trabalhando em 2 projetos helios e acis porem estava revendo aqui um Downgrade de ums de maus projetos consegui através de alguns conhecimentos uma rev compilada da L2Script fiz uma engenharia reversa que durou uns 2 meses porem consegui chegar a um objetivo mas estou um pouco parada, quando fico parado em um vou para outro até amente descansar ai fico revisando assim. Bem vamos ao que interessa, na minha visão pegando umas dessas rev que consegui fazer virar source dazendo um Downgrade dela acho que teríamos

a melhor rev interlude.

Mais cara fazer downgrade demora d+++ , a acis e a dream sao downgrades e demoraram anos pra chegar onde estao ;P

Link para o comentário
Compartilhar em outros sites

Bem estou trabalhando em 2 projetos helios e acis porem estava revendo aqui um Downgrade de ums de maus projetos consegui através de alguns conhecimentos uma rev compilada da L2Script fiz uma engenharia reversa que durou uns 2 meses porem consegui chegar a um objetivo mas estou um pouco parada, quando fico parado em um vou para outro até amente descansar ai fico revisando assim. Bem vamos ao que interessa, na minha visão pegando umas dessas rev que consegui fazer virar source dazendo um Downgrade dela acho que teríamos

a melhor rev interlude.

 

Deixa eu explicar a rev l2script ela é bem cobiçada pelos seus códigos ela não é muito detalhada porem as amarrações, então eu estou estudando java ainda mais pra quem conseguiu fazer de uma rev compilada com um monte de proteção contra descompilador em java, acho que dou conta porem com ajuda iriamos mais rápido.

 

Essa parte de Protocol é bem complicado pois são apenas uns 10 ou 15 arquivos mas tem que reescrever a parte de LOGOUT, bem para quem se interessar ta awe e quem souber como mudar e puder ajudar eu sei que começa no GamePacketHandler.java uma hora chego lá

Meu amigo vejo sempre voce querendo informação de protocol , vou ter da uma dica pega o projeto lucera tem ele para download em forum russo vai conseguir entender como foi elaborado o protocol ,sei como funciona mais entregar de mão beijada e complicado mais segue a dica que te mandei , mais se achar alguem que conhece do php eu bolo para voce a parte java

logo.png


Inscreva no canal ,obrigadooo...........

Link para o comentário
Compartilhar em outros sites

compartilha essa 365 ai man, *-*

TERMS OF AGREEMENT

 

Using aCis, you accept the following :

  • You can't sell a revision of aCis pack, customized or not. If you want to sell customs, sell diff patches. You can't sell aCis as a base for your pack.
  • You can't freely share, as Customer/Inner Circle, any revision posterior to free revision share.
  • aCis forks are allowed for following conditions and only for those conditions :
    • Your pack stays open source (in order useful fixes can be used in the main pack).
    • You use one of the free shared versions as base (aka no current cycle revision) and don't update your fork with posterior changesets of current free revision.

A miss to one of those rules can lead to following punishements :

  • As Customer/Inner Circle, an immediate forum rank drop. In case you donated, I won't refund your money either, as you made me lose money yourself. All your cookies will be probably stolen by others members to punish you !
  • In case I was supporting your server with hotfixes/testing, you're alone.
  • In case you post on known forums, such as MxC, an immediate drop of the thread, with if you persist, dekarma sanctions.

logo.png


Inscreva no canal ,obrigadooo...........

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.