Ir para conteúdo
  • Cadastre-se

[Freya] BR Xtreme Project


Mr.Nobre

Posts recomendados

  • 4 weeks later...

Fiz uma arma AIOX, mas esta dando para equipar a arma na olimpíada, alguém sabe o que esta de errado?

	<item id="33302" type="Weapon" name="AIO +30">
		<set name="icon" val="icon.weapon_chrono_campana_i00" />
		<set name="default_action" val="equip" />
		<set name="weapon_type" val="pole" />
		<set name="bodypart" val="lrhand" />
		<set name="random_damage" val="1" />
		<set name="immediate_effect" val="1" />
		<set name="material" val="steel" />
		<set name="is_tradable" val="false" />
		<set name="is_dropable" val="false" />
		<set name="is_destroyable" val="false" />
		<set name="is_sellable" val="false" />
		<set name="is_depositable" val="false" />
		<set name="is_oly_restricted" val="true" />
		<set name="time" val="43200" />
		<set name="item_skill" val="27050-1;27051-1;27052-1;27053-1;27054-1;27055-1;27056-1;27057-1;27058-1;27059-1;27060-1;27061-1" />		
		<for>
			<set order="0x08" stat="pAtk" val="0.01" />
			<set order="0x08" stat="mAtk" val="0.01" />
			<set order="0x08" stat="rCrit" val="0.01" />
			<add order="0x10" stat="accCombat" val="-13.75" />
			<mul order="0x30" stat="mAtkSpd" val="2" />
		</for>
	</item>

 

Link para o comentário
Compartilhar em outros sites

Fiz uma arma AIOX, mas esta dando para equipar a arma na olimpíada, alguém sabe o que esta de errado?

 

	<item id="33302" type="Weapon" name="AIO +30">
		<set name="icon" val="icon.weapon_chrono_campana_i00" />
		<set name="default_action" val="equip" />
		<set name="weapon_type" val="pole" />
		<set name="bodypart" val="lrhand" />
		<set name="random_damage" val="1" />
		<set name="immediate_effect" val="1" />
		<set name="material" val="steel" />
		<set name="is_tradable" val="false" />
		<set name="is_dropable" val="false" />
		<set name="is_destroyable" val="false" />
		<set name="is_sellable" val="false" />
		<set name="is_depositable" val="false" />
		<set name="is_oly_restricted" val="true" />
		<set name="time" val="43200" />
		<set name="item_skill" val="27050-1;27051-1;27052-1;27053-1;27054-1;27055-1;27056-1;27057-1;27058-1;27059-1;27060-1;27061-1" />		
		<for>
			<set order="0x08" stat="pAtk" val="0.01" />
			<set order="0x08" stat="mAtk" val="0.01" />
			<set order="0x08" stat="rCrit" val="0.01" />
			<add order="0x10" stat="accCombat" val="-13.75" />
			<mul order="0x30" stat="mAtkSpd" val="2" />
		</for>
	</item>

<set name="is_oly_restricted" val="true" />

para

<set name="is_oly_restricted" val="False" />

Link para o comentário
Compartilhar em outros sites

<set name="is_oly_restricted" val="true" />

para

<set name="is_oly_restricted" val="False" />

 

Cara cê é louco? Entende o minimo de inglês ou de programação?

 

"is_oly_restricted" = é restrita nas oly,

 

Então respondendo "true" o mlk está configurando certo, é só pegar como exemplo vários itens do servidor proibidos nas oly e ver...

<item id="728" type="EtcItem" name="Mana Potion">

