Ir para conteúdo
  • Cadastre-se

L2Waves


Posts recomendados

Em 25/07/2020 at 17:03, mago-merlyn disse:

 mysql 5.5 e java 8

 

1 minuto atrás, Dyrroth disse:

Fui pelo arquivo .psc

Esse arquivo deve esta nas primeira pagina e não e um arquivo fixo, deve ser das primeira revisão, e necessário fazer a instalação 

Link para o comentário
Compartilhar em outros sites


1 minuto atrás, Alexandre Assunção disse:

 

Esse arquivo deve esta nas primeira pagina e não e um arquivo fixo, deve ser das primeira revisão, e necessário fazer a instalação 

Blz, vou tentar novamente, fazendo a instalação agora.

Dyrroth

Link para o comentário
Compartilhar em outros sites

Em 19/07/2020 at 13:17, Dyrroth disse:

Boa tarde galera, pensei em fazer os testes nesse projeto e encontrei esse problema, alguem poderia me dar uma luz?

erro gameserver.png

Consegui resolver igual o Alexandre falou, instalando o DB pela tools, mas agora estou com outro probleminha que só está acontecendo com essa REV, não consigo passar da tela de seleção de server, passa da tela de login tranquilamente mas quando chega na tela de escolher o server ele fica lá eternamente. 

Dyrroth

Link para o comentário
Compartilhar em outros sites

35 minutos atrás, Dyrroth disse:

Consegui resolver igual o Alexandre falou, instalando o DB pela tools, mas agora estou com outro probleminha que só está acontecendo com essa REV, não consigo passar da tela de seleção de server, passa da tela de login tranquilamente mas quando chega na tela de escolher o server ele fica lá eternamente. 

esta usando a system recomendada?

Link para o comentário
Compartilhar em outros sites

 

2 horas atrás, Alexandre Assunção disse:

Eu uso ela, só e necessário algumas mudança pelo que me lembro a linguagem.

Experimenta usar essa > http://www.mediafire.com/file/xlse65e05hmuqb3/system_waves.rar/file

Deu certo, vlw. 

Dyrroth

Link para o comentário
Compartilhar em outros sites

Obrigado Alexandre super projeto muito bom... baixe seu data pack mais seu system recomend e tenho um error cuando eu logo no serve, faz um tempo e jogo da kick do server, nao tenho error em login server e game server, pq pode acontece meu problema? Nao e o critical error do cliente so o jogo da kick, sim pode ajuda e agredezco, lapso da kick 10 mins em server 

Link para o comentário
Compartilhar em outros sites

1 minuto atrás, lazadev31 disse:

Obrigado Alexandre super projeto muito bom... baixe seu data pack mais seu system recomend e tenho um error cuando eu logo no serve, faz um tempo e jogo da kick do server, nao tenho error em login server e game server, pq pode acontece meu problema? Nao e o critical error do cliente so o jogo da kick, sim pode ajuda e agredezco, lapso da kick 10 mins em server 

Esta usando algum item++? ja verificou as proteção tipo Safe Admin e Over enchant?

Link para o comentário
Compartilhar em outros sites

En 29/7/2020 a las 4:36, Alexandre Assunção dijo:

Esta usando algum item++? ja verificou as proteção tipo Safe Admin e Over enchant?

 

Eu já tentei de tudo, desativando o overenchant, o safeadmin e ele continua dando critical error, tentei provar seu system recomendado e também o que você deixou nos comentários, mesmo assim para os caras que eu paso system continua dando critical error ou kickando do serve... em gameserver e loginserver nao da error... aqui meus configuracaos do seu pack... system do serve ta on no meu pc pra testa >https://mega.nz/file/Ok0k2AaI#YRkALtA165Nb8gYoUG9wltOPIKlYX344ZIlCFfK2Qq8<
https://mega.nz/file/bs020ADS#-Q9VcUAIuUbIaPL8BTNMkBrxq1kF--5DytzEuEuClkI

 

Link para o comentário
Compartilhar em outros sites

  • 3 weeks later...
  • 2 weeks later...
Em 29/05/2016 at 14:16, Alexandre Assunção disse:

depTf5j.jpg

 

