I've seen the sticky post 3.0.2 and I didn't undertsand how I should get the offset for each descriptor...
If someone can help it will be great
I've seen the sticky post 3.0.2 and I didn't undertsand how I should get the offset for each descriptor...
If someone can help it will be great
Ya its ez. All you have to do is.
That will return that objects health.Code:DWORD holder = ReadMem(objBase+0x08); u_int HP = ReadMem(holder+(UNIT_FIELD_HEALTH*4));
Code:[07:14:50]: UNIT_FIELD_HEALTH = 0x17
Yeah i've seen that the unit descriptor is 0x08.
But I want the others too...
My understanding was that objBase + 0x8 pointed to the beginning of the object fields. The fields here are determined by what type the object is. If the object is of type OBJECT and UNIT then the fields start at [objBase + 0x8]. The object fields are immediately followed by the unit fields. If the object is of type OBJECT, UNIT and PLAYER then the object fields are followed by the unit fields which are followed by the player fields.
For example if you want the max level of yourself then:
That is using the enums in the sticky 3.0.2 post by Cypher.Code:DWORD holder = ReadMem(objBase+0x08); u_int MAXLEVEL = ReadMem(holder+(PLAYER_FIELD_MAX_LEVEL*4));
A PLAYER object is always going to have the type UNIT and OBJECT as well.
If you notice, the first value in the eObjectFields enum is 0x0 and the last is 0x5. The first value in the eUnitFields enum is 0x6 and the last is 0x93. The first value in the ePlayerFields is 0x94.
If you were reading an ITEM object then [objBase + 0x8] points to the object fields. The item fields are located immediately after the object fields. (The eObjectFields enum's last value is 0x5 and the first value of the eItemFields enum is 0x6).
I hope my explanation is of some use to you...
Thank you!