<set name="icon" val="icon.etc_reagent_blue_i00"/>
<set name="default_action" val="skill_reduce"/>
<set name="etcitem_type" val="potion"/>
<set name="immediate_effect" val="1"/>
<set name="material" val="liquid"/>
<set name="weight" val="180"/>
<set name="price" val="2000"/>
<set name="is_stackable" val="true"/>
<set name="is_oly_restricted" val="true"/>
<set name="handler" val="ManaPotion"/>
<set name="item_skill" val="10001-1"/>
<set name="use_condition" val="{{uc_transmode_exclude;{tt_flying}}}"/>
</item>
ou
<item id="1539" type="EtcItem" name="Greater Healing Potion">
<set name="icon" val="icon.etc_reagent_white_i00"/>
<set name="default_action" val="skill_reduce"/>
<set name="etcitem_type" val="potion"/>
<set name="immediate_effect" val="1"/>
<set name="material" val="liquid"/>
<set name="weight" val="5"/>
<set name="price" val="900"/>
<set name="reuse_delay" val="10000"/>
<set name="is_stackable" val="true"/>
<set name="is_oly_restricted" val="true"/>
<set name="handler" val="ItemSkills"/>
<set name="item_skill" val="2037-1"/>
<set name="use_condition" val="{{uc_transmode_exclude;{tt_flying}}}"/>
</item>

 

Está configurado certo @phantom, o máximo que pode está acontecendo é algum error na revisão!

Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...

Para as pessoas que queiram saber, a Brxtreme 168 não tem como duplicar, existe duas formas de duplicar, com acento, e com o phx usando o id de loggin , Nem uma dos dois metodos está funcional. Aparentemente por enquanto , está solucionado.

 

Aqui está a ultima release da Brxtreme compilada.

http://www.mediafire.com/download/aybykh9qaqbgswm/Rev_Br_168.rar

Editado por Leonardo '-'

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

 

Ola pessoal, eu gostaria de saber se o projeto esta favoravel para um servidor mid rate. Estando irei baixar e ajudar a testar pretendo ultilizar para um servidor. Obrigado.

Link para o comentário
Compartilhar em outros sites

Ola pessoal, eu gostaria de saber se o projeto esta favoravel para um servidor mid rate. Estando irei baixar e ajudar a testar pretendo ultilizar para um servidor. Obrigado.

Aparentemente sim nao vi nem um problema ao qual n possa ser solucionado.

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

Para as pessoas que queiram saber, a Brxtreme 168 não tem como duplicar, existe duas formas de duplicar, com acento, e com o phx usando o id de loggin , Nem uma dos dois metodos está funcional. Aparentemente por enquanto , está solucionado.

 

Aqui está a ultima release da Brxtreme compilada.

http://www.mediafire.com/download/aybykh9qaqbgswm/Rev_Br_168.rar

Ainda está dando para duplicar...

Basta ao clicar em login suspender sua conta com algum gerenciador avançado, logar outra conta, após logada na tela de char antes de clicar start suspender ela e retomar na outra... sendo assim consegue logar e duplicar normalmente.

O único método até agora para bloquear que está funcional é criando um código no EnterWorld.java para deletar todos os itens do char quando aparecer a mensagem de itens duplicados.

 

Porem claro, poucos sabem como duplicar do jeito que expliquei.

"Seja feliz do jeito que você é, não mude sua rotina pelo o que os outros exigem de você, simplesmente viva de acordo com o seu modo de viver."

(Yato - Noragami)

 

 

Link para o comentário
Compartilhar em outros sites

Ainda está dando para duplicar...

Basta ao clicar em login suspender sua conta com algum gerenciador avançado, logar outra conta, após logada na tela de char antes de clicar start suspender ela e retomar na outra... sendo assim consegue logar e duplicar normalmente.

O único método até agora para bloquear que está funcional é criando um código no EnterWorld.java para deletar todos os itens do char quando aparecer a mensagem de itens duplicados.

 

Porem claro, poucos sabem como duplicar do jeito que expliquei.

Este modo que tu falou é o mesmo metodo com o PHX, porem voce n suspende e sim voce usa uma conexão e força outra, tanto que voce não precisa nem por seu Loggin e senha. Testei nao deu pra Dup. Nao sei porque voce acompanha o projeto, se voce n ajuda em nd

 

Moderadores do projeto por acaso foi este o codigo adicionado como proteção ?

https://github.com/L2J/L2J_Server/commit/40d1b29619f63cf9dba20442918781f0635bc631.diff

Editado por Leonardo '-'

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

