hello guys I want to have more options for private store currency except adena I want my coin also... I found this code
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
+PrivateStoreSellMoneda = 57
but its structure it's a little bit different for acis and i don't know if it's going to work! Can someone adapt it for acis or give me another? Thanks!
⏳ L2Elixir Open Beta goes live in less than 4 hours!
This Saturday, November 15th at 21:00 (UTC +2), the gates open for our biggest testing phase!
🔥 Don’t miss the first 30 minutes — exclusive rewards await!
A special NPC, “The Judge”, will appear in Giran, offering unique bonuses to early participants:
🏅 Open Beta Rewards:
- The first 2 players who talk to The Judge → Premium Account for Launch
- Another 2 random players who interact → Premium Account
- Everyone who speaks to the NPC within the first 30 minutes → Legendary Starter Pack for all characters on launch day (Nov 28th, 2025)
📌 The NPC will spawn exactly at 21:00 (UTC+2).
⏱️ Follow the countdown on our website — the hype is real!
Create your account & download the Updater to be ready!
🔗 https://l2elixir.org/connect/
💬 Discord: https://discord.gg/5ydPHvhbxs
Question
TEOGR_hItMaKeR
hello guys I want to have more options for private store currency except adena I want my coin also... I found this code
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 +PrivateStoreSellMoneda = 57but its structure it's a little bit different for acis and i don't know if it's going to work! Can someone adapt it for acis or give me another? Thanks!24 answers to this question
Recommended Posts