I've never done external hacks or games without static addresses but my guess would be that you need to add the game's base address. So it becomes :
Code:ReadProcessMemory(hProc, (LPVOID*)((DWORD)GetModuleHandle(0) + PlayerPointer + HealthOffset), &f, sizeof(float), NULL);