Problem accessing game process memory consistently...
Ok, long story short - I'm just trying to write a small C# program that accesses my Neverwinter MMORPG game memory to display detailed statistics of what's happening in the world around me. It's a just-for-fun type project.
1. I ran Neverwinter.
2. Loaded up CheatEngine and attached to the process.
3. Looked at my XP bar, search for that number in CE. Came up with a bunch of different results.
4. I gained some XP, re-searched and narrowed it down to 2 addresses.
a. 0x0237D808 (a green number, static according to CE).
b. 0x241A41A4 (possibly a pointer)
5. I did the same scan for character name and came up with the two following addresses:
a. 0x023773C4
b. 0x0245D408
neither of which showed green (static).
So I quickly threw together some code to display my character name and current XP in a small window.
Worked GREAT! Until I reloaded the game. I double checked with CE just by re-attaching to the process
and the *values* it was displaying were still correct, but the address had changed slightly.
Now the XP was at 0x02B6D808 and the name was at 0x02B673C4. Note, only the first 4 of the address
changed, the last 4 are still the same. CheatEngine was able to track this change somehow, and for
some reason my software didn't.
What am I missing here? I do I figure out a way to consistently access the same memory area?