Ir para conteúdo
  • Cadastre-se
  • 0

NPC Custom com funções de blacksmith mammon


maisoncarvalho

Pergunta

Pessoal, meu servidor tinha 4 npcs, 1 event shop, 1 donate shop, 1 basic shop e 1 seven signs, porem todos funcionavam corretamente, mas agora juntei os 4 npcs em apenas 1 mas estou com um único problema na função do Blacksmith of mammon, quando os NPCs eram separados a função funcionava corretamente, mas quando passei ela para outro NPC apenas essa função não funciona, as htmls abrem normalmente mas quando clico nas opções nada acontece, não aparece as janelas para desselar itens a e s, colocar SA nas armas A e S, todas as funções do blacksmith mammon n funcionam podem me ajudar?

 

Percebam que as htmls estao exatamente iguais, puxando o mesmo local seven_signs/mammblack_1.htm nao entendo porque nao funciona.

 

HTML do NPC Merchant que nao funcionam as funções:

 

 

<html><title>Merchant</title>
<body>
<center>
<br><br>
<img src="L2UI.SquareWhite" width=300 height=1>
<table bgcolor=000000 width=319>
<tr>
<td><center><font color="CC6600" align="center">Lineage II:</font> Seven Signs.</center></td>
</tr>
</table>
<img src="L2UI.SquareWhite" width=300 height=1>
</center>
<center>
<br>
Hello my friend, here you exchange your <font color=b09979>Seal Stones</font><br>
for <font color=b09979>Ancient Adena</font>, moreover we have a wide<br>
variety of items in our store.
<img src="L2UI_CH3.herotower_deco" width=256 height=32><br>
<img src=L2UI.SquareGray width=200 height=1><br>
<button value="Seal Stones" action="bypass -h npc_%objectId%_multisell 90005" width=75 height=21 back="L2UI_CH3.Btn1_normalOn" fore="L2UI_CH3.Btn1_normalDisable">
<button value="B. Mammon" action="bypass -h npc_%objectId%_Link seven_signs/mammblack_1.htm" width=75 height=21 back="L2UI_ch3.Btn1_normalOn" fore="L2UI_ch3.Btn1_normal">
<button value="M. Mammon" action="bypass -h npc_%objectId%_multisell 4000119" width=75 height=21 back="L2UI_ch3.Btn1_normalOn" fore="L2UI_ch3.Btn1_normal">
<button value="Priest" action="bypass -h npc_%objectId%_multisell 50010" width=75 height=21 back="L2UI_ch3.Btn1_normalOn" fore="L2UI_ch3.Btn1_normal">
<img src=L2UI.SquareGray width=200 height=1><br>
<a action="bypass -h npc_%objectId%_Chat 0">Return</a>
<img src="L2UI_CH3.herotower_deco" width=256 height=32><br>
</center>
</body></html>

 

 

HTML do NPC Seven signs que funcionam as funções:

<html><title>Seven Signs</title>
<body>
<center>
<br><br>
<img src="L2UI.SquareWhite" width=300 height=1>
<table bgcolor=000000 width=319>
<tr>
<td><center><font color="CC6600" align="center">Lineage II:</font> Seven Signs.</center></td>
</tr>
</table>
<img src="L2UI.SquareWhite" width=300 height=1>
</center>
<center>
<br>
Hello my friend, here you exchange your <font color=b09979>Seal Stones</font><br>
for <font color=b09979>Ancient Adena</font>, moreover we have a wide<br>
variety of items in our store.
<img src="L2UI_CH3.herotower_deco" width=256 height=32><br>
<img src=L2UI.SquareGray width=200 height=1><br>
<button value="Seal Stones" action="bypass -h npc_%objectId%_multisell 90005" width=75 height=21 back="L2UI_CH3.Btn1_normalOn" fore="L2UI_CH3.Btn1_normalDisable">
<button value="B. Mammon" action="bypass -h npc_%objectId%_Link seven_signs/mammblack_1.htm" width=75 height=21 back="L2UI_ch3.Btn1_normalOn" fore="L2UI_ch3.Btn1_normal">
<button value="M. Mammon" action="bypass -h npc_%objectId%_multisell 4000119" width=75 height=21 back="L2UI_ch3.Btn1_normalOn" fore="L2UI_ch3.Btn1_normal">
<button value="Priest" action="bypass -h npc_%objectId%_multisell 50010" width=75 height=21 back="L2UI_ch3.Btn1_normalOn" fore="L2UI_ch3.Btn1_normal">
<img src=L2UI.SquareGray width=200 height=1><br>
<img src="L2UI_CH3.herotower_deco" width=256 height=32><br>
</center>
 
