Ir para conteúdo
  • Cadastre-se

Problema na revisão L2JFROZEN (LOGIN)


Kelvin

Posts recomendados


eu também tinha reportado isso ao devs da frozen, só que eles não fizeram a correção .

muito legal da sua parte kelvin . obrigado .

Masturbe sua mente, goze suas ideias.

Link para o comentário
Compartilhar em outros sites

Esse problema da em quem usa o java 7.

é necessário usar o jdk7 na jfrozen, e em muitas outras,

bastante importante baixar isto .

Masturbe sua mente, goze suas ideias.

Link para o comentário
Compartilhar em outros sites

  • L2JBr ADM

Não encontrei restrição, em todos os meus testes ocorre este problema.

 

Se você tem um processador mais parrudo dificilmente ira notar porque os picos são rapidos, mas para quem usa VPS, maquina virtual ou um PC mais modesto que é o caso da grande maioria o problema é latente.

Link para o comentário
Compartilhar em outros sites

é necessário usar o jdk7 na jfrozen, e em muitas outras,

bastante importante baixar isto .

To usando o jdk 6 update 33 em meu servidor.

Quando usei o jdk 7 tive o problema com o loguin usando 100% da CPU.

 

Outro problema é que o windows server 2003 não é muito bom para usar com a frozen, O código deles funciona melhor no linux.

O zumbi e a prova morta de que alguem morto pode ser a prova viva de que ha vida apos a morte !

Link para o comentário
Compartilhar em outros sites

Obrigado pela dica Kelvin, também tentei reportar erros para eles e sem sucesso.

Valeu pela correção.

pD5PSQp.png

" Você nunca sabe que resultados virão de suas ações, mas se você não fizer nada, não existirão resultados"

 

 

Link para o comentário
Compartilhar em outros sites

Eu já tinha percebido isso pode também ocorrer travamentos no jogo nem a L2j Teon pesava tanto assim, tipo você digita //admin ai vai em opções no mesmo menu, e não carrega no caso eu uso Alt Tab, e pega mais eu estou usando Dream agora e está normal.

Você sabia que a L2JBrasil tem uma empresa de Hosting Oficial?
Conheça a L2JCenter.com

L2JBRASIL - 15 anos vendendo SS e flechas em Giran! (Trade / Adena)

Link para o comentário
Compartilhar em outros sites

Entao acredito que todo aquele meu problema (vc sabe qual) daquela vez tem haver com isso..

Obrigado!

hYLPO.gif

kBmUrWZ.gif

SkyNeTl500x/500sp/1000adlTvT, Ctf, DMlSafe+10, max+20Armas, +20 Set'slArmor TT,DK, Weapon IC 200+ ON

Facebook I l Facebook II

Perfil

Link para o comentário
Compartilhar em outros sites

kelvin, o uso maximo do cpu é configurado dentro dos arquivos login.bat game.bat

já ocorreu comigo. configurei de boa sendo que meu pc era uma merda... e ocorreu uma grande melhoria.

 

 

 

TITULO REAL : Como fazer uma pack Pesada rodar num computador LEVIANO! Sem Precisar Upar pro DC/VPS/Host! etc. (Com Configurações basicas) [MEGATUTORIAL]

 

 

bom ... para aqueles tem problema com aquele tipo de pack pesado

e seu pc não suporta, ou como seu pc é um horrivel, sem querer ofender ...

Que nem meu pc ! com as configs

Processador : AMD Athlon 2.0

Memoria Ram : 1,5 GB

 

