Ir para conteúdo
  • Cadastre-se

L2JBrasil 3.0 Oficial


Tayran.JavaDev

Posts recomendados

8 minutos atrás, Sr.Felipe disse:

Sim, sei dos riscos, o servidor não será para lucro mas apenas voltar aos primórdios do l2. 

Por isso não estou preocupado se der problema, quero colocar em produção para ser identificado os problemas mais rapido e consequentemente corrigido mais rapido. Fora o fato que também vou sair ganhando pois terei no final uma ótima revisão para desenvolver um servidor cada vez melhor. 

E sobre a minha pergunta anteriormente, qual a versão recomendada? 

Obrigado pela colaboração, Isso estava em um plano futuro da L2JBrasil, isso vai acelerar e muito o processo !

A versão na Branch Develop, ainda não lancei ela como release, vou fazer isso agora antes de dormir, mas você pode fazer o pull da branch e compilar normalmente, será a ultima versão.

"Tente ser uma pessoa de valor , não de sucesso" - Albert Einstein

 

 

Link para o comentário
Compartilhar em outros sites


3 minutos atrás, Tayran.JavaDev disse:

Obrigado pela colaboração, Isso estava em um plano futuro da L2JBrasil, isso vai acelerar e muito o processo !

A versão na Branch Develop, ainda não lancei ela como release, vou fazer isso agora antes de dormir, mas você pode fazer o pull da branch e compilar normalmente, será a ultima versão.

Não sei se seria possivel mas se posteriormente você poder criar um npc simples, algo onde os jogadores possam registra os bug de forma facil.

Assim posso até cria premiações para os usuários que reportarem mais, isso vai fazer os jogadores se interessarem ainda mais. 

"Tudo o que um sonho precisa para ser realizado é alguém que acredite que ele possa ser realizado"

Link para o comentário
Compartilhar em outros sites

8 minutos atrás, Sr.Felipe disse:

Não sei se seria possivel mas se posteriormente você poder criar um npc simples, algo onde os jogadores possam registra os bug de forma facil.

Assim posso até cria premiações para os usuários que reportarem mais, isso vai fazer os jogadores se interessarem ainda mais. 

 

É possível sim, mas você teria que ter o trabalho de registrar todos os reports que os players fizerem no nosso quadro de Issue.

"Tente ser uma pessoa de valor , não de sucesso" - Albert Einstein

 

 

Link para o comentário
Compartilhar em outros sites

1 minuto atrás, Tayran.JavaDev disse:

É possível sim, mas você teria que ter o trabalho de registrar todos os reports que os players fizerem no nosso quadro de Issue.

Sem problemas, só o fato de facilitar eles reportar já ajuda bastante, conheço muitos que tem preguiça de entrar em fórum pra reportar qualquer que seja a coisa, sendo como npc dentro do servidor fica mais fácil. 

Não precisa ser nada trabalhado de mais, apenas o campo para digitar o bug e o botão de enviar, apenas isso. 

"Tudo o que um sonho precisa para ser realizado é alguém que acredite que ele possa ser realizado"

Link para o comentário
Compartilhar em outros sites

Primeiramente um desabafo:

Estou enjoado com interlude, existe centenas de packs interlude, ótimas packs como Lucera v2, acis (mesmo estando incompleta), vejo dessa forma por que a comunidade de lineage hoje ( interlude ) são um bando de porcos, incompetentes que ficam pulando de server em server, não tem sentido abrir interlude mais ao meu ver. 90% das coisas hoje em dia são feitas para interlude, por que ? Por que é a chronica mais fácil de extorquir dinheiro dos patetas, aquele famoso pensamento "hum é tão bom você abrir um servidor aí com 400-500 reais e ter 2 a 3k de lucros dos imbecis." E foi por este pensamento que afundou o interlude no que ele é hoje, a coisa que eu mais tenho nojo é ver um jogador falando que interlude é a MELHOR chronica por ser old school, aí o cara vê os servers que os cidadão joga, start lv 80 + area de farm = compra no npc locka full buff no NPC e da control f1 em área chaotic ( Outro câncer do jogo).

