Ir para conteúdo
  • Cadastre-se

[Tutorial] Criando Servidor de Lineage 2


Kelvin
Message added by Grundor

Atenção, esse tópico está desatualizado, use https://curso.l2jbrasil.com para um tutorial mais atualizado sobre como criar seu servidor de lineage 2.

Posts recomendados


ai sera q alguen podia me ajuda eu to criano um serve so q ta dano um erro na hora q eu tenho q executa o RegisterGameServe nao sei oq pode ser.Eu fiz tut conforme um tuto do Kelvin nao sei oq ta aconteceno ai um SS do q aparece http://img407.imageshack.us/my.php?image=r...meservermt1.jpg

Link para o comentário
Compartilhar em outros sites

SKYCROWS ESTOU TENDO O MESMO PROBLEMA QUE VC .... ANDEI LENDO OS SEUS POSTS E VI QUE RESOLVEU ... TEM COMO POSTA A SUA C:\Server\gameserver\config no arquivo Server E A C:\Server\login\config Arquivo Loginserver ???

VLW BRIGADO ;)

 

Seu problema e do SkyCrows, é que o Server não reconhece o IP, e vocês não conseguem deixar mais o Servidor Online? Isso mesmo?

Link para o comentário
Compartilhar em outros sites

issu mesmo shez (to usando o Zaum Interlude L2JOneo Server) meu problema ta mesmo em coloca os ips corretos nos lugares certos ;X

 

brigadao ae shez

 

Problema Resolvido. ;D

Link para o comentário
Compartilhar em outros sites

Xiii =/ agora to com problema na tela dps do login do l2 .... a mesma do skycrow clico pra entra no sv e n da nada

 

GAME SERVER :

# This is the server configuration file. Here you can set up the connection for your server.

# Usually you have to change the ExternalHostname option to

# - 127.0.0.1 (if you want to play alone / testing purpose)

# - LAN IP* (if you want to play from another computer in the network)

# - WAN IP** (if you want to play with friends over internet)

# - Questions? => http://l2jserver.com

#

# * = If you want to get your LAN IP, simply choose "Start" => "Run..." then type "cmd" => "ipconfig"

# **= If you want to get you WAN IP, visit http://www.whatismyip.com

# ================================================================================

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

 

# ================================================================

# General server setting !!! REQUIRED to configure to everyone !!!

# ================================================================

 

# Bind ip of the gameserver, use * to bind on all available IPs

GameserverHostname=127.0.0.1

GameserverPort=7777

 

# This is transmitted to the clients connecting from an external network, so it has to be a public IP or resolvable hostname

# If this ip is resolvable by Login just leave *

ExternalHostname=l2pvpbrasil.ddns.com.br

 

# This is transmitted to the client from the same network, so it has to be a local IP or resolvable hostname

# If this ip is resolvable by Login just leave *

InternalHostname=l2pvpbrasil.ddns.com.br

 

# The Loginserver host and port

LoginPort=9014

LoginHost=127.0.0.1

 

# This is the server id that the gameserver will request (i.e. 1 is Bartz)

RequestServerID = 2

# If set to true, the login will give an other id to the server if the requested id is allready reserved

AcceptAlternateID = true

 

# Database info

Driver=com.mysql.jdbc.Driver

#Driver=org.hsqldb.jdbcDriver

#Driver=com.microsoft.sqlserver.jdbc.SQLServerDriver

URL=jdbc:mysql://localhost/l2jdb

#URL=jdbc:hsqldb:hsql://localhost/l2jdb

#URL=jdbc:sqlserver://localhost/database=l2jdb/user=sa/password=

Login=root

Password=

MaximumDbConnections=50

MaximumStateMents=100

MaxPoolSize=50

MinPoolSize=10

AquireIncrement=1

IdleConnectionTest=10800

MaxIdleTime=0

 

# Datapack root directory, defaults to current directory from which the server is started

# DatapackRoot = C:/Work/tmp/DataPack

 

# Define character name template

# Example to use only : CnameTemplate=[A-Z][a-z]{3,3}[A-Za-z0-9]*

# will allow names with first capital letter, next three small letters,

# and any (capital or not) letter or number, like ZbigN1eW

# Most rational to have CnameTemplate=[A-Z][a-z]*

# meaning names only of letters with first one capital, like Zbigniew