e não roda teon ? OXE AGORA LASCOU, MINHA PACK É TEON, O QUE EU FAÇO? :(

...

esse tutorial vai resolver seu problema ...

- coomo resolver meu problema, teon num é pesada pra caramba, e num tem que tirar muitas coisas pra deixar ela leve?

- bom por um lado sim, e por outro não ... hoje estava com um cliente meu.

e esse cliente estava com esse problema o pc dele era indo e voltando melhor que o meu, sendo que ... ele não logava na pack! ele ligava a pack ea Memoria fisica do PC foi pra 2,5 GB ,sendo que seu pc era só 1 GB de memoria ...

 

 

 

deixarei algumas Observações para que entendam melhor o que eu quero passar para vocês, ok?

 

 

enfim vamos ao que enteressa. hehe

 

==================

 

1º Vamos pegar uma pack a escolha, como teon ou algo do tipo ...

bom, usei meu projeto.

- EU USEI MEU PROJETO ENTÃO NÃO TEREMOS NENHUM PROBLEMA AO USAR OUTRO ... SOMENTE SIGA AS INSTRUÇÕES CORRETAMENTE.

 

então ... vamos mecher dentro do arquivo Gameserver.bat e LoginServer.bat

 

Vamos ao GameServer.bat

 

REM -------------------------------------

REM Default parameters for a basic server.

java -Dfile.encoding=UTF8 -Xmx1024m -Xms512m -Xmn256m -XX:PermSize=512m -XX:SurvivorRatio=8 -Xnoclassgc -XX:+AggressiveOpts -XX:+UseSerialGC -cp ./lib/*;l2jdemonniac-core.jar com.l2jdemonniac.gameserver.GameServer

REM

REM If you have a big server and lots of memory, you could experiment for example with

REM java -server -Xmx1536m -Xms1024m -Xmn512m -XX:PermSize=256m -XX:SurvivorRatio=8 -Xnoclassgc -XX:+AggressiveOpts

REM -------------------------------------

iremos modificar somente a parte em VERMELHO,

bom isso está normal, coomo deveria estar na pack ..

a parte em AZUL, é a parte em que iremos modificar para usar a memoria fisica. usando esta config iremos usar X de CPU. e memoria fisica.

 

IMAGEM 1:

33208178.jpg

 

OBS: minha nossa, usando uma config assim meu pc num abre nem internet explorer. :O . e sendo que eu tenho sómente 1 GB De memoria no meu COMPUTADOR. assim ele é capaz de REINICIAR. ou até mesmo queimar! ://

 

2º Vamos Modificar agora para usar menos memoria para vê quanto ficamos e quanto melhorou a nossa configuração...

usamos as seguintes configs:

 

java -Dfile.encoding=UTF8 -Xmx1024m -Xms512m -Xmn256m -XX:PermSize=256m -XX:SurvivorRatio=8 -Xnoclassgc -XX:+AggressiveOpts -XX:+UseSerialGC -cp ./lib/*;l2jdemonniac-core.jar com.l2jdemonniac.gameserver.GameServer

Configuramos para usar somente 256 da memoria, e veremos quanto da memoria fisica iremos ficar.

vejam que o AZUL, está diferente do acima. certo? pois modifiquei para usar somente 256 da memoria do MEU computador, então vejamos se diminuiu alguma coisa, e melhorou algo. ok ? vamos lá..

 

IMAGEM 2:

79571417.jpg

 

OBS: Opa... agora sim meu pc já pode rodar uma pack tão pesada assim, :arghh: .

ops, agora lascou tudo mas meu pc só tem 1 GB de memoria se eu abrir o l2 pra testar ele nem irá abrir, tem risco de travar meu pc, e eu ficar na vontade de testar! :cry:

 

3º Agora vamos modificar alguma coisa pra tentar facilitar, acho que vou tentar com 128 da memoria, vamos vê o que acontece quando uso, acho que deve ser o bastante .. mas vamos vê ..

 

java -Dfile.encoding=UTF8 -Xmx1024m -Xms512m -Xmn256m -XX:PermSize=128m -XX:SurvivorRatio=8 -Xnoclassgc -XX:+AggressiveOpts -XX:+UseSerialGC -cp ./lib/*;l2jdemonniac-core.jar com.l2jdemonniac.gameserver.GameServer

 

Bom Desta vez, a parte em AZUL dê até certo já que estamos pensando no sentido sucessivo da memória, então iremos testar o 128 e vamos vê qual resultado, já que eu tenho somente 1GB de memória no meu computador. acho que teremos que tentar mais ...

 

IMAGEM 3:

17250753.jpg

 

OBS: aaah que chato mermão diminuiu pouco, putz . e agora ? assim fica dificil de fazer rodar uma pack pesada no meu computador não acha? mas vamos tentar só mais uma vêz pra vê o que temos ...

 

 

4º Bom desta vez iremos, tenta usar uma coisa basica baixa e que possa ser usado sem prejudar o computador ou a pack ..

irei testar a seguinte config:

 

java -Dfile.encoding=UTF8 -Xmx1024m -Xms512m -Xmn256m -XX:PermSize=32m -XX:SurvivorRatio=8 -Xnoclassgc -XX:+AggressiveOpts -XX:+UseSerialGC -cp ./lib/*;l2jdemonniac-core.jar com.l2jdemonniac.gameserver.GameServer

 

putz e agora é a minha ultima tentativa .. :GEEK:

 

e iremos vê como ficou nossa queridissima pack pesada...

 

IMAGEM 4:

11845454.jpg

 

OBS: O MYYY GODDD! que difereeença! :D:D:D:D . agora irei sempre testar as pack pesadas que tenho aqui. HUHUHUHU, estou muito feliz ...

 

 

 

========= FIM DO TUTORIAL =========

 

 

Créditos: eu mesmo . allanalcantarA

- por que os OBS: para entender mais o que se está falando e me passar como um de vocês, coomo já fiz isso.

- por que as imagens: para ter a noção de como reduz de verdade as configs, embora a pack seja pesada ou não...

- por que o tutorial: para ajudar muitos com esse problema, como eu...

Meu pc é ridículo, então tenho que bater com esse problema todos os dias quando ligo uma pack aqui ...

 

para quem acha que estou brincando com as configs do meu pc ..

ai vai uma foto desnecessária mas valida.

 

SS:

73121383.jpg

 

obrigado ...

e não esqueça de agradecer! :D

 

 

foi feita com base no lag da teon de antigamente, mas serve como base para todos as packs...

 

quem via, eu ligando uma pack teon e 2 l2, nesse pc nem acreditava. mas testa ai esse estilo e vê se ajuda. rsrs =)

 

Não vamos esquecer com os cuidados com o erro de VM(Memoria Virtual).

Editado por Allan Alcantara

 

Olá, Seja bem vindo, deixei de fazer videos faz tempo, mas ainda tenho canal! KKK Eram bons videos, muita coisa bacana, mas cansei! Agora só desenvolvo! KAKAK 
Se tiver dúvidas, mande uma mensagem!

▶️ youtube.com/allaanz1n
🌐 allan.deh [Skype]

Link para o comentário
Compartilhar em outros sites

  • L2JBr ADM

O login que passei rodo em VM de 1GB com 1 core sem problemas. É uma forma rapida e simples pra galera que não tem conhecimento ou preguiça de ler resolver seu problema rapidamente.

 

--

 

PS: Ainda ta com esse PC? tsc tsc tsc

Link para o comentário
Compartilhar em outros sites

Kelvin o Login usa 100% quando atinge a quantidade especificada na configuração ai ele tenta buscar recursos mas não consegue ai começa a travar dar lag etc..

 

Aconselho a usarem assim

 

 

 

 

java -Xmx64m -XX:+UseParallelGC -XX:+AggressiveOpts -XX:ParallelGCThreads=2 -XX:MaxPermSize=64m -cp

 

 

 

 

Edite a parte vermelha a seu agrado lembrando quanto menos vc colocar maior o risco de travamentos...

 

PS:

 

 

Basicamente isso configura os gastos de uso da pack quanto melhor for o seu pc aconselho almentar...

 

 

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

  • L2JBr ADM

Bian, tenha em mente que isso que passo é para clientes que utilizam VPS ou comp***dores menos "parrudos". Não à logica um login consumir 100% do uso do CPU com 10 players online.

Esse postado é o default da L2JServer, serve certinho no JFROZEN e não consome praticamente nada.

 

Mesmo você alterando o MaxPermSize para um valor menor o consumo ainda é auto, baixe um VMWARE, VIRTUAL BOX algo, virtualize o windows 2003 ou 2008 com apenas 1 core teste. Simplesmente inavegável.

Link para o comentário
Compartilhar em outros sites

Pessoal, venho aqui no fórum informar um problema grave que estamos enfrentando com a revisão JFROZEN.

 

Não apenas eu, mas os demais enunciantes do forum quando temos clientes que utilizam da mesma.

 

Ela esta com um bug terrível no seu LOGINSERVER que ao ser usado em qualquer VPS consome completamente todo o uso de CPU deixando sempre em 100% e causando travadeira, lag, congestionamento e outros transtornos aos donos de servidores.

 

Quem utiliza a revisão poderá abrir o gerenciador de tarefas e verificar o processo java.exe com um baixo consumo de memoria mas um alto consumo de CPU.

 

Isso não tem logico alguma para o sistema, já tentei informar isso aos desenvolvedores mas sem sucesso.

 

Então antes que vocês quebrem cabeça, culpem os pobres donos de host ou culpem o coitado que criou o pré configurado, estão avisados.

Para quem já esta com este problema ou deseja evitar esta aqui uma correção do login que pode ser usada em qualquer revisão, mas em especial para JFROZEN.

 

Façam o teste com seu login atual e com esta e verão a diferença.

 

http://www.4shared.c...njER/Login.html

 

Boa sorte ;)

 

 

Ola Kelvin !

eu to rodando o meu server no outro pc que roda a ultima versão lineage 2 goddess of destruction ne uma boa com os graficos no maximo

mais mesmo assim quando eu ligo o server da umas travadas !

vc acha que é normal ou tem ave com esse bug ? e vc acha que isso pode realmente danificar o meu pc de alguma forma que de defeito nele ?

 

Eu tinha achado que os pre-confegurado da l2jfrozen eram os mais seguros !

Obrigado dez de ja por te avizado !

123_zps8d1c8ff0.gif?t=1399029012

Link para o comentário
Compartilhar em outros sites

uma questão como adapitar no atual?

ou é so substituir?

so substituir ....

343hhrb.jpg

Sempre Criando Novos Projetos: Para visualizar Clica Aqui

‘̿’̿ ̿\̵͇̿̿\з=(•̪●)=ε/̵͇̿̿/’̿’̿ ̿

………..▌………

………./ .……...

Link para o comentário
Compartilhar em outros sites

so substituir ....

 

eu fiz isso e não deu certo , diz que o server terminou com anormalidade ...

tive que por a antiga em cima , esperando a solução do problema !!

 

 

 

varios agradecem , sabem como eu posso resolver o meu problema e não tem a corage de me ajuda

isso e fora do serio !!! moderadores e outros postam comentarios e não tem a corage de me ajuda

 

para a administração do forum isso e correto ??

 

 

( problema resolvido )

Editado por dudleyps
123_zps8d1c8ff0.gif?t=1399029012

Link para o comentário
Compartilhar em outros sites

subistitui tbm e deu conflito ao reconhecer o gameserver.

 

 

//edit

 

creio que uma explicação detalhada de como efetuar a adequação... agradeço;

 

Frozen v2 bySouza.... minha rev.

Editado por KennedyWashinton
devilh1v.png l140420.gif

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.