Ir para conteúdo
  • Cadastre-se

Configurando DataBase L2JFrozen


Allan Alcantara

Posts recomendados

bom, para aqueles que ainda tem problemas de instalar o database, com a rev l2jfrozen.

vou lhes mandar um tutorial, simples e facil de aprender. ok?

bom vamos lá.

 

Dentro da rev l2jfrozen

você vai encontrar pastas cujo nome "gameserver" , "loginserver", "sql" e "tools" ..

bom, vamos usar a pasta tools .

abrindo ela você vai encontrar alguns arquivos, correto?

um desses arquivos está no formato .bat (MS-DOS)

vamos mecher somente no "Database Installer"

clique com o botão direito encima do Database Installer

ai depois você vai clicar em EDITAR!

Após ter feito isso vai aparecer :

 

 

 

 

 

@echo off

 

REM ###############################################

REM ## Configurate Database Connections please! ##

REM ###############################################

REM Please, type here you dir to mysql directory \bin. Example : C:\Program Files\MySQL\MySQL Server 5.1\bin

set mysqlBinPath=C:\Program and Files\MySQL\MySQL Server 5.1\bin

 

set DateT=%date%

 

REM Configurate database connection loginserver

set lsuser=root

set lspass=root

set lsdb=loginserver_database

set lshost=localhost

 

REM Configurate database connection Gameserver

set gsuser=root

set gspass=root

set gsdb=gameserver_database

set gshost=localhost

REM ############################################

 

bom, eu não coloquei o arquivo todo, pois somente iremos utilizar essa parte!

bom, vocês estão vendo a parte em VERMELHO, bom e essa parte que iremos utilizar.

 

você ira modificar conforme o seu database,

por exemplo:

 

@echo off

 

REM ###############################################

REM ## Configurate Database Connections please! ##

REM ###############################################

REM Please, type here you dir to mysql directory \bin. Example : C:\Program Files\MySQL\MySQL Server 5.1\bin

set mysqlBinPath=C:\Arquivos de programas\MySQL\MySQL Server 5.5\bin

 

set DateT=%date%

 

REM Configurate database connection loginserver

set lsuser=root

set lspass=

set lsdb=l2jdb

set lshost=localhost

 

REM Configurate database connection Gameserver

set gsuser=root

set gspass=

set gsdb=l2jdb

set gshost=localhost

REM ############################################

 

vejam que eu utilizo "l2jdb" como o database padrão, e também mudei a cor de VERMELHO para AZUL, pois o azul informa o que eu modifiquei, e acima há loginserver_database e gameserver_database

ambos servem como database padrão, não tem nenhum problema utilizalos...

eles só irem diferenciar o loginserver dos arquivos do servidor, e podem ser utilizados juntos.

 

 

e lembrando que após configurar tudo isso,

 

quando você abrir irá aparecer:

 

 

---------------------------------------------------------------------

L2-Frozen Team - Database Login Server

_____________________________________________________________________

 

1 - Full install database loginserver`s.

2 - Skip install loginserver db, go to install gamserver databases

3 - Exit from installer

---------------------------------------------------------------------

 

 

 

você somente irá colocar o numero

1

em seguida apertar ENTER!

em seguida, após instalar o rápido loginserver irá aparecer

 

---------------------------------------------------------------------

L2-Frozen Team - database operation about gameserver

_____________________________________________________________________

 

1 - Full Install Gameserver Database`s.

2 - Customs NPCs Install

3 - Customs NPCs Spawn Install

4 - Customs Items Install

5 - Exit.

---------------------------------------------------------------------

 

 

 

 

mais uma vez você irá colocar o numero

1

em seguida apertar ENTER!

Agora espere alguns minutos até as porcentagens acabarem em seguida saia do database instaler e PRONTO!

Data Base Instalada!

 

obs: LEMBRANDO QUE ANTES DE CRIAR OU EDITAR O ARQUIVO CRIE UMA DB COM O NOME QUE VOCÊ IRA UTILIZAR, NO CASO EU CRIEI L2JDB
ENTÃO DEIXO A ESCOLHA DE VOCÊS!.
ABRAÇOS

 

 

