Ir para conteúdo
  • Cadastre-se

[Tutorial] Criando NPC SHOP


Kelvin

Posts recomendados

cara... to com erro nesse NPC qndo eu clico no botão ele num acha a MULTI SELL e acaba abrindo outra MULTI SELL e da um ERRO tosco no Game Server =S alguem ja viu isso alguma vez!! alguem sabe o q é? :D

Configuro Dedicado LINUX (Ubuntu) para L2jFrozen (SEM LAG)!!!!
-> www.l2high.com.br <-

Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...

Primeiro passo Criando a SQL do NPC.

 

Abra o bloco de notas e coloque o seguinte codigo.

 

 

Depois de colocado o codigo no bloco de notas e criado um nome e um titulo para o npc salve o documento com a extenção .sql, exemplo npc.sql e clique em salvar!

 

Pronto a SQL está feita para adicionar va no navicat, no seu banco de dados que devera ser l2jdb(ou outro dependendo), clique com o botão direito do mause em cima e selecione Execute Batch File clique no quadrado com 3 pontinhos [...] procure a sql feita acima e clique, depois clique em start o npc foi adicionado!

 

aparece o seguinte erro:

 

[Err] 1136 - Column count doesn't match value count at row 1

[Err] INSERT INTO `custom_npc` VALUES ('22000', '20136', 'nomedonpcaqui', '1', 'titulodonpcaqui', '1', 'Monster.death_knight', '10.00', '25.00', '70', 'male', 'L2Merchant', '40', '25563', '1111', '111.00', '1.00', '40', '40', '40', '40', '40', '40', '40', '40', '40', '40', '40', '40', '40', '0', '40', '0', '0', '0', '0', '120', null, null, '0', '0', 'LAST_HIT');

[Msg] Finished - Unsuccessfully

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

Link para o comentário
Compartilhar em outros sites

modifique a sql manualmente para a db do teu server.

account_tiny.gif

svn | timeline

activeMember.sendMessage("Quase tudo é possível quando se tem dedicação e habilidade. Grandes trabalhos são realizados não pela força, mas pela perseverança")

Link para o comentário
Compartilhar em outros sites

@Brunolan

 

Tava com o mesmo problema que você e depois de ter

analisado o código que o Kelvin passo pra faze o NPC,

percebi que ele adiciona o NPC na tabela custom_npc

do seu SQL (Por causa desse começo INSERT INTO `custom_npc`)

e quando eu vi no meu SQL eu não possuia a tabela custom_npc.

 

Faça o seguinte: De uma olhada no seu SQL e veja se

na sua SQL tem a tabela custom_npc, se não tiver você

vai ter que pegar o arquivo custom_npc jogar dentro da

pasta do seu SQL e reinstalar os customs.

 

Geralmente você econtra esse arquivo na pasta compactada

do Dataserver, na parte SQL/custom

 

Espero ter ajudado =].

 

Abraços, JawZ.

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

ou entao simplesmente exporte a tabela pro desktop em formato de SQL

 

Export Wizard -> Sql File (*sql)

 

e compara o arquivo q criou com o que voce tem ai vc arruma os ids, o problema devi estar em algum lugar q ta com ou sem aspas

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

alguem poderia me ajudar

 

eh q eu to pensando em fazer um gm shop onde

a primeira pagina dereciona para outra q tem a grade do item q direciona para o multisell

ou seja uma

htm\htm\multsell

 

ficaria tipo assim

 

weapon\grade S\draconic bow

tipo isso

 

pra poder ficar um shop mais objetivo sem precisar procurar os itens

achando tudo mais rapido

 

oq eu n to conseguindo eh achar uma forma de colocar a htm ir pra outra htm

alguem poderia me ajudar nisso?

 

perebi q o Sornii teve um problema parecido

soh q eu n consigo nem mudar para a segunda pagina

onde aparece a grade

 

Como faço pra quando eu clicar no botao ele me redirecionar pra outra pagina, exemplo:

 

Weapons

Armors, etc..

 

Clicando em Weapons aparece uma janela...

 

Grade S

Grade A

Grade B, etc...

 

Clicando em Grade S, aparece uma janela...

 

Bow

Sword

Blunt, etc..

 

Clicando em Bow, abre uma multisell de Bows Grade S

 

Ate o Grade S eu sei fazer, eu teria que colocar em vez de _multisell colocar _chat 1

e criar outra htm 22000-1.htm certinho até ai...

 

 

vlwss a atenção

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

  • 2 weeks later...

tipow vc fes a html do gm shop com qual id?

ponha a msm na sql do npc.

