Hai man, that's a great topic...
Well, about 2 or 3 years ago I created a small trainer for Mafia II using C# and Cheat Engine.
It worked pretty on first run, but when the user died ,for example, the trainer stopped to work, maybe the addresses changed.
For this I watched some tutorials on Youtube and studied some open source files available on the web. You probably did this, anyway, good luck dude.