Isso me faz ter um desprezo enorme, peço desculpas primeiramente por usar palavras rudes, mas a verdade é essa, eu gostaria que se possível, um dos dev dos projeto me explicasse o por que estão fazendo interlude ao invés de algo escasso, exemplo, algo que está bombando agora é o Classic, não há um projeto, bom estável e sendo trabalhado na versão Classic. Isso seria uma chance de alavancar o fórum trazendo novos membros a base disso também ( meu ponto de vista).

Sobre o projeto: Desejo sorte a vocês com o projeto, que consigam fazer tudo que planejam, por mais dificuldades que tenha, nada é impossível e um dia ficará do jeito que vocês querem, será difícil conseguir testers realmente eficientes, hoje em dia a galera não sabe nem mais pra que serve a classe de Spoil, mas tomara que dê tudo certo, acredito que a JServer ( ainda mais a de vocês que já foi um pouco trabalhada) não tenha muitos erros para corrigir não, acho que o que mais será feito é a mudança de estrutura da revisão. Bom, é isso. \o 

  • Gostei 2
  • Haha 1
  • Triste 1

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

10 minutos atrás, Elesis disse:

Primeiramente um desabafo:

Estou enjoado com interlude, existe centenas de packs interlude, ótimas packs como Lucera v2, acis (mesmo estando incompleta), vejo dessa forma por que a comunidade de lineage hoje ( interlude ) são um bando de porcos, incompetentes que ficam pulando de server em server, não tem sentido abrir interlude mais ao meu ver. 90% das coisas hoje em dia são feitas para interlude, por que ? Por que é a chronica mais fácil de extorquir dinheiro dos patetas, aquele famoso pensamento "hum é tão bom você abrir um servidor aí com 400-500 reais e ter 2 a 3k de lucros dos imbecis." E foi por este pensamento que afundou o interlude no que ele é hoje, a coisa que eu mais tenho nojo é ver um jogador falando que interlude é a MELHOR chronica por ser old school, aí o cara vê os servers que os cidadão joga, start lv 80 + area de farm = compra no npc locka full buff no NPC e da control f1 em área chaotic ( Outro câncer do jogo).

Isso me faz ter um desprezo enorme, peço desculpas primeiramente por usar palavras rudes, mas a verdade é essa, eu gostaria que se possível, um dos dev dos projeto me explicasse o por que estão fazendo interlude ao invés de algo escasso, exemplo, algo que está bombando agora é o Classic, não há um projeto, bom estável e sendo trabalhado na versão Classic. Isso seria uma chance de alavancar o fórum trazendo novos membros a base disso também ( meu ponto de vista).

Sobre o projeto: Desejo sorte a vocês com o projeto, que consigam fazer tudo que planejam, por mais dificuldades que tenha, nada é impossível e um dia ficará do jeito que vocês querem, será difícil conseguir testers realmente eficientes, hoje em dia a galera não sabe nem mais pra que serve a classe de Spoil, mas tomara que dê tudo certo, acredito que a JServer ( ainda mais a de vocês que já foi um pouco trabalhada) não tenha muitos erros para corrigir não, acho que o que mais será feito é a mudança de estrutura da revisão. Bom, é isso. \o 

 

Cara sobre esse desabafo sobre versões : 


1. Não estamos fazendo isso não é por dinheiro e nem para abrir um servidor Interlude, estamos fazendo o que a gente AMA que é programar em L2J, e ainda ajudar muitas pessoas que irão usufrui dessa revisão. 

2. Faz uns 3-4 anos que eu não tenho vontade nenhuma de Jogar Lineage, quanto mais abrir server.

3. Se não jogo a uma média de 3-4 anos ( isso não é só eu, é quase todos da equipe) como vamos iniciar desenvolvimento em algo que não sabemos nem como deveria funcionar por padrão o jogo, como por exemplo o Classic, Não joguei e sei nada sobre.

