So I've just figured out how to get the player base and read values from it. However, whenever I enter a battleground my program cannot read the Player Base and returns 0's for everything . Is there a better way of re-scanning for playerbase? What changes when I enter a battleground? Is it still at the same memory location?
here's the code I've been using for getting my player base
Code:
DWORD lvl1Pointer=0x010B65F4;
DWORD lvl2PointerOffset = 0x34;
DWORD playerBaseOffset = 0x24;
//get player base
DWORD getPlayerBase(HANDLE hProcess){
DWORD playerBase;
DWORD buffer = 0;
if(ReadProcessMemory(hProcess, (LPCVOID)lvl1Pointer, &buffer, sizeof(buffer), NULL)==0)
return 0;
if(ReadProcessMemory(hProcess, (LPCVOID)(buffer+lvl2PointerOffset), &buffer, sizeof(buffer), NULL)==0)
return 0;
if(ReadProcessMemory(hProcess, (LPCVOID)(buffer+playerBaseOffset), &playerBase, sizeof(playerBase), NULL)==0)
return 0;
return playerBase;
}