Index javacoml2jserverConfig.java
===================================================================
--- javacoml2jserverConfig.java (revision 4410)
+++ javacoml2jserverConfig.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 javacoml2jservergameservermodelTradeList.java
===================================================================
--- javacoml2jservergameservermodelTradeList.java (revision 4410)
+++ javacoml2jservergameservermodelTradeList.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 javacoml2jservergameservermodelactorinstanceL2PcInstance.java
===================================================================
--- javacoml2jservergameservermodelactorinstanceL2PcInstance.java (revision 4410)
+++ javacoml2jservergameservermodelactorinstanceL2PcInstance.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 javacoml2jservergameservermodelitemcontainerPcInventory.java
===================================================================
--- javacoml2jservergameservermodelitemcontainerPcInventory.java (revision 4410)
+++ javacoml2jservergameservermodelitemcontainerPcInventory.java (working copy)
@@ -85,11 +85,14 @@
FastListL2ItemInstance 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 javacoml2jservergameservernetworkclientpacketsSetPrivateStoreListBuy.java
===================================================================
--- javacoml2jservergameservernetworkclientpacketsSetPrivateStoreListBuy.java (revision 4410)
+++ javacoml2jservergameservernetworkclientpacketsSetPrivateStoreListBuy.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 javacoml2jservergameservernetworkserverpacketsPrivateStoreListBuy.java
===================================================================
--- javacoml2jservergameservernetworkserverpacketsPrivateStoreListBuy.java (revision 4410)
+++ javacoml2jservergameservernetworkserverpacketsPrivateStoreListBuy.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 javacoml2jservergameservernetworkserverpacketsPrivateStoreListSell.java
===================================================================
--- javacoml2jservergameservernetworkserverpacketsPrivateStoreListSell.java (revision 4410)
+++ javacoml2jservergameservernetworkserverpacketsPrivateStoreListSell.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 javacoml2jservergameservernetworkserverpacketsPrivateStoreManageListBuy.java
===================================================================
--- javacoml2jservergameservernetworkserverpacketsPrivateStoreManageListBuy.java (revision 4410)
+++ javacoml2jservergameservernetworkserverpacketsPrivateStoreManageListBuy.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 javacoml2jservergameservernetworkserverpacketsPrivateStoreManageListSell.java
===================================================================
--- javacoml2jservergameservernetworkserverpacketsPrivateStoreManageListSell.java (revision 4410)
+++ javacoml2jservergameservernetworkserverpacketsPrivateStoreManageListSell.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 javaconfigl2jmods.properties
===================================================================
--- javaconfigl2jmods.properties (revision 4410)
+++ javaconfigl2jmods.properties (working copy)
@@ -379,3 +379,14 @@
# Basic protection against L2Walker.
# Default False
L2WalkerProtection = False
+
+# ---------------------------------------------------------------------------
+# Private Store BuySell - 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
were i hawe to add this? into general.properties? and i hawe to add all tihis code o just this
+# ---------------------------------------------------------------------------
+# Private Store BuySell - 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
I'm looking to edit existing character animations for the L2 Interlude client.
What I did successfully so far:
Exported the files files from animations/Fighter.ukx (to get the .psk and .psa files)
Imported a couple .psk + one .psa file to Blender and made my changes to the animations.
Exported the resulting .psa file (which ended up being the same size as the original file, so everything should be fine).
I downloaded multiple different UnrealED editors - the one from UT2004, L2Editor posted by lordofdes here, L2Editor posted by 911reg.
From there on I had trouble with converting back to .ukx.
Below are different methods I've tried and failed.
Method 1:
Made a new .ukx file inside UT2004's UnrealED, containing only my edited .psa file and 1 .psk file
Converted my .ukx file with Gildor's tool
Placed the resulting file in the animations folder
Used L2FileEdit to change the LineageWarrior.int file in the systems folder in order to reroute to the animations I edited
Started up the game, but the changed animations were replaced instead with a simple walking animation for some reason
Method 2:
Tried the following workflow with both L2Editors (911reg's version and lordofdes's version) (using and not using Gildor's UnrealED patches)
Trying to open the original Fighter.ukx file resulted in some of the L2Editor variants crashing.
With the ones that didn't crash, I saved the .ukx file with another name (even tried adding my custom .psa file but the result was the same as below).
There was file size difference between the .ukx I made and the original .ukx.
I tried both substituting the .ukx file as is in the animations folder and after I encrypted it using 911reg's version's encdec.exe
In both cases the game crashed when I was about to go to the character screen (made sense since the file size should have been the same).
What am I missing here?
Is it at all possible to edit the original character animations?
Question
Tadas
were i hawe to add this? into general.properties? and i hawe to add all tihis code o just this
Link to comment
Share on other sites
8 answers to this question
Recommended Posts