WriteProcessMemory with a Base and Offset - C++

Sorry that this is my second post on this topic (It's been a LONG while since that post.)

But I still haven't figured out how to write to memory WITHOUT getting on CE and finding the Addresses EVERY.TIME.I.RESTART the game.

So, I found my base address. This address is the exact same every time I restart my game. and the Offset.

The base address is 0x0008D7BC and the pointer is 0x10.

Doing some research on how to put this into a C++ program with WriteProcessMemory, I came to the conclusion to do:

DWORD dwAddy;
ReadProcessMemory( hProc, (PVOID)0x0008D7BC, &dwAddy, 4, 0 );
WriteProcessMemory( hProc, (PVOID)( dwAddy + 0x10 ), &change_player_y, 4, 0 );

Sadly, this doesn't work.
What must I be doing wrong and how can I fix this?
I'm trying to make it so my current hacks will work every time I log in; This way I don't need to use Cheat Engine every single time I open my application.
What am I doing wrong?
Topic archived. No new replies allowed.