Tópico: [L2JServer] PHX Multisell bug fix
Ver um Único Post
Antigo 16-08-2011, 12:35 PM   #1 (permalink)
allanalcantara
Banido
 
Avatar de allanalcantara
 
Registrado em: Nov 2009
Localização: Fortaleza-ce
Posts: 325
Agradeceu: 125
Agradecido 203 Vezes em 82 Posts
Achei Ruim:
Acharam ruim Vezes em Posts
Enviar mensagem via Windows Live Messenger para allanalcantara Enviar mensagem via Skype para allanalcantara
Nome Real: Allan Alcântara de Alencar

Inventório de allanalcantara

Padrão PHX Multisell bug fix

Código: [Somente Usuários Registrados Podem Visualizar os Links Desta PáginaClique aqui para se Registrar]
Index: java/net/sf/l2j/gameserver/network/clientpackets/MultiSellChoose.java
===================================================================
--- java/net/sf/l2j/gameserver/network/clientpackets/MultiSellChoose.java	(revision 2745)
+++ java/net/sf/l2j/gameserver/network/clientpackets/MultiSellChoose.java	(working copy)
@@ -88,6 +88,8 @@
 	{
 		PcInventory inv = player.getInventory();
 		
+		boolean maintainItemFound = false;
+		
 		// given the template entry and information about maintaining enchantment and applying taxes
 		// re-create the instance of the entry that will be used for this exchange
 		// i.e. change the enchantment level of select ingredient/products and adena amount appropriately.
@@ -126,10 +128,26 @@
 			}
 			if (newIng)
 			{
+				// If there is a maintainIngredient, then we do not need to check the enchantment parameter
+				//  as the enchant level will be checked elsewhere
+				if (maintainEnchantment && e.getMantainIngredient())
+				{
+					maintainItemFound = true;
+				}
 				// if it's a new ingredient, just store its info directly (item id, count, enchantment)
 				_ingredientsList.add(L2Multisell.getInstance().new MultiSellIngredient(e));
 			}
 		}
+		
+		// If there is no maintainIngredient, then we must make sure that the 
+		//  enchantment is not kept from the client packet, as it may have been forged
+		if (!maintainItemFound)
+		{
+			for (MultiSellIngredient product : entry.getProducts())
+			{
+				product.setEnchantmentLevel(0);
+			}
+		}
 		// now check if the player has sufficient items in the inventory to cover the ingredients' expences
 		for (MultiSellIngredient e : _ingredientsList)
 		{

Arquivos Anexados
Tipo de Arquivo: txt PHX Multisell bug fix.txt (1.7 KB, 26 visualizações) Baixar
allanalcantara está offline  
Links Patrocinados
 

Search Engine Optimization by vBSEO 3.3.0