# Default .* - any namy of any symbols

CnameTemplate=.*

PetNameTemplate=.*

 

# Maximum number of chars per account - Default 7 (0 = unlimited [7 is the client limit])

CharMaxNumber = 7

 

# Define how many players are allowed to play simultaneously on your server.

MaximumOnlineUsers=500

 

 

# Minimum and maximum protocol revision that server allow to connect.

# You must keep MinProtocolRevision <= MaxProtocolRevision.

MinProtocolRevision = 740

MaxProtocolRevision = 746

 

LOGIN SERVER :

 

# This is the server configuration file. Here you can set up the connection for your server.

# Usually you have to change the ExternalHostname option to

# - 127.0.0.1 (if you want to play alone / testing purpose)

# - LAN IP* (if you want to play from another computer in the network)

# - WAN IP** (if you want to play with friends over internet)

# - Questions? => http://l2jdbserver.com

#

# * = If you want to get your LAN IP, simply choose "Start" => "Run..." then type "cmd" => "ipconfig"

# **= If you want to get you WAN IP, visit http://www.whatismyip.com

# ================================================================================

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

 

# ================================================================

# General server setting !!! REQUIRED to configure to everyone !!!

# ================================================================

 

# This is transmitted to the clients connecting from an external network, so it has to be a public IP or resolvable hostname

ExternalHostname=l2pvpbrasil.ddns.com.br

# This is transmitted to the client from the same network, so it has to be a local IP or resolvable hostname

InternalHostname=127.0.0.1

 

# Bind ip of the loginServer, use * to bind on all available IPs

LoginserverHostname=*

LoginserverPort=2106

# How many times you can provide an invalid account/pass before the IP gets banned

LoginTryBeforeBan=20

# Time you won't be able to login back again after LoginTryBeforeBan tries to login. Provide a value in seconds. Default 10min. (600)

LoginBlockAfterBan=600

GMMinLevel=100

 

# The address on which login will listen for GameServers, use * to bind on all available IPs

LoginHostname=127.0.0.1

 

# The port on which login will listen for GameServers

LoginPort=9014

 

# If set to true any GameServer can register on your login's free slots

AcceptNewGameServer = true

 

# If false, the licence (after the login) will not be shown

# It is highly recomended for Account Seciurity to leave this option as defalut (true)

ShowLicence = true

 

# Database info

Driver=com.mysql.jdbc.Driver

#Driver=org.hsqldb.jdbcDriver

#Driver=com.microsoft.sqlserver.jdbc.SQLServerDriver

URL=jdbc:mysql://localhost/l2jdb

#URL=jdbc:hsqldb:hsql://localhost/l2jdb

#URL=jdbc:sqlserver://localhost/database=l2jdb/user=sa/password=

Login=root

Password=

MaximumDbConnections=50

MaximumStateMents=100

MaxPoolSize=50

MinPoolSize=10

AquireIncrement=1

IdleConnectionTest=10800

MaxIdleTime=0

 

# Useable values: "true" - "false", use this option to choose whether accounts will be created

# automatically or not.

AutoCreateAccounts=false

 

# The delay in minutes after which the login updates the gameservers IP's (usefull when their ip is dynamic)

IpUpdateTime=0

 

 

# ==============================================================

# Test server setting, shoudnt be touched in online game server

# ==============================================================

 

Debug = false

Assert = false

Developer = false

 

# Enforce GG Authorization from client

# Login server will kick client if client bypassed GameGuard authentication

ForceGGAuth=true

 

#FloodProtection. time in ms

EnableFloodProtection=true

FastConnectionLimit=15

NormalConnectionTime=700

FastConnectionTime=350

MaxConnectionPerIP=50

 

 

Eu kero fze um server online ... pela net e talz... do tentando acc ela pelo mesmo pc do server . Quem soube o problema me ajuda aew ;) vlws !

Link para o comentário
Compartilhar em outros sites

Eu tbm estou cum o erro do LOGIN quando executo o LOGI SERVE CONSOLE

 

Ele dá SERVIDOR TERMINOU COM ALGUMA ANORMALIDADE!

 

Se alguem pude-se me ajudar a colocar os IP's certos nos Lugares certos,

o Problema ke vou usar o serve aki na lan house,

Já criei tudo certin NO-IP tudin soh falta eu colocar no lugar certo os IP's