Este modo que tu falou é o mesmo metodo com o PHX, porem voce n suspende e sim voce usa uma conexão e força outra, tanto que voce não precisa nem por seu Loggin e senha. Testei nao deu pra Dup. Nao sei porque voce acompanha o projeto, se voce n ajuda em nd

 

Moderadores do projeto por acaso foi este o codigo adicionado como proteção ?

https://github.com/L2J/L2J_Server/commit/40d1b29619f63cf9dba20442918781f0635bc631.diff

 

Estou sim acompanhando o projeto, pois estou trabalhando na rev 158 para atualizar meu servidor para ela, pois é a revisão mais estável e se eu digo que o bug de duplicate esta funcionando como expliquei, é porque eu consegui logar nela e duplicar.

 

Porem já que você diz que não funciona, então tudo bem... bom para você....

Eu não ajudo pois quando precisei não recebi ajuda, é um motivo bem simples.

 

Ótimo projeto, pena que browser não está mais atualizando ele, somente o boss está mexendo...

"Seja feliz do jeito que você é, não mude sua rotina pelo o que os outros exigem de você, simplesmente viva de acordo com o seu modo de viver."

(Yato - Noragami)

 

 

Link para o comentário
Compartilhar em outros sites

 

Estou sim acompanhando o projeto, pois estou trabalhando na rev 158 para atualizar meu servidor para ela, pois é a revisão mais estável e se eu digo que o bug de duplicate esta funcionando como expliquei, é porque eu consegui logar nela e duplicar.

 

Porem já que você diz que não funciona, então tudo bem... bom para você....

Eu não ajudo pois quando precisei não recebi ajuda, é um motivo bem simples.

 

Ótimo projeto, pena que browser não está mais atualizando ele, somente o boss está mexendo...

Voce não deve ajudar por ter recebido ajuda, quando estava aprendendo L2J raramente alguém me ajudava. Acho que o unico que me ajudo foi o Sapoo , e mesmo assim isso não foi motivo pra eu não ir na area de dúvidas ajudar quem queria ajuda.

 

Oferecer ajuda porque foi ajudado e a mesma coisa que compra e troca, si e por isso começa a contribuir já que tu usa a pack de graça sem pagar nada.

Mas você tem razão, é melhor você não ajudar mesmo , pois se é pra ajudar é melhor ajuda na boa vontade.

 

Que ótimo que voce vai atualizar seu servidor, porque é full desbalance,. boa sorte na nova pack e no novo balanceamento. E que Deus te ajude.

Editado por Leonardo '-'

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

 

o servidor tem um problema ao atacar uma mobs se a mobs é maior lvl que o jogador puxa esse erro
exemplo jogador lvl 75 lvl 85 mobs atacou o ataque falha e tira erro em gameserver
imagem da esquerda
iy2bm8.jpg

 

Saberia dizer se o erro aparece quando um player "mago" usa skills nos mobs ou se é ataque normal ?

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

 

 

 

 

 

Leonardo tem muita gente acompanhando o projeto sim, infelizmente algumas acompanham somente pra sugar caso apareça algo de bom, pra somar tem poucos! Nego pega um projeto free, cria um servidor vai atualizando sempre que sai algo de bom, lucrando com o servidor, continua utilizando o projeto free, quando o projeto precisa de alguma ajuda, seja ela grande ou pequena nego se nega a ajudar. Dai vai criticando que continua com error mais pra ajudar numa solução que é bom nada!

 

Infelizmente nem todos entendem tanto de java quanto vocês. Se entendessem mais ajuda iria surgir.

"Eu não ajudo pois quando precisei não recebi ajuda, é um motivo bem simples."

 

"Estou trabalhando na rev 158 para atualizar meu servidor para ela."

 

O cara pega o projeto free e "estável", abre um servidor, ganha dinheiro pakas, tem a cara de pau de dizer que está usando o mesmo para o servidor dele, e fala que não teve ajuda alguma!

 

Pensei que já tinha visto de tudo nesse forum! :)

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

 

 

 

Sim eu compreendo seu ponto de vista, e você está inteiramente certo, mas não vamos entrar em detalhes nem mais discuções sobre este assunto, sabemos quem está com a razão, e discussões por esses temas só vai nos gerar punições.

 

