Ir para conteúdo
  • Cadastre-se

Fixes L2JFrozen 1132


leozinhobr2

Posts recomendados

Boa noite galera, venho aqui postar alguns fixes que eu mesmo consertei na SVN da Frozen 1132, muitas pessoas postaram este bug no youtube, porém não disponibilizam os Fixes.
1º Valakas = Tem um bug que na 2 porta ate o cristal ela não abre.

2º Private Sell Store = Quando você coloca mais de 1 item abre a loja de venda e depois fecha, os itens some e aparece outro, que no caso uma Sword no grade ID = 1, caso você não tire ou relogue, quando abrir novamente o game fecha, não sei se isso é um bug ou um tipo de proteção que a frozen colocou, porém EU acho desnecessário.
Bug Soulshot falhando.

4º Bug Phophecy Of Wind, logo quando pegava o buff, ao usar potions,etc, o char ficava virando para um lado e para o outro.

 

 

################################################################################################################

 

 

Correções Valakas:

 

Vá até GameServer/Data/Script/Teleporter/GrandBossTeleporter/__init__.py

 

Procure por:

 

elif npcId == 31384 : #Gatekeeper of Fire Dragon
DoorTable.getInstance().getDoor(24210004).openMe()
return
elif npcId == 31686 : #Gatekeeper of Fire Dragon
DoorTable.getInstance().getDoor(24210006).openMe()
return
elif npcId == 31687 : #Gatekeeper of Fire Dragon
DoorTable.getInstance().getDoor(24210005).openMe()
return
Substitua por:
elif npcId == 31384 : #Gatekeeper of Fire Dragon
DoorTable.getInstance().getDoor(24210004).openMe()
return
elif npcId == 31686 : #Gatekeeper of Fire Dragon
DoorTable.getInstance().getDoor(24210005).openMe()
return
elif npcId == 31687 : #Gatekeeper of Fire Dragon
DoorTable.getInstance().getDoor(24210006).openMe()
return
##########################################################################################################
Correção Bug ou Mod desnecessário Private Sell Store
##########################################################################################################
Na SVN nevegue ate:
gameserver\head-src\com\l2jfrozen\gameserver\model\actor\instance\L2ItemInstance.java
Procure por:
/** The _last change. */
private int _lastChange = 2;
Substitua por:
/** The _last change. */
private int _lastChange = 3;
Salve e compile, e seja feliz.
################################################################################################################
Fix Bug Soulshot falhando
################################################################################################################
Altere o arquivo L2PcInstance.java
Caminho:
gameserver\head-src\com\l2jfrozen\gameserver\model\actor\instance\L2PcInstance.java
Procure por:
public void rechargeAutoSoulShot(final boolean physical, final boolean magic, final boolean summon, final int atkTime)
{
ThreadPoolManager.getInstance().scheduleGeneral(new Runnable()
{
@Override
public void run()
{
rechargeAutoSoulShot(physical, magic, summon);
}
}, atkTime + 5);
}
Substitua por:
public void rechargeAutoSoulShot(final boolean physical, final boolean magic, final boolean summon, final int atkTime)
{
rechargeAutoSoulShot(physical, magic, summon);
}
OBS: Soulshot não falha, porém caso seja server com atkspeed muito alto pode haver um pequeno delay na animação, por outro lado não perde o damage aplicado no oponente igual antes.
################################################################################################################
Bug Prophecy of Wind CORRIGIDO
################################################################################################################
Substitua:
gameserver\data\stats\skills\1300-1399
<skill id="1357" levels="1" name="Prophecy of Wind">
<set name="mpInitialConsume" val="15"/>
<set name="mpConsume" val="57"/>
<set name="itemConsumeId" val="3031"/>
<set name="itemConsumeCount" val="5"/>
<set name="target" val="TARGET_ONE"/>
<set name="hitTime" val="4000"/>
<set name="reuseDelay" val="120000"/>
<set name="skillType" val="BUFF"/>
<set name="isMagic" val="true"/>
<set name="operateType" val="OP_ACTIVE"/>
<set name="castRange" val="400"/>
<set name="effectRange" val="900"/>
<set name="aggroPoints" val="669"/>
<for>
<effect count="1" name="Buff" time="300" val="0" stackOrder="1" stackType="CoV">
<add order="0x40" stat="accCombat" val="4"/>
<add order="0x40" stat="runSpd" val="60"/>
<add order="0x40" stat="absorbDam" val="5"/>
<add order="0x40" stat="rEvas" val="4"/>
<mul order="0x30" stat="pAtkSpd" val="1.20"/>
<mul order="0x30" stat="cAtk" val="1.2">
<and>
<player behind="True"/>
</and>
</mul>
<mul order="0x30" stat="rCrit" val="1.2"/>
<mul order="0x30" stat="debuffVuln" val="0.9"/>
</effect>
</for>
</skill>
################################################################################################################
Coloque os bugs referente a Frozen 1132, que irei fazendo os fixes e postando para vocês.
Pois o pessoal só sabem falar que arrumou e tals, porem não postam os fixes.
Att: Leonardo Faria.
Editado por leozinhobr2
  • Gostei 12
  • Amei 1
  • Obrigado 1

