I am working on making an app to watch health and then auto-pot in the online game Sword of the new world. I am mostly using MHS to find addressed and then will use readprocessmemory in delphi 2009 to access and compute offsets to get at the memory values.
I have found a good deal of the addresses there, and can seem to find "total health" but "current health" I am having an issue with.
Here is the problem, please let me know if I am doing something boneheaded..
I find the address pretty easy for the current health (DMA address)
it is: 1F1E8F8C
Now, I have gone through this quite a few times and hit the debugger to see what writes/accesses 1F1E8F8C
I always find the following two static addresses:
accesses and writes to char1 current hp (1F1E8F8C), these are static pointers
- Code: Select all
0041D1F1 89BE D4010000 MOV DWORD PTR [ESI+1D4], EDI 2
0041BDB2 8986 D4010000 MOV DWORD PTR [ESI+1D4], EAX 3
In this example (1F1E8F8C) they hold the following:
- Code: Select all
current val of 0041D1F1 is 01D4BE89
current val of 0041BDB2 is 01D48689
seems easy.. but 01D4BE89 and 01D48689 are both unobtainable addresses. A pointer search for 1F1E8F8C returns nothing and I have searched the entire space.
Now, I have gone through a ton of variations of taking the values of those two points and trying to determine how they are mapped to 1F1E8F8C (the temp address in this example). I read through the pointer stuff in the help file, and based on that tried to add 1D4, tried subtracting 1D4, tried with an offset of 00400000, I tried all kinds of ways to go from 1F1E8F8C to one of those pointer addresses.
I have a feeling I am just missing something simple here, or perhaps there is some flag or checkbox I am missing?
Thanks ahead of time for anyone who has ideas or has experience with this game.
edit: just realized this should be in the 'help' section the MHS help and not the script help.. probably move it