account_tiny.gif

svn | timeline

activeMember.sendMessage("Quase tudo é possível quando se tem dedicação e habilidade. Grandes trabalhos são realizados não pela força, mas pela perseverança")

Link para o comentário
Compartilhar em outros sites

to com um problema serio aki é o seguinte eu crio por ex. a multisell nº 99010 coloco na pasta e tudo bem n add tudo certinho e ta lah a multisell feita....Depois vo no HTM do npc e coloco na table weapons o nº da multisell e na linha Weapons pronto do reestart quando logo a multisell ta toda errada aparece no npc otros items q nem sei da onde vem ja mudei a id dos npc ja mudei varias vezes o nº da multissel e continua aparecendo diferentes items q n ta na multisell q eu fiz alguem pode me ajuda?

Editado por Lord-Of-Angel

kb24isonfirewj1.jpg

Link para o comentário
Compartilhar em outros sites

nessa parte weapom do npc qnd vc clica nela tem mas opcao de arma?

alguma delas funciona ou todas tao dando o msm erro ?

account_tiny.gif

svn | timeline

activeMember.sendMessage("Quase tudo é possível quando se tem dedicação e habilidade. Grandes trabalhos são realizados não pela força, mas pela perseverança")

Link para o comentário
Compartilhar em outros sites

esse é o HTM do npc

<html><title>Helmets & Hoods</title>
<body>
<center>
<img src="L2Font-e.mini_logo-e" width=250 height=85>
<tr>
<td align=center><button value="Helmets" action="bypass -h npc_%objectId%_multisell 121212" width=200 height=30 back="L2UI_ct1.button_df" fore="L2UI_ct1.button_df"></td>
</tr>
<tr>
<td align=center><button value="Hoods" action="bypass -h npc_%objectId%_multisell 99008" width=200 height=30 back="L2UI_ct1.button_df" fore="L2UI_ct1.button_df"></td>
</tr>
<tr>
<br><br>
<font color="fff000">---------- .::Gracia Final::. ----------</font>
</center>
</body>
</html>

 

Esse é um dos Multisell 121212

 

<?xml version='1.0' encoding='utf-8'?>

<!-- Created with Lineage II - Multisell Manager -->
<!-- © 2007 by tReXpert -->

<list maintainEnchantment="true">

 <!-- Vesper Helmet - reflect -->
 <item id="1">
<ingredient id="25006" count="500"/>
<production id="57008" count="1"/>
 </item>

 <!-- Vesper Helmet - Health -->
 <item id="2">
<ingredient id="25006" count="500"/>
<production id="57009" count="1"/>
 </item>


</list>

 

Olha o q apareceu

 

http://img338.imageshack.us/img338/7537/shot00000xm.png

Editado por Kelvin

kb24isonfirewj1.jpg

Link para o comentário
Compartilhar em outros sites

  • 3 weeks later...
  • 5 weeks later...
tem como deixar umas imgs mostrando como fica no final

 

sim e so vc add os botões direito que aparece ;)

Obrigado vira em Breve


azc67n.png


Clique em Curti para Motivar Muitos outros a tbm Fazer o Mesmo pois assim Motiva a Responder :onda:

Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...

aki nao ta dando de cria o npc shop;

quando vai passa ele pelo batch file la ja da um erro, mas ele prossegue,

dai fasso o resto das partes e quando vo da //spawn ele dis assim. a alvo nao pode ser visto ou encontrado.

Ninguém sabe mais ou menos, todos sabem coisas diferentes.

A coragem é a primeira das qualidades humanas porque garante todas as outras.

Link para o comentário
Compartilhar em outros sites

[Err] 1136 - Column count doesn't match value count at row 1

[Err] INSERT INTO `custom_npc` VALUES ('22000', '20136', 'nomedonpcaqui', '1', 'titulodonpcaqui', '1', 'Monster.death_knight', '10.00', '25.00', '70', 'male', 'L2Merchant', '40', '25563', '1111', '111.00', '1.00', '40', '40', '40', '40', '40', '40', '40', '40', '40', '40', '40', '40', '40', '0', '40', '0', '0', '0', '0', '120', null, null, '0', '0', 'LAST_HIT');

[Msg] Finished - Unsuccessfully

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

Aki fica dando isso .

 

Eu to usando a versao epilogue.

npc2.sql

INSERT INTO `custom_npc` VALUES ('22000', '20136', 'nomedonpcaqui', '1', 'titulodonpcaqui', '1', 'Monster.death_knight', '10.00', '25.00', '70', 'male', 'L2Merchant', '40', '25563', '1111', '111.00', '1.00', '40', '40', '40', '40', '40', '40', '40', '40', '40', '40', '40', '40', '40', '0', '40', '0', '0', '0', '0', '120', null, null, '0', '0', 'LAST_HIT');

 