Some people simply are worth. Luanna

coracao.gif

 

Não basta conquistar a sabedoria, é preciso utilizá-la bem.

 

22760012.jpg

Link para o comentário
Compartilhar em outros sites

KELVIN VEI EU TO COM ESSE ERRO AKI VEI SE TU SOUBER OQ PODE SER EU AGRADECO DESDE JAH VLWW!!

 

 

 

:o olhaap5.jpg :o

 

 

ESTOU TENTANDO MONTAR 1 SERVIDOR DE INTERLUDE E ESTOU USANDO A REV 2052

 

MYSQK 5.0

NAVICAT 8.0

MAS DA SEMPRE ESSE ERRO OQ PÓDE SER??

 

VLW DESDE JAH!

 

T+

bannerwdg.gif

Eles podem tentar me derrubar , mas nunca conseguirão pois eu sou BRASILEIRO e nao desisto Nunca!

Link para o comentário
Compartilhar em outros sites

ESTOU TENTANDO MONTAR 1 SERVIDOR DE INTERLUDE E ESTOU USANDO A REV 2052

 

MYSQK 5.0

NAVICAT 8.0

MAS DA SEMPRE ESSE ERRO OQ PÓDE SER??

 

VLW DESDE JAH!

 

T+

 

Reinstale novamente sua data base.

LinusXX.png

Link para o comentário
Compartilhar em outros sites

KELVIN VEI EU TO COM ESSE ERRO AKI VEI SE TU SOUBER OQ PODE SER EU AGRADECO DESDE JAH VLWW!!

 

 

 

:o olhaap5.jpg :o

 

 

ESTOU TENTANDO MONTAR 1 SERVIDOR DE INTERLUDE E ESTOU USANDO A REV 2052

 

MYSQK 5.0

NAVICAT 8.0

MAS DA SEMPRE ESSE ERRO OQ PÓDE SER??

 

VLW DESDE JAH!

 

T+

 

vc tem ke cria uma database no navicat com o nome "l2jdb"

Link para o comentário
Compartilhar em outros sites

KELVIN VEI EU TO COM ESSE ERRO AKI VEI SE TU SOUBER OQ PODE SER EU AGRADECO DESDE JAH VLWW!!

 

 

 

:o olhaap5.jpg :o

 

 

ESTOU TENTANDO MONTAR 1 SERVIDOR DE INTERLUDE E ESTOU USANDO A REV 2052

 

MYSQK 5.0

NAVICAT 8.0

MAS DA SEMPRE ESSE ERRO OQ PÓDE SER??

 

VLW DESDE JAH!

 

T+

 

O Servidor não está reconhecendo uma db com nome l2jdb.

 

Você dever ter colocando outro nome, tente cria com l2jdb, e tente restaura o Backup denovo.

Link para o comentário
Compartilhar em outros sites

Vlw pela Ajuda do forum!!

 

Consegui criar o meu servidor tudo certin

 

Vo dar uma olhadinha aki no serve pra ver se tem a Systexture e animations pra naum dar CE

 

Se alguem pode me ajudar

 

Fl's

Some people simply are worth. Luanna

coracao.gif

 

Não basta conquistar a sabedoria, é preciso utilizá-la bem.

 

22760012.jpg

Link para o comentário
Compartilhar em outros sites

Ola, Estou precisando da ajuda de um moderador / alguem que saiba responder meu problema. Nao estou conseguindo passar da tela depois do login .

 

Shot00010.jpg

 

Reinstalei e instalei tudo umas 500x ... Aki estao as fotos do Server.pro e Login.pro

 

Server : server.jpg

 

Login : login-1.jpg

 

 

 

l2server.jpg

 

Quem souber a resposta do meu problema poste ai porfavor ... Obrigado

 

Resolvi o problema ja sauhasuhasu descobri sozim + vlw... agora vo espera o shez termina o pack dele

Link para o comentário
Compartilhar em outros sites

  • L2JBr ADM

@xReLooaDDDx

 

Note no Game onde tem Internalhostname=l2pvpbrasil.ddns.com.br

 

Tire o endereço DDNS e ponha o IP 127.0.0.1 e tente logar. A nao esqueça de ver se o seu l2.ini esta com o ip 127.0.0.1 tmb.

Link para o comentário
Compartilhar em outros sites

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