Jump to content

Recommended Posts

Posted

Hello. I got one problem.  I got shop which selling +20 weapons but in shop when i select item its doesnt  show any + on weapon but when i buy it in inventory its shows +20 . In which system file there is problem ? 

info_Easy-Resize.com (1).jpg

Posted (edited)

You must put a code in source multisellist.java then preparedentry.java , ingredient.java multisell.java 

MultiSellList.java

@@ -119,5 +119,5 @@
else
{
- writeH(0x00); // enchant level
+ writeH(ing.getEnchantLevel()); // enchant level
writeD(0x00); // augment id
writeD(0x00); // mana
@@ -154,5 +154,5 @@
else
{
- writeH(0x00); // enchant level
+ writeH(ing.getEnchantLevel()); // enchant level
writeD(0x00); // augment id
writeD(0x00); // mana


PreparedEntry.java


@@ -72,5 +72,5 @@
adenaAmount += _taxAmount; // do not forget tax
if (adenaAmount > 0)
- _ingredients.add(new Ingredient(ADENA_ID, adenaAmount, false, false));
+ _ingredients.add(new Ingredient(ADENA_ID, adenaAmount,0, false, false));

Ingredient.java

@@ -30,4 +30,5 @@
private int _itemId;
private long _itemCount;
+ private int _EnchantmentLevel;
private boolean _isTaxIngredient, _maintainIngredient;

@@ -35,8 +36,9 @@
private ItemInfo _itemInfo = null;

- public Ingredient(int itemId, long itemCount, boolean isTaxIngredient, boolean maintainIngredient)
+ public Ingredient(int itemId, long itemCount,int EnchantmentLevel, boolean isTaxIngredient, boolean maintainIngredient)
{
_itemId = itemId;
_itemCount = itemCount;
+ _EnchantmentLevel = EnchantmentLevel;
_isTaxIngredient = isTaxIngredient;
_maintainIngredient = maintainIngredient;
@@ -80,5 +82,5 @@
public final int getEnchantLevel()
{
- return _itemInfo != null ? _itemInfo.getEnchantLevel() : 0;
+ return _itemInfo == null?_EnchantmentLevel:_itemInfo.getEnchantLevel();
}

MultiSell.java


@@ -270,4 +270,8 @@
if ("ingredient".equalsIgnoreCase(n.getNodeName()))
{
+ int enchantmentLevel = 0;
+ if (n.getAttributes().getNamedItem("enchantmentLevel") != null)
+ enchantmentLevel = Integer.parseInt(n.getAttributes().getNamedItem("enchantmentLevel").getNodeValue());
+	
int id = Integer.parseInt(n.getAttributes().getNamedItem("id").getNodeValue());
long count = Long.parseLong(n.getAttributes().getNamedItem("count").getNodeValue());
@@ -286,12 +290,16@@
mantainIngredient = false;

- entry.addIngredient(new Ingredient(id, count, isTaxIngredient, mantainIngredient));
+ entry.addIngredient(new Ingredient(id, count, enchantmentLevel, isTaxIngredient, mantainIngredient));
}
else if ("production".equalsIgnoreCase(n.getNodeName()))
{
+ int enchantmentLevel = 0;
+ if (n.getAttributes().getNamedItem("enchantmentLevel") != null)
+ enchantmentLevel = Integer.parseInt(n.getAttributes().getNamedItem("enchantmentLevel").getNodeValue());
+
int id = Integer.parseInt(n.getAttributes().getNamedItem("id").getNodeValue());
long count = Long.parseLong(n.getAttributes().getNamedItem("count").getNodeValue());

- entry.addProduct(new Ingredient(id, count, false, false));
+ entry.addProduct(new Ingredient(id, count, enchantmentLevel, false, false));
}
}

And put this: <production id="10452" count="1" enchantmentLevel="20"/>

 

<?xml version='1.0' encoding='utf-8'?>
<!-- Armor -->
 
- <list>
+ <list maintainEnchantment="true">

<!-- your item name -->
<item id="1">
<ingredient id="14721" count="3" enchant="0"/>
<production id="16168" count="1" enchantmentLevel="12"/>
</item>

Change <list> to  <list maintainEnchantment="true">

Edited by IPXS
Posted

Basically, client interface don't support showing enchant level for items in multisell list. For this you need to edit interface scripts and change the style of showing the specified tooltips.

  • Vision locked this topic
Guest
This topic is now closed to further replies.
×
×
  • Create New...