Ne1P2RD.jpgVenho compartilhar com vocês um projeto inicial que venho trabalhando nele há algum tempo.

  • Base: aCis.
  • Projeto: L2Waves ( l2jdev Nome usado internamente por min )
  • Nada na base foi alterado em relação a quest, classes, skills e grand boss.

4USSekQ.jpgSecurity:

  • Proteções padrões aCis
  • + Over Enchant: Proteção de max enchant, punição configurável.
  • + Bots Prevention: Proteção contra bots, sistema tipo captcha, punição configurável.
  • + Safe Admin: Proteção contra admins indesejados, se true é necessário registrar seu personagem na pasta de configuração, caso contrario será punido conforme configurado.

Security.properties

  Mostrar conteúdo oculto


#=============================================================
# Over enchant
#=============================================================
OverEnchantProtection = True
 
# Punishments:
# 0 - kick characters from the server.
# 1 - put character to jail.
# 2 - ban character from the server.
OverEnchantPunishment = 0
 
#=============================================================
# Bots prevention system
#=============================================================
EnableBotsPrevention = False
 
# How many monsters have to be killed to run validation task?
KillsCounter = 60
 
# Specify range of randomly taken values summed with main counter.
KillsCounterRandomization = 50
 
# How long validation window awaits an answer? (in seconds)
ValidationTime = 60
 
# Punishments:
# 0 = move character to the closest village.
#  1 = kick characters from the server.
# 2 = put character to jail.
# 3 = ban character from the server.
Punishment = 0
 
# How long character were suppose to stay in jail? (in minutes)
PunishmentTime = 60
 
#=============================================================
# Admin security system
#=============================================================
# Enable/Disable Safe Admin Protection.
EnableAdminSecuritySystem = False
 
# Safe Admin's Object Ids:
# Example: 215456;578657845;6784556
AdminsObjectIds = 12345
 
# Punishments:
# 0 - kick characters from the server.
# 1 - put character to jail.
# 2 - ban character from the server.
AdmSecurityPunishment = 0
 
#=============================================================
# Class protected
#=============================================================
# When you change/add subclass the weapon is unequipped
# Default: False
RemoveWeaponSubclass = False
 
# When you change/add subclass the chest is unequipped
# Default: False
RemoveChestSubclass = False
 
# When you change/add subclass the leg is unequipped
# Default: False
RemoveLegSubclass = False

 


iftzxsU.jpgEnchanting:

Todo sistema enchant foi modificado e com maior precisão de configuração.

  • Ex: 3-0.66,4-0.55
  • +3 = 66%
  • +4 = 55%

Enchanting.properties

  Mostrar conteúdo oculto


#=============================================================
#                           Enchant
#=============================================================
# % chance of success to enchant an item
# Syntax: 3-0.66,4-0.66 ...
# Parameters: enchant value - enchant success rate
EnchantChanceWeapon = 3-0.66,4-0.66,5-0.66,6-0.66,7-0.66,8-0.66,9-0.66,10-0.66,11-0.66,12-0.66,13-0.66,14-0.66,15-0.66
EnchantChanceArmor = 3-0.66,4-0.66,5-0.66,6-0.66,7-0.66,8-0.66,9-0.66,10-0.66,11-0.66,12-0.66,13-0.66,14-0.66,15-0.66
 
BlessedEnchantChanceWeapon = 3-0.66,4-0.66,5-0.66,6-0.66,7-0.66,8-0.66,9-0.66,10-0.66,11-0.66,12-0.66,13-0.66,14-0.66,15-0.66
BlessedEnchantChanceArmor = 3-0.66,4-0.66,5-0.66,6-0.66,7-0.66,8-0.66,9-0.66,10-0.66,11-0.66,12-0.66,13-0.66,14-0.66,15-0.66
 
CrystalEnchantChanceWeapon = 3-0.66,4-0.66,5-0.66,6-0.66,7-0.66,8-0.66,9-0.66,10-0.66,11-0.66,12-0.66,13-0.66,14-0.66,15-0.66
CrystalEnchantChanceArmor = 3-0.66,4-0.66,5-0.66,6-0.66,7-0.66,8-0.66,9-0.66,10-0.66,11-0.66,12-0.66,13-0.66,14-0.66,15-0.66
 