LeonardoFaria

Link para o comentário
Compartilhar em outros sites


 

Boa noite galera, venho aqui postar alguns fixes que eu mesmo consertei na SVN da Frozen 1132, muitas pessoas postaram este bug no youtube, porém não disponibilizam os Fixes.

1º Valakas = Tem um bug que na 2 porta ate o cristal ela não abre.

2º Private Sell Store = Quando você coloca mais de 1 item abre a loja de venda e depois fecha, os itens some e aparece outro, que no caso uma Sword no grade ID = 1, caso você não tire ou relogue, quando abrir novamente o game fecha, não sei se isso é um bug ou um tipo de proteção que a frozen colocou, porém EU acho desnecessário.

 

Correções Valakas:

Vá até GameServer/Data/Script/Teleporter/GrandBossTeleporter/__init__.py

 

Procure por:

 

elif npcId == 31384 : #Gatekeeper of Fire Dragon
DoorTable.getInstance().getDoor(24210004).openMe()
return
elif npcId == 31686 : #Gatekeeper of Fire Dragon
DoorTable.getInstance().getDoor(24210006).openMe()
return
elif npcId == 31687 : #Gatekeeper of Fire Dragon
DoorTable.getInstance().getDoor(24210005).openMe()
return
Substitua por:
elif npcId == 31384 : #Gatekeeper of Fire Dragon
DoorTable.getInstance().getDoor(24210004).openMe()
return
elif npcId == 31686 : #Gatekeeper of Fire Dragon
DoorTable.getInstance().getDoor(24210005).openMe()
return
elif npcId == 31687 : #Gatekeeper of Fire Dragon
DoorTable.getInstance().getDoor(24210006).openMe()
return
##########################################################################################################
Correção Bug ou Mod desnecessário Private Sell Store
##########################################################################################################
Na SVN nevegue ate:
gameserver\head-src\com\l2jfrozen\gameserver\model\actor\instance\L2ItemInstance.java
Procure por:
/** The _last change. */
private int _lastChange = 2;
Substitua por:
/** The _last change. */
private int _lastChange = 3;
Salve e compile, e seja feliz.
##########################################################################################################
Coloque os bugs referente a Frozen 1132, que irei fazendo os fixes e postando para vocês.

Pois o pessoal só sabem falar que arrumou e tals, porem não postam os fixes.

Att: Leonardo Faria.

 

puts man tu e foda vlw ai tem. quero ajeita esse do privatestore hj mesmo eu vo arrumar isso mas tarde se encontra algum bug te passo pena que n entendo mt java pra eu msm ajeita meus bugs mas vlw dps vo testa do private

Link para o comentário
Compartilhar em outros sites

puts man tu e foda vlw ai tem. quero ajeita esse do privatestore hj mesmo eu vo arrumar isso mas tarde se encontra algum bug te passo pena que n entendo mt java pra eu msm ajeita meus bugs mas vlw dps vo testa do private

Estou tentando arrumar o pequeno bug da soulshot, quando um char melee ataque com uma espada a soulshot falha.

