1) InventoryListOffset and sortedInventoryListOffset are offsets in a chain ... maybe the code below helps you to understand their meaning. So there is no long version of it.
A chain to the "InventoryBase", that is used to read IDs for example, would be:
[[[[[realBaseAddress] + baseOffset] + playerOffset] + InventoryListOffset] + sortedInventoryListOffset] + i*0x4
or
[[[[[realBaseAddress] + 0x1C] + 0x34] + 0x10EC] + 0xC] + i*0x4
Code:
GetInventoryList(GetInventoryBase=0)
{
BaseAddress := ReadMemoryUint(realBaseAddress, processID)
structurePointer := ReadMemoryUint(BaseAddress + baseOffset, processID)
PlayerPointer := ReadMemoryUint(structurePointer + playerOffSet, processID)
InventoryBase_Pointer := ReadMemoryUint(PlayerPointer + InventoryListOffset, processID)
InventoryList_Pointer := ReadMemoryUint(InventoryBase_Pointer + sortedInventoryListOffset, processID)
InventorySize := ReadMemoryUint(InventoryBase_Pointer + InventorySizeOffset, processID)
InventoryTable := Object()
Loop, %InventorySize%
{
InventoryBase := ReadMemoryUint(InventoryList_Pointer + (A_Index-1)*0x4, processID)
InventoryTable[A_Index,2] := ReadMemoryUint(InventoryBase + InvID_Offset, processID)
InventoryTable[A_Index,3] := ReadMemoryUint(InventoryBase + InvStackAmount_Offset, processID)
InventoryTable[A_Index,4] := ReadMemoryUint(InventoryBase + InvMAXStackAmount_Offset, processID)
InventoryTable[A_Index,5] := Round(ReadMemoryUint(InventoryBase + InvDurability_Offset, processID)/100, 2)
InventoryTable[A_Index,6] := Round(ReadMemoryUint(InventoryBase + InvMaxDurability_Offset, processID)/100, 2)
InventoryTable[A_Index,7] := ReadMemoryUint(InventoryBase + InvSellPrice_Offset, processID)
}
return InventoryTable
}
----------------
2) to read the refine level you can use:
Code:
refineValue := ReadMemoryUint(InventoryBase + refineLevelOffset, processID)
So again refineLevelOffset is part of this chain. How to get to the InventoryBase i wrote in (1)
---------------
3) Packet for refine:
SendPacket("2500230000000C000000" . revItemPosition . revItemID . revRefineAidPosition)