ReadProcessMemory(hProc, (LPVOID*)((DWORD)GetModuleHandle(0) + PlayerPointer + HealthOffset), &f, sizeof(float), NULL);
// N.B. This differs from multi-level points as it requires multiple ReadProcessMemory's. DWORD PlayerPointer = 0xB6F5F0; DWORD HealthOffset = 0x544; DWORD ptrOffs = 0, out = 0; if(ReadProcessMemory(hProc, LPCVOID(PlayerPointer), &ptrOffs, sizeof(DWORD), &out) && ( ptrOffs += HealthOffset, ReadProcessMemory(hProc, LPCVOID(ptrOffs), &f, sizeof(float), &out) ) Alert( "Read memory: [ %f ]", f ); else Alert( "RPM returned false!" );