LeonardoFaria

Link para o comentário
Compartilhar em outros sites

Se eu não me engano tem um bug na Prophecy of Wind Skill_1357.jpg quando usa ela e clicka no próprio nick o player fica teleportando pra traz ou para frente.

 

 

concordo com RootZero, a maioria dos servidores tem isso, os buffs POFire E POWater estão normal, e quando se buffa com Wind, completamente o char fica girando como se tivesse tomado bluff de um daguer .... ate hoje nao vi correções.. vlw obrigado!

Link para o comentário
Compartilhar em outros sites

 

 

concordo com RootZero, a maioria dos servidores tem isso, os buffs POFire E POWater estão normal, e quando se buffa com Wind, completamente o char fica girando como se tivesse tomado bluff de um daguer .... ate hoje nao vi correções.. vlw obrigado!

vdd vi aq agora. aqui na minha rev ele tica tipo querendo ir pra cima do npc so para quando tira o target do npc

Link para o comentário
Compartilhar em outros sites

vdd vi aq agora. aqui na minha rev ele tica tipo querendo ir pra cima do npc so para quando tira o target do npc

 

 

Sim ele para, mas quando vc esta no PVP , seu char do char começa a girar do nada kkkkkkkkk é meio engraçado, mas imagine , voce indo um x1 com um daguer e do nada vc ficar girando pra ele , sem ele ao menos te dar bluff , vai favorecer pra ele kkk , deveria ter uma correção , pq a maioria das pessoas utilizam POWind! alguns nao usam por esse motivo!

Link para o comentário
Compartilhar em outros sites

 

 

Sim ele para, mas quando vc esta no PVP , seu char do char começa a girar do nada kkkkkkkkk é meio engraçado, mas imagine , voce indo um x1 com um daguer e do nada vc ficar girando pra ele , sem ele ao menos te dar bluff , vai favorecer pra ele kkk , deveria ter uma correção , pq a maioria das pessoas utilizam POWind! alguns nao usam por esse motivo!

sim verdade tomara que nosso amigo ai leozinhobr2 saiba de algo sobre isso. pq e como ele falo as pessoas posta o video no youtube ainda corrige mas nao liberam a correção aqui pra nos. mas msm assim ja ajudou mt pq esse bug ai da privatestore era bem chato principalmente pra serve low

Link para o comentário
Compartilhar em outros sites

Hoje á tarde lancei mais um Fix, que o soulshot fica falhando com chars melee, vc hitava algumas vezes a soulshot não ativava ai dava um hit como se tivesse sem soulshot.
Porém como disse em server low, fica perfeito, já em altos status e normal não sair a animação, pois são muitos ataques em um curto periodo de tempo, gerando a não animação do mesmo. Igual um mago com 2k de casting, nao ve magia nenhuma. Mas o erro de não ativar a soulshot durante os ataques estão corrigidos.

LeonardoFaria

Link para o comentário
Compartilhar em outros sites

Hoje á tarde lancei mais um Fix, que o soulshot fica falhando com chars melee, vc hitava algumas vezes a soulshot não ativava ai dava um hit como se tivesse sem soulshot.

Porém como disse em server low, fica perfeito, já em altos status e normal não sair a animação, pois são muitos ataques em um curto periodo de tempo, gerando a não animação do mesmo. Igual um mago com 2k de casting, nao ve magia nenhuma. Mas o erro de não ativar a soulshot durante os ataques estão corrigidos.

 

ja viu o buff POWind, sera se e bug ou se é ma configuração na pasta Skills??? o buff ao voce se buffar com ele e for tretar , se voce for classe tanker ou daguer ou duelista o char fica girando como se fosse piao , como se estivesse tomado bluff de um daguer.... se corrigir , agradeço vlw...

Link para o comentário
Compartilhar em outros sites

 

ja viu o buff POWind, sera se e bug ou se é ma configuração na pasta Skills??? o buff ao voce se buffar com ele e for tretar , se voce for classe tanker ou daguer ou duelista o char fica girando como se fosse piao , como se estivesse tomado bluff de um daguer.... se corrigir , agradeço vlw...