22000.htm

D:\Meus documentos\Filmes\L2\Programas\L2JOfficial - Gracia Epilogue\L2Server\data\html\merchant

<html>

<body>

<center>

<br><center><font color="LEVEL">ALGUM COMENTARIO</font></center>

<br><img src="L2.Sparta" width=260 height=1>

<br><center><font color="LEVEL">DIALOGO DO NPC</font></center>

<br><button value="ARMAS" action="bypass -h npc_%objectId%_multisell 121212" width=168 height=25 back="sek.cbui36" fore="sek.cbui72">

<center>

</body>

</html>

 

121212.xml

D:\Meus documentos\Filmes\L2\Programas\L2JOfficial - Gracia Epilogue\L2Server\data\multisell

<?xml version='1.0' encoding='utf-8'?>

 

<!-- Created with Lineage II - Multisell Manager -->

<!-- © 2007 by tReXpert -->

 

<list maintainEnchantment="true">

 

<!-- Sirra's Blade -->

<item id="1">

<ingredient id="57" count="1000000"/>

<production id="8678" count="1"/>

</item>

 

<!-- Sirra's Blade - Haste -->

<item id="2">

<ingredient id="57" count="1000000"/>

<production id="8788" count="1"/>

</item>

</list>

 

Nao entendi muito bem isso de add manualmente.

seria isso :

imagemzwf.jpg

Eu peguei esses valores e sai colocando:

'22000', '20136', 'nomedonpcaqui', '1', 'titulodonpcaqui', '1', 'Monster.death_knight', '10.00', '25.00', '70', 'male', 'L2Merchant', '40', '25563', '1111', '111.00', '1.00', '40', '40', '40', '40', '40', '40', '40', '40', '40', '40', '40', '40', '40', '0', '40', '0', '0', '0', '0', '120', null, null, '0', '0', 'LAST_HIT'

Mesmo assim quando eu coloco //spawn 22000 diz que nao foi encontrado o target.

Ventilador sem proteçao caiu no meu rosto e ta doendo muito aff :(

2ywsj76.gif

00000001e.gif

Link para o comentário
Compartilhar em outros sites

  • 3 weeks later...

bom...

criei o npc...ok

criei a html... ok

criei a multsell... nao aparecer no npc.

 

ou seja o ncp foi criado acha a html dele, mas na hora de exibir a multsell nao vai!!!

olha como ta a html do npc:

 

<html>

<body>

<center>

<br><center><font color="LEVEL">Olha eu to super ocupado, entao vamos direto ao assunto... Negocios, vai comprar o que?</font></center>

<br><img src="L2.Sparta" width=260 height=1>

<br><center><font color="LEVEL">Comprar Itens Vesper</font></center>

<br><button value="ARMORS" action="bypass -h npc_%objectId%_multisell 004" width=168 height=25 back="sek.cbui36" fore="sek.cbui72">

<center>

</body>

</html>

 

 

e a multsell:

 

Apagado.

 

 

porem, na hora de exibir os iten dai... nao aparece la no npc... :(

ficaria agradecido se alguem pudece me ajudar nessa questão!

 

obs:> nenhum npc meu ta vendendo nada!!!

nenhuma das multsells do jogo estao pegando!!!

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

[Err] 1062 - Duplicate entry '22000' for key 1

[Err] INSERT INTO `custom_npc` VALUES ('22000', '20136', 'hugo', '1', 'all shop', '1', 'Monster.death_knight', '10.00', '25.00', '70', 'male', 'L2Merchant', '40', '25563', '1111', '111.00', '1.00', '40', '40', '40', '40', '40', '40', '40', '40', '40', '40', '40', '40', '40', '0', '40', '0', '0', '0', '0', '120', null, null, '0', '0', 'LAST_HIT');

[Msg] Finished - Unsuccessfully

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

 

 

 

deu isso quando fui coloca no navicat

 

sera pq ?

 

 

agradesso desde ja !

Link para o comentário
Compartilhar em outros sites

Duplicate entry '22000' for key 1

 

ja existe essa id !

 

poe outrA

account_tiny.gif

svn | timeline

activeMember.sendMessage("Quase tudo é possível quando se tem dedicação e habilidade. Grandes trabalhos são realizados não pela força, mas pela perseverança")

Link para o comentário
Compartilhar em outros sites

  • 3 weeks later...
  • 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.