Hello,
This is my first post in WoW Memory Editing. I am very interested in learning how to interact with WoW via code. I have started out by reading some of the posts by others and have learn how to read strings from memory using BlackMagic. Starting out with basics, such as health, mana etc. However, what I have done is basically copy pasting. I've some experience in C# but there are certain terms used here which I do not understand. Calling simple functions like GetMiniZoneText is simple enough. Just getting the offset to it. With regards to retrieve mana/health,
Will anyone be willing to explain why the need to add 0x34/0x24/0x8 or multiply 0x18 by 4?uint playerBase = WoW.ReadUInt(WoW.ReadUInt(WoW.ReadUInt(0x00CF7C00) + 0x34) + 0x24);
uint mana = WoW.ReadUInt(WoW.ReadUInt(playerBase + 0x+ (0x18 * 4));
uint health = WoW.ReadUInt(WoW.ReadUInt(playerBase + 0x+ (0x17 * 4))
What about complex functions that are not as straightforward as
fromstring minimapZoneText = SMemory.ReadASCIIString(WoW.ProcessHandle, SMemory.ReadUInt(WoW.ProcessHandle, 0x00CB9FAC), 30);
Even the code from UnitHealthmov eax, dword_B6854C
seems a little too much for me to understand at this point of time.text:005A4F80 push ebp
.text:005A4F81 mov ebp, esp
.text:005A4F83 sub esp, 14h
.text:005A4F86 push ebx
.text:005A4F87 mov ebx, [ebp+arg_0]
.text:005A4F8A push 1
.text:005A4F8C push ebx
.text:005A4F8D call sub_826A10
.text:005A4F92 add esp, 8
.text:005A4F95 test eax, eax
.text:005A4F97 jnz short loc_5A4FAE
.text:005A4F99 push offset aUsageUnithealt ; "Usage: UnitHealth(\"unit\")"
.text:005A4F9E push ebx
.text:005A4F9F call sub_827D30
.text:005A4FA4 add esp, 8
.text:005A4FA7 xor eax, eax
.text:005A4FA9 pop ebx
.text:005A4FAA mov esp, ebp
.text:005A4FAC pop ebp
.text:005A4FAD retn
Thanks in advance. I accept both constructive comments and criticism as it gives me the motivation to learn.