Jump to content
  • 0

Custom Currency Private Store


TEOGR_hItMaKeR

Question

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!
Link to comment
Share on other sites

Recommended Posts

  • 0

 

You could try it and if its not working, remove it.

I would but it's different structure player is owner and owner is player...  

Its not that hard to adapt it its 5 lines

so can you do this for me :p
Link to comment
Share on other sites

  • 0

How can we do this for you? Do you ask us if we have aCis pack or even if we want to download it? Come on people, one day you should start working by yourselves and stop asking everything ready...It's not that hard to do this. It might take you 5 minutes, it might take you 2 hours. Who cares? If you never try it you wont be able to do it without any help in the future....

Link to comment
Share on other sites

  • 0

How can we do this for you? Do you ask us if we have aCis pack or even if we want to download it? Come on people, one day you should start working by yourselves and stop asking everything ready...It's not that hard to do this. It might take you 5 minutes, it might take you 2 hours. Who cares? If you never try it you wont be able to do it without any help in the future....

you have a point on this but I don't have experience to know if something I am going to do will be right... and maybe for you 5 minutes or 2 hours meaning nothing for me it matters I don't want to spend my time for a final wrong code... Also in this section there is a Request prefix for a reason right?

Link to comment
Share on other sites

  • 0

you have a point on this but I don't have experience to know if something I am going to do will be right... and maybe for you 5 minutes or 2 hours meaning nothing for me it matters I don't want to spend my time for a final wrong code... Also in this section there is a Request prefix for a reason right?

 

You already have the code you want m8 ;) you just need adapt...

Start solo to do this and if you stuck somewhere then for sure some members will give u a hand to finish it.. but dont cover urself when you saying you dont want to spend your time...

Link to comment
Share on other sites

  • 0

you have a point on this but I don't have experience to know if something I am going to do will be right... and maybe for you 5 minutes or 2 hours meaning nothing for me it matters I don't want to spend my time for a final wrong code... Also in this section there is a Request prefix for a reason right?

Spending time without finishing the code correctly is one of the principles of programming. Get use to it if you are going to choose this path ;)

Link to comment
Share on other sites

  • 0

This code is from l2jbrasil if you try add it to acis you will face problems like every single line where player is written at l2jbrasil code meaning owner at acis and owner meaning player or at least what I have understood ...

I already tried but I couldn't do it so why I have create this topic... If you say that is so easy for you you could do it for the time you 've spend here to write...

Link to comment
Share on other sites

  • 0

This code is from l2jbrasil if you try add it to acis you will face problems like every single line where player is written at l2jbrasil code meaning owner at acis and owner meaning player or at least what I have understood ...

I already tried but I couldn't do it so why I have create this topic... If you say that is so easy for you you could do it for the time you 've spend here to write...

can u tell us which line caused you problems?

Link to comment
Share on other sites

  • 0

can u tell us which line caused you problems?

every single line at tradelist java where owner is written at acis it's player or at least I think that and because I am not sure I didn't apply it you will understand me only if you try to apply it

Link to comment
Share on other sites

  • 0

every single line at tradelist java where owner is written at acis it's player or at least I think that and because I am not sure I didn't apply it you will understand me only if you try to apply it

I will never ever try to apply it since i am not gonna download and install aCis on my PC. Neither any other guy will do it. I already mentioned that.

 

Can you post a screenshot with the errors? Also upload your tradelist.java in pastebin and let us see it...

Link to comment
Share on other sites

  • 0

I will never ever try to apply it since i am not gonna download and install aCis on my PC. Neither any other guy will do it. I already mentioned that.

 

Can you post a screenshot with the errors? Also upload your tradelist.java in pastebin and let us see it...

There isn't any errors i adapt it but i didn't save it...

Link to comment
Share on other sites

  • 0

I didn't a

I will never ever try to apply it since i am not gonna download and install aCis on my PC. Neither any other guy will do it. I already mentioned that.

 

Can you post a screenshot with the errors? Also upload your tradelist.java in pastebin and let us see it...

I didn't apply it via patch cause if I did this way nothing will be applied because the code doesn't match acis... I tried manually... And said you
Link to comment
Share on other sites

  • 0

I didn't a I didn't apply it via patch cause if I did this way nothing will be applied because the code doesn't match acis... I tried manually... And said you

So try  it again and post the error that eclipse says. And a screen if possible...

Link to comment
Share on other sites

  • 0

I didn't a

I will never ever try to apply it since i am not gonna download and install aCis on my PC. Neither any other guy will do it. I already mentioned that.

 

Can you post a screenshot with the errors? Also upload your tradelist.java in pastebin and let us see it...

I didn't apply it via patch cause if I did this way nothing will be applied because the code doesn't match acis... I tried manually... And said you
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.


×
×
  • Create New...