==================== RESOLUÇÃO ====================

NA PASTA: gameserver\config\network

Abra o arquivo: gameserver.properties

# Enter here (ip) address of your game server, or use the symbol *

GameserverHostname = *

GameserverPort = 7777

 

# Configure your external ip

ExternalHostname = 127.0.0.1

 

# Configure your internal ip

InternalHostname = 127.0.0.1

 

# Bunch ID and game server. It is better not to change.

LoginPort = 9014

LoginHost = 127.0.0.1

 

# Parameters Databases - MYSQL

Driver = com.mysql.jdbc.Driver

URL = jdbc:mysql://localhost/l2jdb

# Login - Mysql's user

Login = root

# Password - Mysql's Password

Password =

MaximumDbConnections = 100

# The timeout before a new connection to the database (in ms)

# 0 - to remove restrictions

TimeOutConDb = 0

# Maximum number of requests per connection

MaximumDbStatement = 100

 

# Setting emulation off the kernel (package SendStatus)

RemoteWhoLog = True

RemoteWhoSendTrash = True

RemoteWhoMaxOnline = 329

RemoteOnlineIncrement = 50

RemoteWhoForceInc = 50

RemotePrivStoreFactor = 12

 

# Datapack folder

# DatapackRoot = C:/Work/tmp/DataPack

Modificaçoes:

URL = jdbc:mysql://localhost/l2jdb <<<< Nesta linha ao inves de estar l2jdb , vai estar outro caminho, ponha o msm nome da database q tem no seu navicat.

Password = ,<<<<< originalmente aqui teria root, mas vc apaga, e deixa em branco.

 

 

outra modificação, agora na pasta: \loginserver\config\network , no arquivo loginserver.properties .

Quote

 

.............

 

 

# Database info

Driver=com.mysql.jdbc.Driver

#Driver=org.hsqldb.jdbcDriver

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

 

# Database Settings

URL=jdbc:mysql://localhost/L2JDB

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

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

 

# Parameters Databases - MYSQL

# Login - Mysql's user

Login = root

# Password - Mysql's Password

Password =

# maximum number of simultaneous connecting to the database

MaximumDbConnections = 10

# The timeout before a new connection to the database (in ms)

TimeOutConDb = 0

# Maximum number of requests per connection

MaximumDbStatement = 100

 

.................

 

Mesma coisa do de cima. Troque o nome da database para um igual ao navicat e RETIRE a senha, deixe o espaço em branco.

 

 

==================== RESOLUÇÃO ====================

 

Tutorial :

Ajuda no Post(RESOLUÇÃO):

Alguma duvida informar-me por PM!

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


Para quem atualizou todos os progrmas usados:

 

o caminho é:

 

C:\Program Files\MySQL\MySQL Server 6.0\bin

 

 

Alias, tanto faz o Program Files ou Arquivos de Programas .

 

 

xD eu tinha travado nisso.

 

 

saberia se é grave ?? e como resolver ??

zlf7ux.jpg

 

========== RESOLUÇÃO==========

NA PASTA: gameserver\config\network

Abra o arquivo: gameserver.properties

 

# Enter here (ip) address of your game server, or use the symbol *

GameserverHostname = *

GameserverPort = 7777

 

# Configure your external ip

ExternalHostname = 127.0.0.1

 

# Configure your internal ip

InternalHostname = 127.0.0.1

 

# Bunch ID and game server. It is better not to change.

LoginPort = 9014

LoginHost = 127.0.0.1

 

# Parameters Databases - MYSQL

Driver = com.mysql.jdbc.Driver

URL = jdbc:mysql://localhost/l2jdb

# Login - Mysql's user

Login = root

# Password - Mysql's Password

Password =

MaximumDbConnections = 100

# The timeout before a new connection to the database (in ms)

# 0 - to remove restrictions

TimeOutConDb = 0

# Maximum number of requests per connection

MaximumDbStatement = 100

 

# Setting emulation off the kernel (package SendStatus)