Ainda estou acompanhando o projeto, infelizmente não sei programar em JAVA, até porque não me interessa no momento. Pois minha faculdade irá me ensinar no futuro. Pois eu uso uma pack freya privada ao qual sai realeaces gratuitamente. Acompanho a brxtreme pois gosto de ver o trabalho dos desenvolvedores e porque é o unico projeto ativo aqui no forum tirando os interlude ( coisa que eu não curto pra jogar ).

 

Fico contente que a L2JBrasil ainda está investindo nem que seja um pouco em outra cronicas. Aparantemente não tem nada de muito errado na pack brxtremes que não seja possível arrumar, seria legal caso o Browser volta-se a mexer com ela pois no momento para as pessoas que não estão dispostas a pagar por um bom projeto, a brxtreme está sendo a melhor.

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

tem contra duplicagem de item? Essa merda acaba com qualquer servidor né!Pqp

 

e porque toda vess que vo compilar da esse erro:

 

 

BUILD FAILED
C:\Users\Stefany Gemenes\workspace\CT25-GameServer\build.xml:120: Ant 1.9.1 is required. But your version is Apache Ant version 1.8.2 compiled on December 20 2010 and if you are using Eclipse probably is outdated.

 

alguém me ajujda por favor?

 

Editado por FoxLux

Kaio Alencar

Link para o comentário
Compartilhar em outros sites

  • 3 weeks later...

Ai não sei se o projeto ainda esta ativo, mas achei 2 bugs nele. bem velho e ja é reconhecido pelos players, bugs que podem estragar o pvp.

1: Quando voce usa uma skill, e enchanta ela em seguida, o delay dela é cortado. dando para usar a skill novamente.

2: Skill check protection. Esta funcionando, porem somente quando o player da restart. Isso assim, o player vai poder bugar skills que nao sao da classe dele ate o restart. Não teria um geito de por ela para ja detectar e deletar na hora?

 

vlw

Tempo é valioso e tempo é dinheiro. Não gaste o meu que eu não gasto o seu. 

  •  
Link para o comentário
Compartilhar em outros sites

Não teria um geito de por ela para ja detectar e deletar na hora?

 

Não entendo muito mais acho que posso responder sua pergunta.

Um banco de dados só atualiza os status de um personagem ou de qualquer outra coisa quando é dado um reload ( Restart ), acho que isso é em qualquer jogo, qualquer programa, em tudo, só se atualiza com um restart.

 

Até pra mudar a senha de um roteador tem que "reiniciar". kkkkkkkkkkkkkk zuera!!!

Link para o comentário
Compartilhar em outros sites

 

Não entendo muito mais acho que posso responder sua pergunta.

Um banco de dados só atualiza os status de um personagem ou de qualquer outra coisa quando é dado um reload ( Restart ), acho que isso é em qualquer jogo, qualquer programa, em tudo, só se atualiza com um restart.

 

Até pra mudar a senha de um roteador tem que "reiniciar". kkkkkkkkkkkkkk zuera!!!

sim. porem tem como fazer um codigo para ele checkar a cada Xsegundos ou minutos. fazendo assim, se a protecao encontrar uma skill q n deve estar ali, ela ira deletar a skill.

Tempo é valioso e tempo é dinheiro. Não gaste o meu que eu não gasto o seu. 

  •  
Link para o comentário
Compartilhar em outros sites

sim. porem tem como fazer um codigo para ele checkar a cada Xsegundos ou minutos. fazendo assim, se a protecao encontrar uma skill q n deve estar ali, ela ira deletar a skill.

Da pra fazer isto com base no Server Guard que tem aqui no fórum, é um script que checa a tantos minutos o máximo de itens de moedas x que o jogador tem, se ultrapassa ele deleta.

Se pegar a base consegue fazer de modo que ele cheque as skills e delete caso não exista na classe, verificando lógico a tabela skill_trees.

"Seja feliz do jeito que você é, não mude sua rotina pelo o que os outros exigem de você, simplesmente viva de acordo com o seu modo de viver."

(Yato - Noragami)

 

 

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.