Ir para conteúdo
  • Cadastre-se
  • 0

Como configurar o Servidor para mais players ?


{L2Fx}

Pergunta

É o seguinte... Achei o LINK deste forum na RzBr... Que por sinal sempre achei alguns de la meio egoistas... Nao sei se era marcação comigo. Mas nunca respondia nada que eu perguntava direito.

Pois bem... Achei o FORUM bem interessante e parabens desde ja pela iniciativa, um forum especifico para quem mexe com L2J. Bem legal!

 

Vamos ao pedido entao...

 

A tempos eu venho rodando, trocando de DEDICADOS, sempre na espectativa de conseguir algo que aguentasse mais players ON do que o que eu tenho... E nunca fui FELIZ.

Ja faz um tempo que meu SERVER fica limitado, por toda vez que chegar entre 120 a 150 players comeca um LAG insuportavel.

Ai voces devem estar pensando, o PC deleé fraco, mas nao é! Ja tentei de tudo quando é maquina, desde R$400,00 ate R$1.500,00 de aluguel... E nada!

 

Eu uso um SERVER da L2JDP INTERLUDE, e tenho o seguinte DEDICADO:

 

Processador Intel Core 2 Quad Q9300

Memória RAM: 8GB DDR2

Disco rigido: 2x250gb SATA2

S.O: Windows 2003 Standard x64

Uplink: 100mbps / 2000GB tráfego mensal

 

Hospedado: Dallas

Empresa: Limestone

Uptime: 99,9%

 

Isto ai tudo nao passa de 150 player nem por reza brava... É lag na Certa...

Segue abaixo também a minha configuração do BAT do GAME SERVER.

 

@echo off

title Game Server Console

IF EXIST update\l2jserver.jar goto update

IF NOT EXIST update\l2jserver.jar goto start

:update

move /y "update\l2jserver.jar"

Echo Atualizou

Echo.

goto start

:start

echo Starting L2J Game Server.

echo.

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

REM Default parameters for a basic server.

REM java -Xmx4096m -cp bsf.jar;bsh-2.0b4.jar;commons-logging-1.1.jar;mmocore.jar;javolution.jar;c3p0-0.9.1.2.jar;mysql-connector-java-5.0.7-bin.jar;l2jserver.jar;jython.jar net.sf.l2j.gameserver.GameServer

java -server -Dfile.encoding=UTF-8 -Xmx4096m -Xmn1024m -XX:PermSize=256m -XX:SurvivorRatio=8 -Xnoclassgc -XX:+AggressiveOpts -cp bsf.jar;bsh-2.0b4.jar;commons-logging-1.1.jar;mmocore.jar;javolution.jar;c3p0-0.9.1.2.jar;mysql-connector-java-5.0.7-bin.jar;l2jserver.jar;jython.jar net.sf.l2j.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 -------------------------------------

if ERRORLEVEL 2 goto restart

if ERRORLEVEL 1 goto error

goto end

:restart

echo.

echo Admin Restart ...

echo.

IF EXIST update\l2jserver.jar goto update

goto start

:error

echo.

echo Server terminated abnormaly

echo.

:end

echo.

echo server terminated

echo.

pause

 

Pois entao... queria ver se alguma ALMA bondosa realmente conseguisse me ajudar neste problema... Fizesse uma explicação legal, de como tudo funciona, o que pode ser e tals... Onde eu mexer, e mudar...

 

Desde ja, muito Obrigado!

Link para o comentário
Compartilhar em outros sites

13 respostass a esta questão

Posts recomendados

  • 0

Vo tenta te ajuda:

 

> [Tutorial]Como Aumentar o Rendimento do Seu Pc!, Como aumentar o rendimento do seu pc

http://www.l2jbrasil.com/index.php?showtopic=895

 

 

> [Tutorial] Aumentando rendimento do PC para suportar mais players.

http://www.l2jbrasil.com/index.php?showtopic=117

 

Achei esses tutoriais aqui mesmo, na L2JBrasil

Espero que ajudem

 

Voce com um dedicado desse nao poderia estar com leg

de maneira alguma ^^

 

Boa Sorte

Link para o comentário
Compartilhar em outros sites


  • 0

POis é amigo... Mas estes TUTOS ai nao sao nada do que eu estou PRECISANDO.

Ele ensina a melhor performace de ADMS que usam PC domestico para colocar o SERVER, com WIN XP e tals...

Eu tenho um DEDICADO, com WIN 2003 SERVER 64BITS...

 

E fato é que tem algo errado no MEU SERVER... Nao sei mais o que fazer sinceramente... é lag atras de mais lag.

E nao é LAG de conexao pq eu dou PING no IP do meu server e ta exelente... e a maquina tb, como todos viram acima... Esta exelente.

Mas o fato é que tem algo errado... pq sao TRAVADAS mesmo, trava geral, fica uns 10 SEGUNDOS e ai volta!...

 

Me ajude alguem, pelo amor de DEUS!

Link para o comentário
Compartilhar em outros sites

  • 0
  • L2JBr ADM

Bom já é uma grande coisa você ter desse tanto de players parabéns.

 

