Page 1 of 1

Private Stores Currency

Posted: Sun Jun 17, 2012 9:28 am
by Vexen
Hello, can anyone tell me how do i change private stores buy and sell currency?

If you want to receive support we need this info to help you properly.
» Find Revision
L2J Revision Number:
L2JDP Revision Number:

Re: Private Stores Currency

Posted: Sun Jun 17, 2012 9:33 am
by jurchiks
it's client-side.

Re: Private Stores Currency

Posted: Sun Jun 17, 2012 9:59 am
by Vexen
oh ;/ ok thanks for reply

Re: Private Stores Currency

Posted: Tue Oct 16, 2012 2:40 am
by alexiszero

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

Re: Private Stores Currency

Posted: Tue Oct 16, 2012 10:22 am
by tukune
plz use code tag.
[code=diff]
:twisted: Your patch here
[/code]

Re: Private Stores Currency

Posted: Tue Oct 16, 2012 1:02 pm
by UnAfraid
Why do you think those methods should be synchronized?