Page 1 of 1

Applying cheat engine to Pokemon Uranium

Posted: Fri Sep 14, 2018 9:24 am
by amendi
Hey guys, i stumbled upon something werid in Pokemon Uranium and i wonder if you could explain what's going on and why?

Basicly i have been trying to find base adress of certain pokemon's amount of experience i managed to do so.
It's worth mentioning that this game sort of "encrypts" every value in memory in a way: y = 2x + 1, so amount
of experienced in game would be X and in memory it would be written as Y, Aveden has 10235 exp, in memory it is 20471 (1st screen).

1st screen - > (i dont know of another way of adding pictures to posts, sorry)

i found the amount of EXP - 20471 and then i found a pointer to this adress.
i win another fight to change the value of exp but when i scan further to find the base adress nothing shows up
Do i miss something? Why does this work in a way it works?

Re: Applying cheat engine to Pokemon Uranium

Posted: Sat Sep 15, 2018 7:48 pm
by Aranaktu
"Pokémon Uranium is a free fangame made in RPG Maker XP and Pokémon Essentials."
RPG Maker XP is using RGSS (Ruby Game Scripting System).
Husky2490 wrote:
Sat Mar 10, 2018 9:06 am
Ruby stores Ruby integers as either a FixedNum or BigNum depending on its size.
More info here:

Re: Applying cheat engine to Pokemon Uranium

Posted: Thu Nov 22, 2018 7:51 am
by kemenner
In the first post here: viewtopic.php?t=467, there is a handy script for adding an RPG Maker VX custom type scan. This way you can input the real value without having to do the math for every value you want to find. For example, instead of searching type: 4 bytes value: 5 (2*2+1), you can search for type: RPG Maker VX value: 2. The script works kind of like a converter. This will make your life a lot easier when scanning.

Also, that topic is old, very old. I used to update a very old table there, which I didn't knew who the author was, or at least don't remember. You can use the table as guidance, see the script and try to figure out what's going on. I usually try to leave comments inside the scripts to help figure out what's happening.