Estou analizando o código. Caso ache postarei aqui.

LeonardoFaria

Link para o comentário
Compartilhar em outros sites

Corrigido.

Era na pasta stat/skills mesmo.

Olhei a Source toda e nada de anormal.

man tu eo cara funciono aqui. agora o único bug que me vem na cabeça agora da frozen e tipo quando vc abre alt+k ai usa qualquer skill ai se vc fecha e abri de novo nao mostra o tempo de cooldown ela fica como se ja tivese carregado 100% entendeu ?

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

man tu eo cara funciono aqui. agora o único bug que me vem na cabeça agora da frozen e tipo quando vc abre alt+k ai usa qualquer skill ai se vc fecha e abri de novo nao mostra o tempo de cooldown ela fica como se ja tivese carregado 100% entendeu ?

Coloca o novo update do Prophecy of wind, eu mudei algumas coisas.

man tu eo cara funciono aqui. agora o único bug que me vem na cabeça agora da frozen e tipo quando vc abre alt+k ai usa qualquer skill ai se vc fecha e abri de novo nao mostra o tempo de cooldown ela fica como se ja tivese carregado 100% entendeu ?

Bom, já este bug não esta presente na Frozen que utilizo que no caso a 1132, aqui esta normal, aperto ALT+K uso skill fecho e abro de novo, e ela está em cooldown.

Fiz isso pow exemplo com o Ultimate Evasion.

LeonardoFaria

Link para o comentário
Compartilhar em outros sites

Coloca o novo update do Prophecy of wind, eu mudei algumas coisas.

Bom, já este bug não esta presente na Frozen que utilizo que no caso a 1132, aqui esta normal, aperto ALT+K uso skill fecho e abro de novo, e ela está em cooldown.

Fiz isso pow exemplo com o Ultimate Evasion.

tb to cm a 1132 mas tipo ela fica carregando so que nao mostra tlg tipo. ela ainda vai esta carregando so que o icone dela aparece que ja ta carregado isso nao ta assim ai nao ?

Link para o comentário
Compartilhar em outros sites

tb to cm a 1132 mas tipo ela fica carregando so que nao mostra tlg tipo. ela ainda vai esta carregando so que o icone dela aparece que ja ta carregado isso nao ta assim ai nao ?

Não aqui esta normal.

LeonardoFaria

Link para o comentário
Compartilhar em outros sites

  • 9 months later...

Quanto ao valakas, não é bug, provavelmente você não jogou servidores low rate, não lembra e/ou não sabe que naqueles 2 npc's quando você fala com 1 ele abre a porta do outro lado e vice-versa, portanto não tem nada de errado nessa parte.

Quanto ao private store sell, você testou? Se sim, já chegou a ver também se não houve ou problema devido a essa mudança?

E parabéns pela iniciativa de postar um conteúdo único, pois o fórum ta virado em ctrl+c ctrl+v do mxc e fóruns russos.

 

PS.:

 

Pequena contribuição:

 

 

 

Para o problema do prophecy of wind e similares.

Agora você pode usar o original da frozen que não vai ter problemas.

Editado por PeNaChO

QdeQ9Kp.png

Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...

Quanto ao valakas, não é bug, provavelmente você não jogou servidores low rate, não lembra e/ou não sabe que naqueles 2 npc's quando você fala com 1 ele abre a porta do outro lado e vice-versa, portanto não tem nada de errado nessa parte.

Quanto ao private store sell, você testou? Se sim, já chegou a ver também se não houve ou problema devido a essa mudança?

E parabéns pela iniciativa de postar um conteúdo único, pois o fórum ta virado em ctrl+c ctrl+v do mxc e fóruns russos.

 

PS.:

 

Pequena contribuição:

 

 

 

Para o problema do prophecy of wind e similares.

Agora você pode usar o original da frozen que não vai ter problemas.

 

Penacho o pastbinta off aq pra min, outra se testo o fix dele do ss e do offtrade? funcionais?

Cgm5YQy.png

                                                                                          Divulgue seu Server, Cadastre seu servidor de Lineage 2

 

Link para o comentário
Compartilhar em outros sites

 