# Enchant limit
EnchantMaximumWeapon = 16
EnchantMaximumArmor = 16
 
# Enchant safe limit
EnchantSafeMaximum = 3
EnchantSafeMaximumFullBody = 4

 

 

CgwXi.gif

Characters AIO:

  • Privilégios: Transforme seu personagem em um suporte buffer, itens e skills configurável, title personalizado configurável.
  • Restrição: Skills restritas fora de uma cidade, olympiad, subclasse e change class.
  • Time: Sistema em task funciona como um cronômetro, privilégios são removidos em tempo real após término sem a necessidade de restart do personagem ou do servidor.
  • Use: Ação pode ser transmitida através de 3 caminhos: NPC, item, admin comando, também é possível configurar o período de tempo.
  • Update: Via NPC, admin comando ou se o item for usado mais de uma vez, sera somado seu tempo restante + novo período.
  • SQL: character_aio

Characters Premium:

  • Privilégios: Bônus rates diferenciado, itens e skills configurável, name/title color configurável.
  • Time: Sistema em task funciona como um cronômetro, privilégios são removidos em tempo real após término sem a necessidade de restart do personagem ou do servidor.
  • Use: Ação é transmitida através de um determinado item escolhido, também é possível configurar o período de tempo.
  • Update: Se o item for usado mais de uma vez, sera somado seu tempo restante + novo período.
  • SQL: character_premium

new-icon.png Characters CHero:

  • Privilégios: Torna-se um herói por um período de 30 dias.
  • Restrição: Restrito para heróis olímpicos.
  • Time: Sistema em task funciona como um cronômetro, privilégios são removidos em tempo real após término sem a necessidade de restart do personagem ou do servidor.
  • Use: Ação é transmitida através de um determinado item escolhido, período de tempo fixo.
  • Update: Se o item for usado mais de uma vez, sera somado seu tempo restante + 30 dias.
  • SQL: character_chero

CgwXi.gif

Mods:

  • Team VS Team Event ( TvT)
  • PvP color system + skills reward
  • PvP Reward system
  • PvP /PK announce kills
  • Armor e Weapon protection except cupid bow
  • Comandos: .menu / Banking
  • Skills duration list
  • NPC Attackable except training dummy
  • Offline trade/craft
  • Custom start: spawn, level, itens
  • OUTROS [ gameserver\config\l2jdev ]

New admin comando:

  • Donate: //senddonate - //givedonate
  • AIO: //add_aio - //update_aio - //remove_aio
  • TvT: //tvt_add - //tvt_remove
  • Olympiada: //addolypoints - //removeolypoints - //setolypoints - //getolypoints

new-icon.png Itens services:
INFO: [ gameserver/config/l2jdev/item.txt ]

  • WipePk
  • CleanKarma
  • FullRec
  • ChangeSex
  • Premium
  • AIO
  • Noble
  • ClanFull
  • CHero

NPCs:

  • ID 60010 - Magic Support [ gameserver\data\html\l2jdev\magicsupport ]
  • ID 60011 - TvT Event [ gameserver\data\html\l2jdev\tvtevent ]
  • ID 60012 - AIO Manager [ gameserver\data\html\l2jdev\aio ]
  • ID 60013 - Merchant [ gameserver\data\html\merchant ]
  • ID 60014 - Statistics [ gameserver\data\html\l2jdev\statistics ]
  • ID 60015 - Gatekeeper [ gameserver\data\html\teleporter ]
  • ID 60016 - Protector [ gameserver\data\html\l2jdev\protector ]
  • ID 60017 - Bug Report [ gameserver\data\html\l2jdev\bugreports ]
  • ID 60017 - Raid Boss Info [ gameserver\data\html\l2jdev\raidbossinfo ]
  • ID 60019 - Vote Reward [ gameserver\data\html\l2jdev\votemanager ]

NPC Imagens:

  Mostrar conteúdo oculto

Magic Support:

  Mostrar conteúdo oculto


75ckvRe.png

TvT Event:

  Mostrar conteúdo oculto


YKB6621.png

Merchant:

  Mostrar conteúdo oculto


Siuz5rc.png

Statistics:

  Mostrar conteúdo oculto


rg7RCUY.png

