PainInTheAss Posted February 21, 2021 Posted February 21, 2021 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 ?
IPXS Posted February 21, 2021 Posted February 21, 2021 (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 February 21, 2021 by IPXS
Rootware Posted February 21, 2021 Posted February 21, 2021 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.
Trance Posted February 22, 2021 Posted February 22, 2021 (edited) aCis has the answer. https://acis.i-live.eu/index.php?topic=9568.0 Edited February 22, 2021 by Trance
Recommended Posts