4. Você não gostar de X versão não fará que a gente passe a odiar ela, as pessoas não são iguais, e eu poderia fazer o mesmo que você fez com outras versões.

5. L2JServer Interlude pegando ela lá do Git deles, é cheia de bugs e coisas faltando implementar, você está engando.

 

6. A nossa revisão tem muita coisa a ser feita, muita coisas para implementar, muita coisas para corrigir, e muitas ideias para colocar em prática, acho que está confundindo as sources.

Obrigado de qualquer forma, por que vamos fazer um excelente trabalho !

Editado por Tayran.JavaDev
  • Gostei 2
  • Amei 1
  • Obrigado 1

"Tente ser uma pessoa de valor , não de sucesso" - Albert Einstein

 

 

Link para o comentário
Compartilhar em outros sites

16 minutos atrás, Elesis disse:

 

Não cara, esse aprofundamento do interlude foi devido a muitos fatores do que ele se tornou hoje, e levou uns 4 - 6 anos pra ele virar essa bagunça que esta hoje, deixe quieto as outras cronicas, ainda mas o classic, se tivesse mais tutoriais aqui de como criar outras cronicas, todas elas hoje estariam uma bosta.

Muitas pessoas entraram aqui aprenderam o que tinham que aprender e abriram seus servidores interlude, uns ainda ajudam o forum, outros só vem pegar restos de trabalhos dos outros e "implementa" em suas revisoes e faz o que faz.

Até o incrivel MOD PHANTOM PLAYERS ja virou uma bosta entre os servidores, ninguem mas é inganado, fora que os players nao sabem jogar um servidor que preste, pq a cada uma postagem no facebook de um cara querendo jogar algum l2, 5 dizem ter um servidor que estao pensando em abrir.

Resumindo, deixe como esta, pois eu mesmo estou baixando o classic club nessa madrugada para ver se a minha nostalgia de antigamente volte novamente, e claro, q minha conta não suma os itens de 1 dia para o outro. =D

Lineage 2 Lords

Link para o comentário
Compartilhar em outros sites

Quando conheci o game joguei em um servidor privado em 2008 nunca joguei no oficial, nesse tempo que eu jogava tinha um certo compromisso da parte dos Admins com os jogadores servidores cheios de bugs e muitos custom  e todos tinha uma certa felicidade do servidor, isso evoluiu servidores com menos bugs, mais muitas crianças querendo ser Admins abrindo servidores todos os meses e não levando isso nada a serio prejudicando pessoas com um trabalho serio para o jogo, então não podemos falar que tal versão do jogo é ruim e outra boa  isso vai do comprometimento de todos para melhorar, um jogador que acha algum bug já vai reclamando não da um retorno para os Admins fica parado no game incomodando o jogo das outras pessoas, que quer tudo de mão beijada e vive reclamando dos itens, isso para min não é um jogador e sim um pobre coitado achando que é critico de game, dessa forma vimos que todos os Developers da JBrasil não merecem isso devido  aos seus esforços diários quando alguém fala que l2j é ruim não deve nem sequer jogar em um servidor desses porque n merece os esforços  Parabéns a todos pelo seus esforços. #FamiliaL2JBrasil peço desculpas por esse desabado aqui.

Editado por Walker-L2

600_462997319.jpeg

Link para o comentário
Compartilhar em outros sites

a rev é de qual cronica?
n ta no inicio do post
desculpa a pergunta idiota mas fiquei curioso
kkk
:P

Tem foda que é foda...

 

Lucas Dresch

Desenvolvimento de Jogos Digitais  Unity e L2J

Link para o comentário
Compartilhar em outros sites

  • L2JBr ADM

A ideia desse projeto é fazer coisas fora da caixa, do nosso jeito com nossa experiência. Ninguém é obrigado a usar ou gostar, fazemos por gosto. E só.

Porque é divertido, porque aprendemos coisas novas e porque de quebra ajudamos alguém à se divertir. 

Do mais, gostaríamos muito de pessoas testando e usando nossa rev, vamos tentar resolver os bugs de forma mais plena e rápida, mas sem pressão apenas porque é divertido.

 

  • Gostei 2
  • Amei 2
  • Obrigado 2