Raid boss info:

  Mostrar conteúdo oculto


9PGENi0.png

Gatekeeper / Bug Report Imagem / Vote Reward:

  Mostrar conteúdo oculto


ciR18T8.png

 

 

CgwXi.gif

icy82Lc.jpg Wondrous Cubic:
Funciona como um item Smarth, muito visto em CB, com um duplo click em um determinado item selecionado, você terá as opções abaixo de serviços:

  • Features: Onde poderá adicionar todas informações do servidor.
  • General: Com opções de Refusal Messages e Trades.
  • Item Store: Venda de weapons, armors, jewels, miscellaneous, Apply SA e SELL.
  • Magical Support: myself e mypet, podendo se buffar manualmente ou automaticamente.
  • Symbol Maker: Adicionar e remover.
  • Teleporter: Newbie zones, Kingdoms, Arenas, Hunting Grounds.
  • Trainer: Make augment, cancel augment, enchant skills.
  • ITEM: [ <set name="handler" val="Cubic" /> ]

Wondrous Imagem:

  Mostrar conteúdo oculto


D9WKAhH.png

 

CgwXi.gif

Files:
Java JDK8: https://bit.ly/2ZpCMYI
Server: https://bit.ly/2VFU6rw
System recomendada protocolo
 846: https://bit.ly/3izK4SK
MySQL: 5.5/5.7

Custom:
Dual aio: https://bit.ly/2YTcUp4
Download: https://bit.ly/2Bnqrwt
  

Boa Noite Amigo, Poderia Por favor adicionar Na Nova Updat Mod De balance classes = Frozen?  aquele famosos 1.0 ... Classdamage
 

soua dm do servidor d elineage  bla bla bla

Link para o comentário
Compartilhar em outros sites

Boa tarde @Alexandre Assunção para torna o item VIP/AIO de dias nao seria so adicionar a linha <set name="premium_duration" val="30" />  nele ? fiz aqui mais o items nao esta sendo consumido.

Especialidade em DataPack / Client

Link para o comentário
Compartilhar em outros sites

4 horas atrás, [ADM]Mystogan disse:

Boa tarde @Alexandre Assunção para torna o item VIP/AIO de dias nao seria so adicionar a linha <set name="premium_duration" val="30" />  nele ? fiz aqui mais o items nao esta sendo consumido.

<set name="handler" val="Service" />
<set name="service_id" val="5" />

add essas 2 linhas

Link para o comentário
Compartilhar em outros sites

Sabe se tem algum BUG esse servidor ?

A boca fala o que quer, mais na real são as ATITUDES
que provam e confirmam quem realmente somos
NÃO ACREDITE em algo só por que ouviu falar
as 
PESSOAS são aquilo o que fazem
não aquilo que 
DIZEM

Link para o comentário
Compartilhar em outros sites

3 minutos atrás, Alexandre Assunção disse:

sim, essa versão não esta estável para por online, apenas na próxima atualização. 

quando pretende atualizar Alexandre? acho que teu projeto é o unico que ainda ta sendo trabalho no forum o resto ta tudo parado

Link para o comentário
Compartilhar em outros sites

Blza Alexandre, vou aguardar ha próxima ATUALIZAÇÃO, no momento to com um online, mais não sei bem ha estrutura do server, o seu ja me deu uma boa impressão, então vou aguardar para que eu venha atualizar meu server (trocar).

 

Espero que venha logo ^^ quero lançar esse servidor, primeira vez no ramo, sou programador de MuOnline (PC) e tbm Mu Mobile (CELULAR), estou largando mão dessa área e quero mexer com o La2, meu server ja tem site online e tudo mais, instalador, launcher, ta todo estruturado, pelo que vi do meu servidor, ele parece ser TOP, ta bem editado, peguei aqui no fórum, mais não sei se o mesmo poderia ter BUGs, to por fora.

 

Pra quem quiser olhar, tem 5 dias apenas que montei o servidor, sem saber nada:

https://la2conquest.com.br/

A boca fala o que quer, mais na real são as ATITUDES
que provam e confirmam quem realmente somos
NÃO ACREDITE em algo só por que ouviu falar
as 
PESSOAS são aquilo o que fazem
não aquilo que 
DIZEM

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.