lol, I kinda cheat on your tutorial... well, didnt work.. I will explain with details when I get home. Well, I have a little time now:
Basically I used CheatEngine 5.2. Found the msg, trace what access it, (well, i needed to change code finder of CE for the non default method, cause I get ??? EAX, [EBX] thing), traced the function stored at EAX, and found the beginning of the msg function - Very similar code. Now come the problem: I traced that function and did a jump ingame.. it was triggered, just fine. And the value at ESP was very similar, 0012F6C8 instead of 0012F6D0 of your old one. But when i checked the hex chain of this ESP address, it was very strange one.. something like 0012F???... and i think that something goes wrong....
well, after a few unsuccessfull attempts, i decided to look for directly for the jump function.. So i could at least know where I was supposed to get at the end... And just looked for the hex chain of the jump function... I found two adress (Statics ones). Check their code and both are very similar (in fact they just differ in the address of the call and of the jump). I traced both and both were triggered when jumping and when walking. So I choose the first one. Maybe it was the second... :) Anyway, I will try again but with Olldbg. That's it.