EJoOSOj.gif

Sua pergunta foi respondida? Certifique-se de marcar a resposta como a solução aceita.
Se existe mais de uma resposta, utilize o "vote up" para destacá-la.
Se você achar uma resposta útil, diga obrigado clicando no botão "Gostei".

Link para o comentário
Compartilhar em outros sites

10 horas atrás, Blackdiamond disse:

Existem outros métodos de se fazer leitura de arquivos XML para um sistema web sem ter que usar um framework, parâmetros php e seus artifícios facilitando nossas vidas na hora da criação de um excelente website.

 

Sim Sim Black, mas em questão de desempenho, o front-end de um site lê XML gastando muito mais recursos (memória, processador, disco rígido ou flash do servidor...) do que para ler um JSON retornado pelo back-end (através do php, grails, ...), saca ? 

Beleza, obrigado o/

Estou pensando em em desenvolver um site free, porém bom, para os membros (seria lançado junto com alguma versão do servidor no github), suas skills de design sem dúvida são melhores que as minhas, se quiser desenvolver um site em html, eu passo ele pra php (provavelmente utilizando o Laravel - junto com um tutorial pro pessoal). Se topar, utilize Flex para fazer a estrutura e alinhar os itens do site. Qualquer coisa, é só me dar um toque o/

Link para o comentário
Compartilhar em outros sites

  • L2JBr ADM
4 horas atrás, vert disse:

 

Sim Sim Black, mas em questão de desempenho, o front-end de um site lê XML gastando muito mais recursos (memória, processador, disco rígido ou flash do servidor...) do que para ler um JSON retornado pelo back-end (através do php, grails, ...), saca ? 

Beleza, obrigado o/

Estou pensando em em desenvolver um site free, porém bom, para os membros (seria lançado junto com alguma versão do servidor no github), suas skills de design sem dúvida são melhores que as minhas, se quiser desenvolver um site em html, eu passo ele pra php (provavelmente utilizando o Laravel - junto com um tutorial pro pessoal). Se topar, utilize Flex para fazer a estrutura e alinhar os itens do site. Qualquer coisa, é só me dar um toque o/


O uso de XML não tem se mostrado tanto eficaz, com o MySQL é possível fazer Joins entre tabelas e deixar que o serviço de banco de dados decida qual é a melhor forma de processar esses dados. 
Se o dado precisa ser combinado com outro não deve estar em um arquivo estático, até porque esse dado estará em disco, quanto o banco de dados utiliza recursos de memória para entregar essa informação de maneira mais rápida e eficiente para o programa. 

 

  • Gostei 2
  • Obrigado 2

EJoOSOj.gif

Sua pergunta foi respondida? Certifique-se de marcar a resposta como a solução aceita.
Se existe mais de uma resposta, utilize o "vote up" para destacá-la.
Se você achar uma resposta útil, diga obrigado clicando no botão "Gostei".

Link para o comentário
Compartilhar em outros sites

Versão 3.0.2

Essa é uma pré-release da branch de desenvolvimento, peço que façam testes e nos reportem os bugs.

Obs :  deixo avisado que quem ja tinha instalado a database do servidor antes, vai ter que reinstalar tudo de novo, a revisão só liga com MySql 5.7 então tem que fazer a instalação do novo banco MySql 5.7 caso você não tenha essa versão já na sua máquina.

  • Gostei 1
  • Obrigado 2

"Tente ser uma pessoa de valor , não de sucesso" - Albert Einstein

 

 

Link para o comentário
Compartilhar em outros sites

  • L2JBr ADM
24 minutos atrás, Walker-L2 disse:

Não sei se esta certo ou n mais liguei ela aqui com MySql 5.1

 

Vai até funcionar, mas vc não vai tirar vantagem nenhuma da modificação do banco, tais como a melhoria de performance e a otimização do InnoDB que virá nas próximas releases.

