Code: Select all
Index: java/com/l2jserver/Config.java===================================================================--- java/com/l2jserver/Config.java (revision 4410)+++ java/com/l2jserver/Config.java (working copy)@@ -676,6 +676,8 @@ public static String L2JMOD_MULTILANG_DEFAULT; public static boolean L2JMOD_MULTILANG_VOICED_ALLOW; public static boolean L2WALKER_PROTECTION;+ public static int STORE_BUY_CURRENCY;+ public static int STORE_SELL_CURRENCY; //-------------------------------------------------- // NPC Settings@@ -2285,6 +2287,8 @@ L2JMOD_MULTILANG_VOICED_ALLOW = Boolean.parseBoolean(L2JModSettings.getProperty("MultiLangVoiceCommand", "True")); L2WALKER_PROTECTION = Boolean.parseBoolean(L2JModSettings.getProperty("L2WalkerProtection", "False"));+ STORE_BUY_CURRENCY = Integer.parseInt(L2JModSettings.getProperty("PrivateStoreBuyMoneda", "57"));+ STORE_SELL_CURRENCY = Integer.parseInt(L2JModSettings.getProperty("PrivateStoreSellMoneda", "57")); } catch (Exception e) {Index: java/com/l2jserver/gameserver/model/TradeList.java===================================================================--- java/com/l2jserver/gameserver/model/TradeList.java (revision 4410)+++ java/com/l2jserver/gameserver/model/TradeList.java (working copy)@@ -802,9 +802,10 @@ slots++; } - if (totalPrice > playerInventory.getAdena())+ if (totalPrice > player.getBuyStoreCurrency()) {- player.sendPacket(new SystemMessage(SystemMessageId.YOU_NOT_ENOUGH_ADENA));+ final String name = ItemTable.getInstance().getTemplate(Config.STORE_BUY_CURRENCY).getName();+ player.sendMessage("You dont have enough "+name); return 1; } @@ -823,12 +824,12 @@ // Prepare inventory update packets final InventoryUpdate ownerIU = new InventoryUpdate(); final InventoryUpdate playerIU = new InventoryUpdate();- - final L2ItemInstance adenaItem = playerInventory.getAdenaInstance();- playerInventory.reduceAdena("PrivateStore", totalPrice, player, _owner);+ final int moneda = Config.STORE_BUY_CURRENCY;+ final L2ItemInstance adenaItem = playerInventory.getItemByItemId(moneda);+ player.destroyItemByItemId("PrivateStore", moneda, totalPrice, _owner, true); playerIU.addItem(adenaItem);- ownerInventory.addAdena("PrivateStore", totalPrice, _owner, player);- ownerIU.addItem(ownerInventory.getAdenaInstance());+ ownerInventory.addItem("PrivateStore", moneda, totalPrice, _owner, player);+ ownerIU.addItem(ownerInventory.getItemByItemId(moneda)); boolean ok = true; @@ -965,7 +966,7 @@ break; } - if (ownerInventory.getAdena() < _totalPrice)+ if (_owner.getSellStoreCurrency() < _totalPrice) continue; // Check if requested item is available for manipulation@@ -1043,11 +1044,12 @@ if (totalPrice > ownerInventory.getAdena()) // should not happens, just a precaution return false;- final L2ItemInstance adenaItem = ownerInventory.getAdenaInstance();- ownerInventory.reduceAdena("PrivateStore", totalPrice, _owner, player);+ final int moneda = Config.STORE_SELL_CURRENCY;+ final L2ItemInstance adenaItem = ownerInventory.getItemByItemId(moneda);+ ownerInventory.destroyItemByItemId("PrivateStore", moneda, totalPrice, _owner, player); ownerIU.addItem(adenaItem);- playerInventory.addAdena("PrivateStore", totalPrice, player, _owner);- playerIU.addItem(playerInventory.getAdenaInstance());+ playerInventory.addItem("PrivateStore", moneda, totalPrice, player, _owner);+ playerIU.addItem(playerInventory.getItemByItemId(moneda)); } if (ok)Index: java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java===================================================================--- java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java (revision 4410)+++ java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java (working copy)@@ -14889,4 +14889,18 @@ addSkill(SkillTable.getInstance().getInfo(id, nextLevel), true); } }+ + public synchronized long getBuyStoreCurrency()+ {+ L2ItemInstance item = this.getInventory().getItemByItemId(Config.STORE_BUY_CURRENCY);+ + return item == null? 0 : item.getCount();+ }+ + public synchronized long getSellStoreCurrency()+ {+ L2ItemInstance item = this.getInventory().getItemByItemId(Config.STORE_SELL_CURRENCY);+ + return item == null? 0 : item.getCount();+ } }Index: java/com/l2jserver/gameserver/model/itemcontainer/PcInventory.java===================================================================--- java/com/l2jserver/gameserver/model/itemcontainer/PcInventory.java (revision 4410)+++ java/com/l2jserver/gameserver/model/itemcontainer/PcInventory.java (working copy)@@ -85,11 +85,14 @@ FastList<L2ItemInstance> list = FastList.newInstance(); for (L2ItemInstance item : _items) {- if ((!allowAdena && item.getItemId() == 57))+ final int itemId = item.getItemId();+ if ((!allowAdena && itemId == 57)) continue;- if ((!allowAncientAdena && item.getItemId() == 5575))+ if ((!allowAncientAdena && itemId == 5575)) continue;-+ if(itemId == Config.STORE_BUY_CURRENCY)+ continue;+ boolean isDuplicate = false; for (L2ItemInstance litem : list) {Index: java/com/l2jserver/gameserver/network/clientpackets/SetPrivateStoreListBuy.java===================================================================--- java/com/l2jserver/gameserver/network/clientpackets/SetPrivateStoreListBuy.java (revision 4410)+++ java/com/l2jserver/gameserver/network/clientpackets/SetPrivateStoreListBuy.java (working copy)@@ -140,7 +140,7 @@ } // Check for available funds- if (totalCost > player.getAdena())+ if (totalCost > player.getBuyStoreCurrency()) { player.sendPacket(new PrivateStoreManageListBuy(player)); player.sendPacket(new SystemMessage(SystemMessageId.THE_PURCHASE_PRICE_IS_HIGHER_THAN_MONEY));Index: java/com/l2jserver/gameserver/network/serverpackets/PrivateStoreListBuy.java===================================================================--- java/com/l2jserver/gameserver/network/serverpackets/PrivateStoreListBuy.java (revision 4410)+++ java/com/l2jserver/gameserver/network/serverpackets/PrivateStoreListBuy.java (working copy)@@ -33,7 +33,7 @@ public PrivateStoreListBuy(L2PcInstance player, L2PcInstance storePlayer) { _objId = storePlayer.getObjectId();- _playerAdena = player.getAdena();+ _playerAdena = player.getBuyStoreCurrency(); storePlayer.getSellList().updateItems(); // Update SellList for case inventory content has changed _items = storePlayer.getBuyList().getAvailableItems(player.getInventory()); }Index: java/com/l2jserver/gameserver/network/serverpackets/PrivateStoreListSell.java===================================================================--- java/com/l2jserver/gameserver/network/serverpackets/PrivateStoreListSell.java (revision 4410)+++ java/com/l2jserver/gameserver/network/serverpackets/PrivateStoreListSell.java (working copy)@@ -34,7 +34,7 @@ public PrivateStoreListSell(L2PcInstance player, L2PcInstance storePlayer) { _objId = storePlayer.getObjectId();- _playerAdena = player.getAdena();+ _playerAdena = player.getSellStoreCurrency(); _items = storePlayer.getSellList().getItems(); _packageSale = storePlayer.getSellList().isPackaged(); }Index: java/com/l2jserver/gameserver/network/serverpackets/PrivateStoreManageListBuy.java===================================================================--- java/com/l2jserver/gameserver/network/serverpackets/PrivateStoreManageListBuy.java (revision 4410)+++ java/com/l2jserver/gameserver/network/serverpackets/PrivateStoreManageListBuy.java (working copy)@@ -34,7 +34,7 @@ public PrivateStoreManageListBuy(L2PcInstance player) { _objId = player.getObjectId();- _playerAdena = player.getAdena();+ _playerAdena = player.getBuyStoreCurrency(); _itemList = player.getInventory().getUniqueItems(false, true); _buyList = player.getBuyList().getItems(); }Index: java/com/l2jserver/gameserver/network/serverpackets/PrivateStoreManageListSell.java===================================================================--- java/com/l2jserver/gameserver/network/serverpackets/PrivateStoreManageListSell.java (revision 4410)+++ java/com/l2jserver/gameserver/network/serverpackets/PrivateStoreManageListSell.java (working copy)@@ -42,7 +42,7 @@ public PrivateStoreManageListSell(L2PcInstance player, boolean isPackageSale) { _objId = player.getObjectId();- _playerAdena = player.getAdena();+ _playerAdena = player.getSellStoreCurrency(); player.getSellList().updateItems(); _packageSale = isPackageSale; _itemList = player.getInventory().getAvailableItems(player.getSellList());Index: java/config/l2jmods.properties===================================================================--- java/config/l2jmods.properties (revision 4410)+++ java/config/l2jmods.properties (working copy)@@ -379,3 +379,14 @@ # Basic protection against L2Walker. # Default: False L2WalkerProtection = False++# ---------------------------------------------------------------------------+# Private Store Buy/Sell - Moneda de cambio+# ---------------------------------------------------------------------------+# Elige que moneda quieres que se use como pago en los Private Store Buy (amarillos)+# Retail: 57, Por Defecto: 57+PrivateStoreBuyMoneda = 57++# Elige que moneda quieres que se use como pago en los Private Store Sell (morados)+# Retail: 57, Por Defecto: 57