Количество ячеек в инвентаре получаю нормально.
При переборе какие-то левые данные.
Для теста вывожу уровень предмета
Код:
int cnt_inv = MemoryManager.ChainReadInt32(PlayerOffsets.GameRun, 0x34, 0xD84, 0x10);
var inv_point = MemoryManager.ChainReadInt32(PlayerOffsets.GameRun, 0x34, 0xD84);
for (int i = 0; i < cnt_inv; i++)
{
var inv_base = MemoryManager.ReadInt32(inv_point + 0xC + i * 0x4);
if (inv_base != 0)
{
int lid = MemoryManager.ReadInt32(inv_base + 0x58);
MessageBox.Show(lid.ToString());
}
}
int cnt_inv = MemoryManager.ChainReadInt32(PlayerOffsets.GameRun, 0x34, 0xD84, 0x10);
var inv_point = MemoryManager.ChainReadInt32(PlayerOffsets.GameRun, 0x34, 0xD84,0xC);
for (int i = 0; i < cnt_inv; i++)
{
var inv_base = MemoryManager.ChainReadInt32(inv_point + i * 0x4);
if (inv_base != 0)
{
int lid = MemoryManager.ReadInt32(inv_base + 0x8); // ID предмета
}
}