Add player currency

This commit is contained in:
HungDK
2025-10-25 17:07:54 +07:00
parent 73f187968b
commit bd34b294f9
11 changed files with 2108 additions and 145 deletions
+51 -9
View File
@@ -1,4 +1,4 @@
using BrewMonster;
using BrewMonster;
using BrewMonster.Network;
using CSNetwork;
using CSNetwork.Common;
@@ -608,20 +608,62 @@ public class CECHostPlayer : CECPlayer
break;
}
case CommandID.OWN_IVTR_DETAIL_DATA:
{
PerfectWorld.Scripts.Managers.EC_Inventory.LogInventoryPacket("OWN_IVTR_DETAIL_DATA", data, hostId);
// Parse and store
if (data != null && data.Length >= 6)
{
PerfectWorld.Scripts.Managers.EC_Inventory.LogInventoryPacket("OWN_IVTR_DETAIL_DATA", data, hostId);
// Parse and store
if (data != null && data.Length >= 6)
byte byPackage = data[0];
byte ivtrSize = data[1];
if (PerfectWorld.Scripts.Managers.EC_IvtrItem.TryParseInventoryDetail(data, out var pkg,
out var size, out var items))
{
byte byPackage = data[0];
byte ivtrSize = data[1];
if (PerfectWorld.Scripts.Managers.EC_IvtrItem.TryParseInventoryDetail(data, out var pkg, out var size, out var items))
PerfectWorld.Scripts.Managers.EC_Inventory.UpdatePack(pkg, size, items);
}
}
break;
}
case CommandID.GET_OWN_MONEY:
{
if (data != null)
{
try
{
var money = GPDataTypeHelper.FromBytes<CSNetwork.GPDataType.cmd_get_own_money>(data);
var ui = GameObject.FindFirstObjectByType<PerfectWorld.Scripts.Managers.EC_InventoryUI>();
if (ui != null)
{
PerfectWorld.Scripts.Managers.EC_Inventory.UpdatePack(pkg, size, items);
ui.UpdateMoney(money.amount, money.max_amount);
}
}
break;
catch (Exception ex)
{
Debug.LogWarning($"[Inventory] Failed to parse GET_OWN_MONEY: {ex.Message}");
}
}
break;
}
case CommandID.PLAYER_CASH:
{
if (data != null)
{
try
{
var cash = GPDataTypeHelper.FromBytes<CSNetwork.GPDataType.player_cash>(data);
var ui = GameObject.FindFirstObjectByType<PerfectWorld.Scripts.Managers.EC_InventoryUI>();
if (ui != null)
{
ui.UpdateCash(cash.cash_amount);
}
}
catch (Exception ex)
{
Debug.LogWarning($"[Inventory] Failed to parse PLAYER_CASH: {ex.Message}");
}
}
break;
}
}
}