Private Stores Currency

Support for the latest build of L2J Server, get help here with installations, upgrades, problems.
Do not post bugs reports here, use viewforum.php?f=77 instead.
There is no support for other server builds than the official provided by l2jserver.com
Forum rules
READ NOW: L2j Forums Rules of Conduct
Post Reply
Vexen
Posts: 16
Joined: Sat Mar 31, 2012 1:37 pm

Private Stores Currency

Post 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:
User avatar
jurchiks
Posts: 6769
Joined: Sat Sep 19, 2009 4:16 pm
Location: Eastern Europe

Re: Private Stores Currency

Post by jurchiks »

it's client-side.
If you have problems, FIRST TRY SOLVING THEM YOURSELF, and if you get errors, TRY TO ANALYZE THEM, and ONLY if you can't help it, THEN ask here.
Otherwise you will never learn anything if all you do is copy-paste!
Discussion breeds innovation.
Vexen
Posts: 16
Joined: Sat Mar 31, 2012 1:37 pm

Re: Private Stores Currency

Post by Vexen »

oh ;/ ok thanks for reply
alexiszero
Posts: 2
Joined: Tue Oct 16, 2012 1:51 am

Re: Private Stores Currency

Post 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
User avatar
tukune
Posts: 533
Joined: Sun Mar 29, 2009 2:35 pm
Location: Japan

Re: Private Stores Currency

Post by tukune »

plz use code tag.
[code=diff]
:twisted: Your patch here
[/code]
User avatar
UnAfraid
L2j Veteran
L2j Veteran
Posts: 4199
Joined: Mon Jul 23, 2007 4:25 pm
Location: Bulgaria
Contact:

Re: Private Stores Currency

Post by UnAfraid »

Why do you think those methods should be synchronized?
Image
Post Reply