Penacho o pastbinta off aq pra min, outra se testo o fix dele do ss e do offtrade? funcionais?

### Eclipse Workspace Patch 1.0
#P L2jFrozen_GameServer
Index: head-src/com/l2jfrozen/gameserver/model/L2Character.java
===================================================================
--- head-src/com/l2jfrozen/gameserver/model/L2Character.java	(revision 32)
+++ head-src/com/l2jfrozen/gameserver/model/L2Character.java	(working copy)
@@ -9374,8 +9374,11 @@
 		
 		if (target instanceof L2Character)
 		{
-			((L2Character) target).sendPacket(new ValidateLocation(this));
-			this.sendPacket(new ValidateLocation(((L2Character) target)));
+			if (target != this)
+			{
+				((L2Character) target).sendPacket(new ValidateLocation(this));
+				this.sendPacket(new ValidateLocation(((L2Character) target)));
+			}
 			
 			L2Character target1 = (L2Character) target;
 			angleChar = Util.calculateAngleFrom(target1, this);
@@ -9457,8 +9460,11 @@
 		
 		if (target instanceof L2Character)
 		{
-			((L2Character) target).sendPacket(new ValidateLocation(this));
-			this.sendPacket(new ValidateLocation(((L2Character) target)));
+			if (target != this)
+			{
+				((L2Character) target).sendPacket(new ValidateLocation(this));
+				this.sendPacket(new ValidateLocation(((L2Character) target)));
+			}
 			
 			L2Character target1 = (L2Character) target;
 			angleChar = Util.calculateAngleFrom(target1, this);

Não testei nada, pois já tenho esses fixes no meu projeto.

QdeQ9Kp.png

Link para o comentário
Compartilhar em outros sites

### Eclipse Workspace Patch 1.0
#P L2jFrozen_GameServer
Index: head-src/com/l2jfrozen/gameserver/model/L2Character.java
===================================================================
--- head-src/com/l2jfrozen/gameserver/model/L2Character.java	(revision 32)
+++ head-src/com/l2jfrozen/gameserver/model/L2Character.java	(working copy)
@@ -9374,8 +9374,11 @@
 		
 		if (target instanceof L2Character)
 		{
-			((L2Character) target).sendPacket(new ValidateLocation(this));
-			this.sendPacket(new ValidateLocation(((L2Character) target)));
+			if (target != this)
+			{
+				((L2Character) target).sendPacket(new ValidateLocation(this));
+				this.sendPacket(new ValidateLocation(((L2Character) target)));
+			}
 			
 			L2Character target1 = (L2Character) target;
 			angleChar = Util.calculateAngleFrom(target1, this);
@@ -9457,8 +9460,11 @@
 		
 		if (target instanceof L2Character)
 		{
-			((L2Character) target).sendPacket(new ValidateLocation(this));
-			this.sendPacket(new ValidateLocation(((L2Character) target)));
+			if (target != this)
+			{
+				((L2Character) target).sendPacket(new ValidateLocation(this));
+				this.sendPacket(new ValidateLocation(((L2Character) target)));
+			}
 			
 			L2Character target1 = (L2Character) target;
 			angleChar = Util.calculateAngleFrom(target1, this);

Não testei nada, pois já tenho esses fixes no meu projeto.

 

 

Vlw o q me resta e add e ver se resolve

Cgm5YQy.png

                                                                                          Divulgue seu Server, Cadastre seu servidor de Lineage 2

 

Link para o comentário
Compartilhar em outros sites

  • 7 months later...
Em 10/07/2016 at 01:05, leozinhobr2 disse:
Correção Bug ou Mod desnecessário Private Sell Store
##########################################################################################################
 
Na SVN nevegue ate:
 
gameserver\head-src\com\l2jfrozen\gameserver\model\actor\instance\L2ItemInstance.java
 
Procure por:
 
/** The _last change. */
private int _lastChange = 2;
 
Substitua por:
 
/** The _last change. */
private int _lastChange = 3;
 
Salve e compile, e seja feliz.

Amigo isso não funciona...

@PeNaChO você poderia disponibilizar a tua correção do privatesell?

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.