Vamos lá, o lag pode ser por diversas maneiras, DC ruim, config ruim, tem que ver versão de softwares, se estão atualizados, banco de dados, outra coisa é ter tudo no mesmo DC, site, forum, servidor, download, updater e etc.

 

O bom seria comprar um host nele você colocaria Site, Patch, Updater e Forum.

No DC marcar o MySQL como Dedicate.

Mudar a config do gameserver para.

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 -------------------------------------

if ERRORLEVEL 2 goto restart

if ERRORLEVEL 1 goto error

 

REM

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

REM java -server -Xmx4096m -Xms2048m -Xmn1536m -XX:PermSize=1024m -XX:SurvivorRatio=8 -Xnoclassgc -XX:+AggressiveOpts

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

if ERRORLEVEL 2 goto restart

if ERRORLEVEL 1 goto error

 

Outra coisa se poder tmb alugar um DC fraquinho para por só o loginserver e o game deixar no DC de 8GB.

 

Ve se o Windows está atualizado, checa update do Java e etc.

 

 

Bom fazendo ou checando basicamente isso da pra dar uma revivida no DC de uns 40%.

Link para o comentário
Compartilhar em outros sites

  • 0

Mas so rodo o GAME SERVER e LOGIN server mesmo no DEDICADO.

Dedicado é exelente, ping nao passa de 200Ms. Por ser um DEDICADO americano esta exelente.

 

Windows atualizado, e tudo mais... Procurei saber, e algumas pessoas me disseram que meu problema era o MYSQL.

Estava mal configurado... :S

Link para o comentário
Compartilhar em outros sites

  • 0
  • L2JBr ADM

Essa ilusão que só pq o dedicado é americano ele é melhor.. isso não existe...

eles são os melhores em custo beneficio mas não os melhores mesmo... o japão e o canadá também tem ótimos DC's,

Essa config

REM java -server -Xmx4096m -Xms2048m -Xmn1536m -XX:PermSize=1024m -XX:SurvivorRatio=8 -Xnoclassgc -XX:+AggressiveOpts

 

só a faça se realmente seu server estiver dedicado... pq se nao provavelmente vai dar mais lag que o normal.

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

  • 0
Sim amigo, la nos COMENTARIOS da linha, avisa que so é pra fazer isto se SEU SERVER for um DEDICADO.

E o meu é. Pode ficar tranquis.

 

Vamos analisar alguns pontos muito importantes:

 

1.) Seu servidor visa atingir qual público específico? Nacionais ou extrangeiros? Se 70% são brasileiros, nem sempre hospedar fora é a melhor solução. Caímos em um ponto crucial ($$$$$$$). Qual sua disponibilidade financeira, doações, etc? Se grande parte de seus Players são nacionais, quanto mais próximos a eles ficar seu servidor, melhor é, porém, servidores dedicados no BR são bem mais caros, graças aos impostos no Brasil. Se você pegar uma configuração semelhante aqui no Brasil, mas com um link de 12mb ou 16mb dedicados, conseguirá alocar mais do que o dobro de players sem lag. Um servidor hospedado no BR tem a grande vantagem de: em uma conexão Player->Server, o caminho trafegado nos pontos até chegar a seu servidor é muito menor do que em um servidor hospedado fora. Com isso ganha-se muito em velocidade.

 

2.) Evite utilizar 2 HD's SATA. Opte por deixar o BD em um HD separado do GameServer, preferencialmente em um HD Raptor ou qualquer outro com rotação entre 10k/15k rpm.

 

3.) Ajuste corretamente a inicialização JAVA de seu gameserver, como já citado acima.

WoK_4.jpg

Software Engineer

L2Off & L2J Server Developer

YouTube Channel: http://www.youtube.com/GMCronus

Official Lineage][WoK Twitter: http://www.twitter.com/L2WoK

Link para o comentário
Compartilhar em outros sites

  • 0

Cara esse tópico é coisa de gente grande mais deixa eu dar um palpite. Há um tempo atrás eu era player em um server muito bom que por ser tão bom players de outros servers estavam migrando para ele. Bom, os admins de um determinado server começaram a atacar o servidor causando isso que vc está descrevendo, ou seja, vai lagando vai lagando até travar. Eles estavam usando a porta 80 do site pra ferrar o server. Será que não pode está acontecendo isso ai não? Não admins de outros servers mais pessoa que te conhece e não querem ver o seu sucesso. Tá ai uma dica.

Link para o comentário
Compartilhar em outros sites

  • 0

Pedido pra resolver uma dúvida de configuração???, cada vez q o forum vai crescendo isso tende a ficar pior, e muita gente posta novos pedidos ou dúvidas de coisas q ja foram ate solucionadas aqui no fórum, fiquei uma semana off ja bagunçaram xD

AWAY MODE [ON]

Link para o comentário
Compartilhar em outros sites

  • 0
  • L2JBr ADM

Configuração pra dedicated machine é só pra quando vc só vai usar o mysql e o SO na máquina... mas se vc vai colocar login server site etc..

 

coloca a segunda opção e coloca umas 1200 conexões.

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

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.