RemoteWhoLog = True

RemoteWhoSendTrash = True

RemoteWhoMaxOnline = 329

RemoteOnlineIncrement = 50

RemoteWhoForceInc = 50

RemotePrivStoreFactor = 12

 

# Datapack folder

# DatapackRoot = C:/Work/tmp/DataPack

 

Modificaçoes:

URL = jdbc:mysql://localhost/l2jdb <<<< Nesta linha ao inves de estar l2jdb , vai estar outro caminho, ponha o msm nome da database q tem no seu navicat.

Password = ,<<<<< originalmente aqui teria root, mas vc apaga, e deixa em branco.

 

 

outra modificação, agora na pasta: \loginserver\config\network , no arquivo loginserver.properties .

.............

 

 

# Database info

Driver=com.mysql.jdbc.Driver

#Driver=org.hsqldb.jdbcDriver

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

 

# Database Settings

URL=jdbc:mysql://localhost/L2JDB

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

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

 

# Parameters Databases - MYSQL

# Login - Mysql's user

Login = root

# Password - Mysql's Password

Password =

# maximum number of simultaneous connecting to the database

MaximumDbConnections = 10

# The timeout before a new connection to the database (in ms)

TimeOutConDb = 0

# Maximum number of requests per connection

MaximumDbStatement = 100

 

.................

 

Mesma coisa dode cima. Troque o nome da database para um igual ao navicat e RETIRE a senha, deixe o espaço em branco.

 

 

==========

 

 

Meu boneco nao anda... oq será ??? nao pega target, nao da para sair do jogo dps... Oo

Editado por CPTHookton

DragonBr

Link para o comentário
Compartilhar em outros sites

não tem nenhum problema, ele só informa que o que ta sendo instalado, como diz alí

Duplicate entry que significa entrada duplicada -

está só copiando uma coisa que já existe, então ele diz isso - mas isso não é nenhum erro grave! tongue.gif

 

 

=========

quando ele trava assim tio deve ser pq você fez algo né,

como pro exemplo deu //reload em algo ..

ai tem que vê no que você deu reload. por exemplo items ou algo ...

tem que espera carregar!

quando termina ele da uma mensagem no jogo

algo do tipo :

item tables Loaded
;) 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

me manda o comando por completo isso ae é só uma parte? pow ... da uma olhada no pack lá

é o mais atualizado ? pois aqui não dá esse problema não.

da uma olhada nos arquivos que tu ta usando , como itens armas, roupas ...

ele tem uma proteção chata de armor.

enfim, qualquer coisa adc lá no msn! ;)

 

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

  • 4 months later...

Mais eu já tenho o banco de dados, como que faço para atualizar o banco de dados para a ultima versão da rev sem perder meus dados?

Desenvolvedor de web sites e sistemas para L2.

Linguagens de Programação PHP, ASPX, C#, JAVASCRIPT.

__________________________________________________________

36b6v.jpg

 

22263.gif

Link para o comentário
Compartilhar em outros sites

  • 3 weeks later...
  • 1 month later...

me manda o comando por completo isso ae é só uma parte? pow ... da uma olhada no pack lá

é o mais atualizado ? pois aqui não dá esse problema não.

da uma olhada nos arquivos que tu ta usando , como itens armas, roupas ...

ele tem uma proteção chata de armor.

enfim, qualquer coisa adc lá no msn! ;)

ae quando eu boto ake aparece isso LoginServer terminated abnormay <- no login serve

e no game serve aparese isso --> restart ® or quit(q)

Link para o comentário
Compartilhar em outros sites

por isso tenho que vê o arquivo inteiro

por que pode ser erro de login que no caso não reconhece a database

sendo assim na config do sv pode ta "l2jdb" e a sua do navicat pode tá l2jdb1

 

sacou?

 

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

  • 2 weeks later...

Parabens ae man pelo Tutorial. Me ajudo aqui :wink:

O conhecimento chega, mas a sabedoria demora.

Alguns tentam, poucos prevalece mais raros os que coceguem.

anigifkml.gif

