Ir para conteúdo
  • Cadastre-se
leozinhobr2

Fixes L2JFrozen 1132

Posts recomendados

Utilizei um método postado por um membro do fórum da Frozen e funcionou.

Aqui está:

Index: head-src/com/l2jfrozen/gameserver/network/serverpackets/PrivateStoreManageListSell.java
===================================================================
--- head-src/com/l2jfrozen/gameserver/network/serverpackets/PrivateStoreManageListSell.java	(revision 325)
+++ head-src/com/l2jfrozen/gameserver/network/serverpackets/PrivateStoreManageListSell.java	(working copy)
@@ -20,7 +20,6 @@
 
 import com.l2jfrozen.Config;
 import com.l2jfrozen.gameserver.model.TradeList;
-import com.l2jfrozen.gameserver.model.TradeList.TradeItem;
 import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance;
 
 /**
@@ -72,11 +71,9 @@
 		writeD(_playerAdena);
 		
 		// section2
-		writeD(_itemList.length - _sellList.length); // for potential sells
+		writeD(_itemList.length); // for potential sells
 		for (TradeList.TradeItem item : _itemList)
 		{
-			if (isItemInSelling(item) == false)
-			{
 				writeD(item.getItem().getType2());
 				writeD(item.getObjectId());
 				writeD(item.getItem().getItemId());
@@ -86,8 +83,8 @@
 				writeH(0);
 				writeD(item.getItem().getBodyPart());
 				writeD(item.getPrice()); // store price
-			}
 		}
+		
 		// section 3
 		writeD(_sellList.length); // count for any items already added for sell
 		for (TradeList.TradeItem item : _sellList)
@@ -105,18 +102,6 @@
 		}
 	}
 	
-	private boolean isItemInSelling(TradeItem item_)
-	{
-		for (TradeList.TradeItem itemSell : _sellList)
-		{
-			if (itemSell.getObjectId() == item_.getObjectId())
-			{
-				return true;
-			}
-		}
-		return false;
-	}
-	
 	/*
 	 * (non-Javadoc)
 	 * @see com.l2jfrozen.gameserver.serverpackets.ServerBasePacket#getType()

Créditos: Pedra

  • Gostei 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Precisando de Dedicado ou VPS?

Conheça a L2JCenter
14 minutos atrás, Mwac disse:

Utilizei um método postado por um membro do fórum da Frozen e funcionou.

Aqui está:

Index: head-src/com/l2jfrozen/gameserver/network/serverpackets/PrivateStoreManageListSell.java
===================================================================
--- head-src/com/l2jfrozen/gameserver/network/serverpackets/PrivateStoreManageListSell.java	(revision 325)
+++ head-src/com/l2jfrozen/gameserver/network/serverpackets/PrivateStoreManageListSell.java	(working copy)
@@ -20,7 +20,6 @@
 
 import com.l2jfrozen.Config;
 import com.l2jfrozen.gameserver.model.TradeList;
-import com.l2jfrozen.gameserver.model.TradeList.TradeItem;
 import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance;
 
 /**
@@ -72,11 +71,9 @@
 		writeD(_playerAdena);
 		
 		// section2
-		writeD(_itemList.length - _sellList.length); // for potential sells
+		writeD(_itemList.length); // for potential sells
 		for (TradeList.TradeItem item : _itemList)
 		{
-			if (isItemInSelling(item) == false)
-			{
 				writeD(item.getItem().getType2());
 				writeD(item.getObjectId());
 				writeD(item.getItem().getItemId());
@@ -86,8 +83,8 @@
 				writeH(0);
 				writeD(item.getItem().getBodyPart());
 				writeD(item.getPrice()); // store price
-			}
 		}
+		
 		// section 3
 		writeD(_sellList.length); // count for any items already added for sell
 		for (TradeList.TradeItem item : _sellList)
@@ -105,18 +102,6 @@
 		}
 	}
 	
-	private boolean isItemInSelling(TradeItem item_)
-	{
-		for (TradeList.TradeItem itemSell : _sellList)
-		{
-			if (itemSell.getObjectId() == item_.getObjectId())
-			{
-				return true;
-			}
-		}
-		return false;
-	}
-	
 	/*
 	 * (non-Javadoc)
 	 * @see com.l2jfrozen.gameserver.serverpackets.ServerBasePacket#getType()

Créditos: Pedra

Sim funciona!

Porém deixa espaço para bugs de dupe, pois não haverá a checagem se o item já está sendo vendido ou não.

Compartilhar este post


Link para o post
Compartilhar em outros sites
3 horas atrás, PeNaChO disse:

Sim funciona!

Porém deixa espaço para bugs de dupe, pois não haverá a checagem se o item já está sendo vendido ou não.

Ok... então você poderia disponibilizar a correção?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Testei 2 modos de tentar bugar que encontrei pesquisando na internet, um que você mesmo menciona no fórum da Frozen e outro encontrei no fórum maxcheaters e nenhum funciona mesmo removendo as linhas do  script.

1º Nesse tenho que usar o item com a loja aberta e não tem como fazer isso! (então a checagem do item aqui né?)

2udys5i.jpg

2º Nesse tenho dar trade em outro player e o mesmo tem que dar OK, e ao  mesmo tempo tenho que montar a loja para que o bug funcione... mas também não tem como fazer isso!

10h83uo.jpg

Então podem usar esse método que compartilhei que não terá problema assim como outros também usa o mesmo.

Se tem outras formas de bugar me digam que irei testar.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 29/12/2017 at 17:44, Mwac disse:

Utilizei um método postado por um membro do fórum da Frozen e funcionou.

Aqui está:

Index: head-src/com/l2jfrozen/gameserver/network/serverpackets/PrivateStoreManageListSell.java
===================================================================
--- head-src/com/l2jfrozen/gameserver/network/serverpackets/PrivateStoreManageListSell.java	(revision 325)
+++ head-src/com/l2jfrozen/gameserver/network/serverpackets/PrivateStoreManageListSell.java	(working copy)
@@ -20,7 +20,6 @@
 
 import com.l2jfrozen.Config;
 import com.l2jfrozen.gameserver.model.TradeList;
-import com.l2jfrozen.gameserver.model.TradeList.TradeItem;
 import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance;
 
 /**
@@ -72,11 +71,9 @@
 		writeD(_playerAdena);
 		
 		// section2
-		writeD(_itemList.length - _sellList.length); // for potential sells
+		writeD(_itemList.length); // for potential sells
 		for (TradeList.TradeItem item : _itemList)
 		{
-			if (isItemInSelling(item) == false)
-			{
 				writeD(item.getItem().getType2());
 				writeD(item.getObjectId());
 				writeD(item.getItem().getItemId());
@@ -86,8 +83,8 @@
 				writeH(0);
 				writeD(item.getItem().getBodyPart());
 				writeD(item.getPrice()); // store price
-			}
 		}
+		
 		// section 3
 		writeD(_sellList.length); // count for any items already added for sell
 		for (TradeList.TradeItem item : _sellList)
@@ -105,18 +102,6 @@
 		}
 	}
 	
-	private boolean isItemInSelling(TradeItem item_)
-	{
-		for (TradeList.TradeItem itemSell : _sellList)
-		{
-			if (itemSell.getObjectId() == item_.getObjectId())
-			{
-				return true;
-			}
-		}
-		return false;
-	}
-	
 	/*
 	 * (non-Javadoc)
 	 * @see com.l2jfrozen.gameserver.serverpackets.ServerBasePacket#getType()

Créditos: Pedra

Gente, sou novato eclipse e gostaria de fazer uma pergunta, como eu altero essa correção acima no código fonte? procurei o caminho e achei no Eclipse o local correto de substituir isso, porém, ao dar o famoso copiar e colar, minha tela do eclipse apresentou vários erros em todas as linhas desse código acima, será que posso copiar do jeitinho que esta ai ou precisarei mudar algo, apagar espaços, adaptar, sei la :D nesse código ai pra não dar erro quando for compilar?

Desde ja obrigado.

Editado por victorrv

Compartilhar este post


Link para o post
Compartilhar em outros sites
14 horas atrás, victorrv disse:

Gente, sou novato eclipse e gostaria de fazer uma pergunta, como eu altero essa correção acima no código fonte? procurei o caminho e achei no Eclipse o local correto de substituir isso, porém, ao dar o famoso copiar e colar, minha tela do eclipse apresentou vários erros em todas as linhas desse código acima, será que posso copiar do jeitinho que esta ai ou precisarei mudar algo, apagar espaços, adaptar, sei la :D nesse código ai pra não dar erro quando for compilar?

Desde ja obrigado.

Boa tarde amigo.

Esse código é uma copia do existente no projeto, sendo assim você só ira remover as linhas que tem o sinal de subtrair (-) e adicionar os que tem o sinal de soma (+), fazendo isso não irá dar nenhum erro ao compilar. ^^

Por exemplo nesta parte:

// section2
-		writeD(_itemList.length - _sellList.length); // for potential sells
+		writeD(_itemList.length); // for potential sells

 

Remova a linha com o sinal - e adicione no lugar a que esta com o sinal +.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite
Encontrei um código para visualizar o HP das portas e muros dos Castelos e vim compartilhar, acabei de testar e funciona perfeitamente!

Já que os que sabem ou dizem saber não compartilham (Muitos por aqui!!), sempre que eu  encontrar correções e etc irei ficar postando aqui! Pois o fórum é para isso para compartilhar conhecimento e ideias com os demais membros!

Código:

Index: head-src/com/l2jfrozen/gameserver/model/actor/knownlist/PcKnownList.java
===================================================================
--- head-src/com/l2jfrozen/gameserver/model/actor/knownlist/PcKnownList.java	(revision 1113)
+++ head-src/com/l2jfrozen/gameserver/model/actor/knownlist/PcKnownList.java	(working copy)
@@ -126,7 +126,14 @@
 			}
 			else if (object instanceof L2DoorInstance)
 			{
-				active_char.sendPacket(new DoorInfo((L2DoorInstance) object, false));
+                               if (((L2DoorInstance) object).getCastle() != null)
+                               {
+                                   getActiveChar().sendPacket(new DoorInfo((L2DoorInstance) object, true));
+                               }
+                               else
+                               {
+                                   getActiveChar().sendPacket(new DoorInfo((L2DoorInstance) object, false));
+                               }
 				active_char.sendPacket(new DoorStatusUpdate((L2DoorInstance) object));
 			}
 			else if (object instanceof L2BoatInstance)
Index: head-src/com/l2jfrozen/gameserver/network/clientpackets/RequestRecordInfo.java
===================================================================
--- head-src/com/l2jfrozen/gameserver/network/clientpackets/RequestRecordInfo.java	(revision 1113)
+++ head-src/com/l2jfrozen/gameserver/network/clientpackets/RequestRecordInfo.java	(working copy)
@@ -90,7 +90,14 @@
 				}
 				else if (object instanceof L2DoorInstance)
 				{
-					_activeChar.sendPacket(new DoorInfo((L2DoorInstance) object, false));
+				    if (((L2DoorInstance) object).getCastle() != null)
+				    {
+				        _activeChar.sendPacket(new DoorInfo((L2DoorInstance) object, true));
+				    }
+				    else
+				    {
+				        _activeChar.sendPacket(new DoorInfo((L2DoorInstance) object, false));
+				    }
 					_activeChar.sendPacket(new DoorStatusUpdate((L2DoorInstance) object));
 				}
 				else if (object instanceof L2BoatInstance)
Index: head-src/com/l2jfrozen/gameserver/network/serverpackets/DoorInfo.java
===================================================================
--- head-src/com/l2jfrozen/gameserver/network/serverpackets/DoorInfo.java	(revision 1113)
+++ head-src/com/l2jfrozen/gameserver/network/serverpackets/DoorInfo.java	(working copy)
@@ -28,10 +28,12 @@
 {
 	private static final String _S__60_DOORINFO = "[S] 4c DoorInfo";
 	private final L2DoorInstance _door;
+	private final boolean _showHp;
 	
 	public DoorInfo(final L2DoorInstance door, final boolean showHp)
 	{
 		_door = door;
+		_showHp = showHp;
 	}
 	
 	@Override
@@ -40,6 +42,7 @@
 		writeC(0x4c);
 		writeD(_door.getObjectId());
 		writeD(_door.getDoorId());
+		writeD(_showHp ? 1 : 0);
 	}
 	
 	/*

Créditos: Tessa

 

Segue o prints:
Porta:
qrlzc2.jpg

Muro:

29m0ief.jpg

  • Gostei 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde

Erro reportado pelo  membro Brhu3 sobre a skill Focused Force! Esta em outro tópico mas para facilitar aos que se interessam pela rev 1132 irei copiar aqui.

<skill id="50" levels="7" name="Focused Force">
        <table name="#val">1 2 3 4 5 6 7</table>
        <set name="mpConsume" val="5"/>
        <set name="hpConsume" val="20"/>
        <set name="power" val="#val"/>
        <set name="target" val="TARGET_SELF"/>
        <set name="weaponsAllowed" val="1024"/>
        <set name="reuseDelay" val="1000"/>
        <set name="hitTime" val="900"/>
        <set name="skillType" val="CHARGE"/>
        <set name="operateType" val="OP_ACTIVE"/>
        <set name="num_charges" val="#val"/>
        <set name="aggroPoints" val="150"/>
        <for>

  •      -       <effect count="1" name="Charge" time="0x7fffffff" val="1"/>  ( isso nao faz nem sentido kk )
  •      +      <effect count="1" name="Charge" time="600" val="1"/>    

        </for>

Créditos: Brhu3

  • Gostei 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa  noite
Estou compartilhando outra correção (não é de minha autoria), para as Skills: Sonic Buster e Force Burst, em que ela é usada contra si mesmo (Crtl + Skill + próprio target) baixando somente o HP sendo possível bugar os pontos de PVP e bugar na Oly para usar outras skills como por exemplo o zealot do Tyrant e no caso do Duelist baixar o HP para ativar o Final Frenzy para aumentar o Patk.

(Acabei de testar e funciona perfeitamente!)

Código a ser adicionado em L2Character.Java:
Procure por:

// Check if the skill is a magic spell and if the L2Character is not muted
  if (skill.isMagic() && isMuted() && !skill.isPotion())
  {
   getAI().notifyEvent(CtrlEvent.EVT_CANCEL);
   return;
  }

Abaixo adicione:

+if (this instanceof L2PcInstance)
+{
	+L2PcInstance player = (L2PcInstance) this;
	+if (player.getTarget() != null && player.getTarget() == player)
	    +if (skill.getSkillType() == SkillType.CHARGEDAM)
	    +{
	    	+player.sendMessage("message");
	    	+return;
	    +}	
+}

Onde esta escrito "message" você muda a seu gosto!

Créditos: Tig

 

Obs.: Eu queria saber o porque que muitos dos membros aqui do fórum sabem dessas coisas e não compartilha aqui!!!

  • Amei 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite

Para aqueles que querem utilizar a quest de aliança com Ketra e Varkas, ela tem um bug que não consegui solucionar por exemplo: O player esta level 5 da ally com Ketra e sem querer mata um mob da ally... (pelo que eu me lembre o player perde 1 level da ally) mas volta para o level 1,  a quest buga de uma forma que você tem recomeçar tudo de novo, então mudei para que quando o player mate o mob da aliança ela não perca level da ally mesmo estando em party!

Você vai em: com.l2jfrozen.gameserver.ai.special

Procura por: VarkaKetraAlly.Java

E nesse arquivo procure e elimine essa linha: addEventId(mob, Quest.QuestEventType.ON_KILL);.

Tem que ser alterado no Java no arquivo Py não funciona!

Obs.: Isso eu  tinha postado em (Duvidas) em 19 de Abril de 2017.

Créditos pela alteração: Mwac

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá... estive offline por muito tempo mas agora estou dando continuidade  na edição da rev 1132 novamente.
Alguém  encontrou mais bugs ou correções para compartilhar?  Obrigado.  :)

  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 22/06/2018 at 10:08, Mwac disse:

Olá... estive offline por muito tempo mas agora estou dando continuidade  na edição da rev 1132 novamente.
Alguém  encontrou mais bugs ou correções para compartilhar?  Obrigado.  :)

segue algumas coisas que reportei e ninguém ajudou até agora infelizmente link do post com os Report's abaixo:

 

outra coisa que eu queria resolver é os personagens novos não começarem full HP e CP. se poder ajudar também ficaria agradecido se eu conseguir alguma correção correta pra algo estarei disponibilizando aqui. desde já agradeço.

Editado por Snow

Compartilhar este post


Link para o post
Compartilhar em outros sites
1 hora atrás, Snow disse:

 

Tava procurando esse tópico igual doido e não achava 😕

Eu ia postar aqui, ainda bem que tu viu e postou! Eu não mexi nesses problemas por que eu achei que era algo mais complexo da revisão...

São coisas que não interferem muito no jogo, só iria mexer nisso se sobrasse tempo.

 

Ah, a do phx title até é interessante de se arrumar, mas sinceramente nunca vi ninguém fazendo ela em nenhum servidor... então..

Editado por Escanor
  • Haha 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
2 horas atrás, Escanor disse:

Ah, a do phx title até é interessante de se arrumar, mas sinceramente nunca vi ninguém fazendo ela em nenhum servidor... então..

Mas funciona! Já testei em alguns servers sem proteção, com 2 telas, 1 executando phx e outra pra verificar se realmente era modificado o titulo, pois poderia ser somente na tela em que esta atica com phx.

https://www.youtube.com/watch?v=IJpsJ-9XG0E

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

5 horas atrás, PeNaChO disse:

Mas funciona! Já testei em alguns servers sem proteção, com 2 telas, 1 executando phx e outra pra verificar se realmente era modificado o titulo, pois poderia ser somente na tela em que esta atica com phx.

https://www.youtube.com/watch?v=IJpsJ-9XG0E

Sim eu vi o vídeo, mas em jogo nunca vi ninguém usar isso, é algo meio inútil  😅

Compartilhar este post


Link para o post
Compartilhar em outros sites
9 horas atrás, Escanor disse:

 

Sim eu vi o vídeo, mas em jogo nunca vi ninguém usar isso, é algo meio inútil  😅

Que é inutil não tem como discordar, porém como os atuais jogadores "quitam" por qualquer desculpa, pode influenciar na decisão deles, caso vejam alguém fazendo isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Mudanças no Login

    Preste atenção às mudanças no método de login.

    Com a migração para nomes de usuário IPB4 não existe mais.

    Você deve usar seu nome de exibição ou email em vez de nome de usuário.




     



×