</body></html>

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

Posts recomendados

  • 0

}
else
{
player.sendMessage("That name already exists.");
player.sendPacket(new ActionFailed());
return;
}
}
+ else
+ {
+ super.onBypassFeedback(player, command);
+ }
}

/**
* @param activeChar
* @param command
* @author Tayran.JavaDev
*/

"Tente ser uma pessoa de valor , não de sucesso" - Albert Einstein

 

 

Link para o comentário
Compartilhar em outros sites


  • 0

bem acho que e essa / ai que estar atrapalhando veja se tem essa / msm juntando as 2 fucoes mas com certeza e essa / que vc colocou!

Vou testar amigo, mas creio que não pois o caminho e exatamente igual, unica coisa que fiz foi criar outro npc puxando o mesmo caminho do que ja tinha no antigo npc, problema e q no npc antigo ainda funciona e no novo não funciona, nao ta puxa a html original do blacksmith, testei e ainda continua amigo :(

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

  • 0

e ja ia editar o que falei pq estava pesquisando aqui e realmente existe ! qual o id do npc que vc tirou as html amigo?

fica nesse diretorio: gameserver\data\html\seven_signs/mammblack_1.htm o nome da html e: mammblack_1.htm

 

o ID no NPC antigo e 35010 e do NPC novo e 10000, no caso eu to puxando a html original do blacksmith of mammon

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

  • 0

certo mas essa funcao vai fazer o que msm?

pq derepente a minha e diferente da sua!?

esse primeiro botao fara o que especificamente amigo? ele que nao funciona !

e para abrir a html original do blacksmith of mammon, aquela q aparece para desselar e por SA nos itens, calma ai q vou postar uma print, no NPC antigo eu usei para puxar o caminho dessa html e deu certo, mas nesse novo npc fiz a mesma coisa mas n abre essa html.

 

CAMINHO USADO PARA PUXAR HTML:

<button value="B. Mammon" action="bypass -h npc_%objectId%_Link seven_signs/mammblack_1.htm" width=75 height=21 back="L2UI_ch3.Btn1_normalOn" fore="L2UI_ch3.Btn1_normal">

GtamusI.png

para puxar o caminho dessa html e deu certo, mas nesse novo npc fiz a mesma coisa mas n abre essa html

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

  • 0

entendi agora amigo nao vai ter jeito acredito eu pq se vc olhar bem nas html's cada qual tem sua funcao no msm npc um botao pra tirar o selo de cada peça

acredito eu que esse botao nao vai redirecionar pra as html no Blacksmith of Mammon pra abrir todos os botoes nao que vc pode fazer e criar um botao pra cada funcao nesse novo npc !

Link para o comentário
Compartilhar em outros sites

  • 0

entendi agora amigo nao vai ter jeito acredito eu pq se vc olhar bem nas html's cada qual tem sua funcao no msm npc um botao pra tirar o selo de cada peça

acredito eu que esse botao nao vai redirecionar pra as html no Blacksmith of Mammon pra abrir todos os botoes nao que vc pode fazer e criar um botao pra cada funcao nesse novo npc !

ai que ta o problema, no npc antigo fiz isso e funcionou, abriu a html e funcionou todas as funcoes, o problema e q nesse novo npc n ta dando certo isso q n to entendendo, pq tipo meu servidor tinha 4 npc custom cada um com suas funcoes e tal, mas agora juntei esses 4 npc em apenas um pra ficar um visual mais clean e mais pratico, porem nesse novo npc so n abre essa maldita html kkkkkkk

Link para o comentário
Compartilhar em outros sites

  • 0

bem este botao funcionou tudo perfeitamente me add ai no seu skype se puder e tiver vou te mandar por mp ok!

 

<html><title>Seven Signs</title>
<body>
<center>
<br><br>
<img src="L2UI.SquareWhite" width=300 height=1>
<table bgcolor=000000 width=319>
<tr>
<td><center><font color="CC6600" align="center">Lineage II:</font> Seven Signs.</center></td>
</tr>
</table>
<img src="L2UI.SquareWhite" width=300 height=1>
</center>
<center>
<br>
Hello my friend, here you exchange your <font color=b09979>Seal Stones</font><br>
for <font color=b09979>Ancient Adena</font>, moreover we have a wide<br>
variety of items in our store.
<img src="L2UI_CH3.herotower_deco" width=256 height=32><br>
<img src=L2UI.SquareGray width=200 height=1><br>
<button value="Seal Stones" action="bypass -h npc_%objectId%_multisell 90005" width=75 height=21 back="L2UI_CH3.Btn1_normalOn" fore="L2UI_CH3.Btn1_normalDisable">
<button value="B. Mammon" action="bypass -h npc_%objectId%_Link seven_signs/mammblack_1.htm" width=75 height=21 back="L2UI_ch3.Btn1_normalOn" fore="L2UI_ch3.Btn1_normal">
<button value="M. Mammon" action="bypass -h npc_%objectId%_multisell 4000119" width=75 height=21 back="L2UI_ch3.Btn1_normalOn" fore="L2UI_ch3.Btn1_normal">
<button value="Priest" action="bypass -h npc_%objectId%_multisell 50010" width=75 height=21 back="L2UI_ch3.Btn1_normalOn" fore="L2UI_ch3.Btn1_normal">
<img src=L2UI.SquareGray width=200 height=1><br>
<img src="L2UI_CH3.herotower_deco" width=256 height=32><br>
</center>

</body></html>

Link para o comentário
Compartilhar em outros sites

  • 0

bem este botao funcionou tudo perfeitamente me add ai no seu skype se puder e tiver vou te mandar por mp ok!

 

<html><title>Seven Signs</title>

<body>

<center>

<br><br>

<img src="L2UI.SquareWhite" width=300 height=1>

<table bgcolor=000000 width=319>

<tr>

<td><center><font color="CC6600" align="center">Lineage II:</font> Seven Signs.</center></td>

</tr>

</table>

<img src="L2UI.SquareWhite" width=300 height=1>

</center>

<center>

<br>

Hello my friend, here you exchange your <font color=b09979>Seal Stones</font><br>

for <font color=b09979>Ancient Adena</font>, moreover we have a wide<br>

variety of items in our store.

<img src="L2UI_CH3.herotower_deco" width=256 height=32><br>

<img src=L2UI.SquareGray width=200 height=1><br>

<button value="Seal Stones" action="bypass -h npc_%objectId%_multisell 90005" width=75 height=21 back="L2UI_CH3.Btn1_normalOn" fore="L2UI_CH3.Btn1_normalDisable">

<button value="B. Mammon" action="bypass -h npc_%objectId%_Link seven_signs/mammblack_1.htm" width=75 height=21 back="L2UI_ch3.Btn1_normalOn" fore="L2UI_ch3.Btn1_normal">

<button value="M. Mammon" action="bypass -h npc_%objectId%_multisell 4000119" width=75 height=21 back="L2UI_ch3.Btn1_normalOn" fore="L2UI_ch3.Btn1_normal">

<button value="Priest" action="bypass -h npc_%objectId%_multisell 50010" width=75 height=21 back="L2UI_ch3.Btn1_normalOn" fore="L2UI_ch3.Btn1_normal">

<img src=L2UI.SquareGray width=200 height=1><br>

<img src="L2UI_CH3.herotower_deco" width=256 height=32><br>

</center>

 

</body></html>

sim ela funciona, vou postar uma print do npc antigo que criei que ainda funciona, problema ta acontecendo q nesse novo npc quando clico no botao B. mammon n abre a html referente a imagem 02

jCoJGO1.jpg

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

  • 0

ue mas eu fiz um novo npc tbm e funfo de boa nesse novo npc nao tendo pq com vc nao funciona!

isso q n to entendendo tbm, to esquentando a cabeça aqui que nem louco amigo kkkk, esse meu novo NPC era o donate shop, achei ele aqui no forum que o tayran ajudou a Michelle a fazer, ele e pelo java, mas eu so add uns html multsell normal nele e tudo funciona como se fosse um npc comum so essa opcao do blacksmith q n funciona sera q tem q add algo no java :X

Link para o comentário
Compartilhar em outros sites

  • 0

poste a html desse novo npc

pra eu ver kkkkkkkkkkk

eu nao estou em casa, mas pera ae q vou ver se acho o post da michelle e posto aqui pera ae

 

Segue o link: http://www.l2jbrasil.com/index.php?/topic/115255-4-npcs-em-1/ unica coisa q o dela e 1 npc com 4 funcoes donate e o meu eu acresentei mais 3 funcoes, event, basic shop e esse maldito seven sings q n funciona a opcao do blacksmith

up :culto:

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

  • 0

Amigo isso nunca vai funcionar a não ser que a função esteja implementada no Core , quando você manda a requisição para o servidor aquele NPC faz uma checagem de se aquele bypass que enviou deve executar alguma ação, quando ele não encontra o bypass que você mandou ele faz nada, solução implementar as funções no core.

Editado por Tayran.JavaDev

"Tente ser uma pessoa de valor , não de sucesso" - Albert Einstein

 

 

Link para o comentário
Compartilhar em outros sites

  • 0

Bom, se no NPC original funciona essa edição que você fez, eu creio que o java esteja checando o ID do NPC para fazer funcionar.

Eu acredito que se você mudar o link do botão colocando o ID do NPC original nele, talvez funcione.

 

Por exemplo, faça a seguinte edição:

<button value="B. Mammon" action="bypass -h npc_%objectId%_Link seven_signs/mammblack_1.htm" width=75 height=21 back="L2UI_ch3.Btn1_normalOn" fore="L2UI_ch3.Btn1_normal">

Onde está "%objectId%" coloque o ID do NPC original, exemplo:

<button value="B. Mammon" action="bypass -h npc_123456_Link seven_signs/mammblack_1.htm" width=75 height=21 back="L2UI_ch3.Btn1_normalOn" fore="L2UI_ch3.Btn1_normal">

Testa e vê se funciona.

Editado por Ivan Pires

 

 

 

Link para o comentário
Compartilhar em outros sites

  • 0

Amigo qual o Tipo que seu NPC está ? você modificou algo no java ou só editou o tipo dele ? é o mesmo NPC que fiz para a Michelle ?

"Tente ser uma pessoa de valor , não de sucesso" - Albert Einstein

 

 

Link para o comentário
Compartilhar em outros sites

  • 0

Bom, se no NPC original funciona essa edição que você fez, eu creio que o java esteja checando o ID do NPC para fazer funcionar.

Eu acredito que se você mudar o link do botão colocando o ID do NPC original nele, talvez funcione.

 

Por exemplo, faça a seguinte edição:

<button value="B. Mammon" action="bypass -h npc_%objectId%_Link seven_signs/mammblack_1.htm" width=75 height=21 back="L2UI_ch3.Btn1_normalOn" fore="L2UI_ch3.Btn1_normal">

Onde está "%objectId%" coloque o ID do NPC original, exemplo:

<button value="B. Mammon" action="bypass -h npc_123456_Link seven_signs/mammblack_1.htm" width=75 height=21 back="L2UI_ch3.Btn1_normalOn" fore="L2UI_ch3.Btn1_normal">

Testa e vê se funciona.

Boa tarde Ivan, testei e não funcionou amigo mas mesmo assim obrigado pela generosidade.

Amigo qual o Tipo que seu NPC está ? você modificou algo no java ou só editou o tipo dele ? é o mesmo NPC que fiz para a Michelle ?

Ola Tayran, sim e o mesmo NPC que foi feito para Michelle, não modifiquei nada apenas as htmls e acrescentei algumas multsells mas o type ainda continua L2AllInOne amigo.

Link para o comentário
Compartilhar em outros sites

  • 0

Coloca ela pra herdar a classe L2NpcInstance , para isso troque na declaração da classe de extends L2FolkInstance para extends L2NpcInstance.


Depois disso deve funcionar normalmente.

"Tente ser uma pessoa de valor , não de sucesso" - Albert Einstein

 

 

Link para o comentário
Compartilhar em outros sites

  • 0

Coloca ela pra herdar a classe L2NpcInstance , para isso troque na declaração da classe de extends L2FolkInstance para extends L2NpcInstance.

Depois disso deve funcionar normalmente.

Desculpe mas n entendo muito bem de java, so para entender melhor, esse extends L2FolkInstance esta dentro do código que vc fez certo amigo?

Link para o comentário
Compartilhar em outros sites

  • 0

isso mesmo, Vai ter lá :

public class L2AllInOne extends L2FolkInstance

você deixa como :

public class L2AllInOne extends L2NpcInstance

Testa e me fala se funcionou.

OBS : É para testar com o link que você já estava usando, esse do ivan não vai funcionar por que bypass pega ObjectId e não NpcId

"Tente ser uma pessoa de valor , não de sucesso" - Albert Einstein

 

 

Link para o comentário
Compartilhar em outros sites

  • 0

isso mesmo, Vai ter lá :

public class L2AllInOne extends L2FolkInstance

você deixa como :

public class L2AllInOne extends L2NpcInstance

Testa e me fala se funcionou.

 

OBS : É para testar com o link que você já estava usando, esse do ivan não vai funcionar por que bypass pega ObjectId e não NpcId

Desculpe a demora tive que sair rapidinho, testei como me disse mas ainda não acontece nada amigo testei com o link que ja estava usando

Link para o comentário
Compartilhar em outros sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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