Link para o comentário
Compartilhar em outros sites

  • 3 months later...
  • 2 weeks later...

tutorial facil e ótimo de utilizar.

 

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

  • 9 months later...
  • 4 years later...

bom, para aqueles que ainda tem problemas de instalar o database, com a rev l2jfrozen.

vou lhes mandar um tutorial, simples e facil de aprender. ok?

bom vamos lá.

 

Dentro da rev l2jfrozen

você vai encontrar pastas cujo nome "gameserver" , "loginserver", "sql" e "tools" ..

bom, vamos usar a pasta tools .

abrindo ela você vai encontrar alguns arquivos, correto?

um desses arquivos está no formato .bat (MS-DOS)

vamos mecher somente no "Database Installer"

clique com o botão direito encima do Database Installer

ai depois você vai clicar em EDITAR!

Após ter feito isso vai aparecer :

 

 

 

 

 

 

bom, eu não coloquei o arquivo todo, pois somente iremos utilizar essa parte!

bom, vocês estão vendo a parte em VERMELHO, bom e essa parte que iremos utilizar.

 

você ira modificar conforme o seu database,

por exemplo:

 

 

 

vejam que eu utilizo "l2jdb" como o database padrão, e também mudei a cor de VERMELHO para AZUL, pois o azul informa o que eu modifiquei, e acima há loginserver_database e gameserver_database

ambos servem como database padrão, não tem nenhum problema utilizalos...

eles só irem diferenciar o loginserver dos arquivos do servidor, e podem ser utilizados juntos.

 

 

e lembrando que após configurar tudo isso,

 

quando você abrir irá aparecer:

 

 

 

 

você somente irá colocar o numero

1
em seguida apertar ENTER!

 

 

em seguida, após instalar o rápido loginserver irá aparecer

 

 

 

 

 

 

 

 

 

 

mais uma vez você irá colocar o numero

1
em seguida apertar ENTER!

 

 

Agora espere alguns minutos até as porcentagens acabarem em seguida saia do database instaler e PRONTO!

 

 

Data Base Instalada!

 

 

 

obs: LEMBRANDO QUE ANTES DE CRIAR OU EDITAR O ARQUIVO CRIE UMA DB COM O NOME QUE VOCÊ IRA UTILIZAR, NO CASO EU CRIEI L2JDB
ENTÃO DEIXO A ESCOLHA DE VOCÊS!.
ABRAÇOS

==================== RESOLUÇÃO ====================

 

NA PASTA: gameserver\config\network

Abra o arquivo: gameserver.properties

 

 

 

 

Modificaçoes:

URL = jdbc:mysql://localhost/l2jdb <<<< Nesta linha ao inves de estar l2jdb , vai estar outro caminho, ponha o msm nome da database q tem no seu navicat.

Password = ,<<<<< originalmente aqui teria root, mas vc apaga, e deixa em branco.

 

 

outra modificação, agora na pasta: \loginserver\config\network , no arquivo loginserver.properties .

Quote

 

.............

 

 

 

 

.................

 

 

Mesma coisa do de cima. Troque o nome da database para um igual ao navicat e RETIRE a senha, deixe o espaço em branco.

 

 

==================== RESOLUÇÃO ====================

 

Tutorial :

 

 

Ajuda no Post(RESOLUÇÃO):

 

 

 

Alguma duvida informar-me por PM!

 

Bom amigo fiz isso tudo, porém fiz modificações no server fui no navicat salvei o backup e pronto

salvei tudo, desinstalei o server do meu pc ai depois de um tempo quis instalar de novo ai não faz o backup pelo aquivo .psc que salvei e sim só desse jeito só que desse jeito as modificações do server que eu fiz n tá incluido oque faço pra colocar o meu backup.psc incluido nesse database.install

Link para o comentário
Compartilhar em outros sites

Rapaz não sei, mais tbm uso a databaseinstall um única vez MSM pq tem mods q precisa de sqls e etc.

Enfim, tente ver se está fazendo backup corretamente,pq era pra funcionar

Lineage 2 Lords

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.