A versão do MySQL 5.1 é muito antiga cheia de bugs com recursos que já não são mais suportados no futuro recomendo estritamente a migração para a versão 5.7 ou MariaDB.

 

Vou fazer um tutorial em breve mostrando a instalação de forma detalhada, mas se você já manja um pouco pode tentar instalar por sí só.

 

Você deve baixar o MySQL neste link Instalador Windows mysql 5.7 ou o Community Installer (este último com outros programas úteis como o mysql workbench)

Nota: O instalador do MySQL é de 32 bits, mas irá instalar o mysql 32 bits ou 64 bits.

 

EJoOSOj.gif

Sua pergunta foi respondida? Certifique-se de marcar a resposta como a solução aceita.
Se existe mais de uma resposta, utilize o "vote up" para destacá-la.
Se você achar uma resposta útil, diga obrigado clicando no botão "Gostei".

Link para o comentário
Compartilhar em outros sites

2 horas atrás, Grundor disse:

Vai até funcionar, mas vc não vai tirar vantagem nenhuma da modificação do banco, tais como a melhoria de performance e a otimização do InnoDB que virá nas próximas releases.

A versão do MySQL 5.1 é muito antiga cheia de bugs com recursos que já não são mais suportados no futuro recomendo estritamente a migração para a versão 5.7 ou MariaDB.

 

Vou fazer um tutorial em breve mostrando a instalação de forma detalhada, mas se você já manja um pouco pode tentar instalar por sí só.

 

Você deve baixar o MySQL neste link Instalador Windows mysql 5.7 ou o Community Installer (este último com outros programas úteis como o mysql workbench)

Nota: O instalador do MySQL é de 32 bits, mas irá instalar o mysql 32 bits ou 64 bits.

 

Agradeço a explicação, mais eu tinha apenas o MySql 5.1 aqui por hora e acabei ligando apenas para testar.

600_462997319.jpeg

Link para o comentário
Compartilhar em outros sites

Servidor de fácil instalação. (Agradeço á -Administração L2jBrasil por tal conteúdo postado e compartilhado.)

3 horas atrás, Grundor disse:

Você deve baixar o MySQL neste link Instalador Windows mysql 5.7 ou o Community Installer (este último com outros programas úteis como o mysql workbench)

Nota: O instalador do MySQL é de 32 bits, mas irá instalar o mysql 32 bits ou 64 bits.

Instalado, numa VMware emulado win7 com Java 8.1 e Java SDK com Mysql recomendado 5.7 (usando navicat na hora de mudar acesslevel que me bati)

Começando os testes.....3...2....1.... bora praticar JAVA e banco de dados.

SSERd7LjQqmSThqT2noWlg.png

Editado por VoraDor
Agradecimento a Administração e seus moderadores.
Link para o comentário
Compartilhar em outros sites

 

1 hora atrás, VoraDor disse:

Servidor de fácil instalação. (Agradeço á -Administração L2jBrasil por tal conteúdo postado e compartilhado.)

Instalado, numa VMware emulado win7 com Java 8.1 e Java SDK com Mysql recomendado 5.7 (usando navicat na hora de mudar acesslevel que me bati)

Começando os testes.....3...2....1.... bora praticar JAVA e banco de dados.

 

Uma dica que te dou é sempre que pegar uma revisão nova acessar os arquivos que definem o acess level para cada comando de admin, e ai você vai saber qual acess level deve colocar.
 

4 minutos atrás, Azazyel disse:

Por que Interlude e não outra versão? 
É somente uma duvida, pois estava um pouco ausente do forum!

Se fosse outra versão eu nem participaria, Só tenho a te dizer o porque não usaríamos outra versão. hahahaha

  • Haha 1
  • Obrigado 1

"Tente ser uma pessoa de valor , não de sucesso" - Albert Einstein

 

 

Link para o comentário
Compartilhar em outros sites

Fico muito feliz por voltarem com o projeto da L2jBRASIL, a todos uma boa sorte, sei que todos os envolvidos são muito bem capacitados. #comeon

Editado por BySouza

Masturbe sua mente, goze suas ideias.

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.