To oversimplify, a target, or entitie's data is never in a static place thus you have to search using pointers.
If I simplified the addresses down it would look like this
Read Target Pointer
Target Pointer points to Mob ID
Read Mob ID and add on mob ID pointer
Read Mob ID and add on mob HP pointer
Now you have the mobs HP
Every single time you change targets you have to find the targets ID and then its' HP
So I was able to find the entity map using your method, It was very easy thank you for that.
However I suppose pointers have changed since the time the walkthroughs I had been using.
game.dll + 10ACF48
and then a pointer of +48
and the entity array count as
game.dll + 10ACF48
and a pointer of +58
the array count doesn't seem to be working properly or I have a bad pointer. The counter appears to be a reasonable number but never changes properly. If I go into my studio apartment one would expect the array count to be well under 10 since their are hardly any entities in that zone, but it is around 600.
May I ask what pointers you add to the entitymap in order to get the array & array count? From that snipit of code it appears that you use the entity array itself as the first node. Is that correct? At that point would i use +254 and +3a to get the target name from that node?
This is what I am trying in my CE. I am trying to return the name of the first entity node.
Text unicode 32
game.dll + 10ACF48
pointer 48
pointer 254
pointer 3a
This isn't returning a name
Thank you in advance
If I simplified the addresses down it would look like this
Read Target Pointer
Target Pointer points to Mob ID
Read Mob ID and add on mob ID pointer
Read Mob ID and add on mob HP pointer
Now you have the mobs HP
Every single time you change targets you have to find the targets ID and then its' HP
Quote:
I find it with cheat engine easy with the blueprint I've saved.
Just search for this array of bytes.
For 32-bit Process:
"4E 6F 6E 65 00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 0F 00 00 00 01 00 00 00 00 00 00 00 50 6C 61 79 65 72 00 00 00 00 00 00 00 00 00 00 06 00 00 00 0F 00 00 00 02 00 00 00 00 00 00 00 55 73 65 72 00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 0F 00 00 00 03 00 00 00 00 00 00 00 4E 50 43 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 0F 00 00 00 04 00 00 00 00 00 00 00 47 61 6D 65 4F 62 6A 65 63 74"
(Note: In scan settings "MEM_IMAGE" must be checked)
The result is almost the right offset.
To get the right offset you must do:
"The found offset" - "constant 0x38"
Currently 32-bit NA: 0x10ACF80 - 0x38 = 0x10ACF48
So I was able to find the entity map using your method, It was very easy thank you for that.
However I suppose pointers have changed since the time the walkthroughs I had been using.
I have the entity array asQuote:
int basePtr = Process.Modules.Game;
int entityMap = Memory.ReadInt(Process.handle, basePtr + 0x8ef138);
int entityArray = Memory.ReadInt(Process.handle, entityMap + 0x48);
int entityArrayCount = Memory.ReadInt(Process.handle, entityMap + 0x58);
for (int i = 0; i < entityArrayCount; i++)
{
int struct1Node = Memory.ReadInt(Process.handle, entityArray + (i * 4));
TraverseNode(struct1Node);
}
game.dll + 10ACF48
and then a pointer of +48
and the entity array count as
game.dll + 10ACF48
and a pointer of +58
the array count doesn't seem to be working properly or I have a bad pointer. The counter appears to be a reasonable number but never changes properly. If I go into my studio apartment one would expect the array count to be well under 10 since their are hardly any entities in that zone, but it is around 600.
May I ask what pointers you add to the entitymap in order to get the array & array count? From that snipit of code it appears that you use the entity array itself as the first node. Is that correct? At that point would i use +254 and +3a to get the target name from that node?
This is what I am trying in my CE. I am trying to return the name of the first entity node.
Text unicode 32
game.dll + 10ACF48
pointer 48
pointer 254
pointer 3a
This isn't returning a name
Thank you in advance