Trainer editing in G/S/C
View Single Post
September 8th, 2010 (10:57 PM).
A GB/C Rom Hacker since 2010
Join Date: Oct 2008
Location: A small country in the North
Hex editing is rather easy, and I helped one of my friends in Youtube for learning it, and wrote this tutorial for him so I don't see a point why not to post it here too.
This applies somewhat for R/B/Y too although the hex codes for pokemon in R/B/Y don't really make any sense as they do in G/S/C (trainer data in R/B/Y doesn't begin after the name though - you've to search straight for the pokemon the trainer has).
Anyway, what you need to edit the pokemon trainers have are:
1) A hex editor (Translhextion, GoldFinger...)
2) A ROM of either Gold, Silver or Crystal
3) A table file of Pokemon Gold which is made for Crystal as well (Giegue's Hacking Guide has some strange table file for Crystal which probably works with the Japanese version but not USA)
Table file isn't really needed to do this but can help you out a lot in the beginning so that you won't get confused
1. Search in Google for Giegue's Master Hacking Guide.
2. Open the ROM in a hex editor.
The bytes for big letters are here:
D, 83 etc.
Here is a simple example of editing pokemon that KENJI uses.
Now that you've the ROM opened, open the "Pokemon Gold" table file, and search for the name, KENJI (so basicly search for bytes 8A 84 8D 89 88).
You should see this:
8A 84 8D 89 88 50...
Byte 50 starts the pokemon data of the trainer.
It's usually like 00 [xx] [yy]...[xx] [yy], and ends with FF. Byte [xx] determines the level of the pokemon, and [yy] the number of the pokemon in pokedex (both written in hexadecimal system).
You can also change the amount of pokemon he uses by adding/taking letters to/off his name.
For example rename KENJI to KEN and make the data like this: 8A 84 8D 50 00... (so practically you replace 89 88 with 50 00, and change the following two bytes (50 00) to something else).
By taking two bytes off his name, you can enlarge his pokemon data by two bytes.
Also, the pokemon data of some trainers is like this:
[Name] 50 01 [6 bytes for each pokemon he has] FF
01 tells the game that the pokemon of that trainer, has special moves. The byte for every move is listed in Giegue's Master Hacking Guide.
Now, let's pretend that we want to create a random trainer that has one pokemon which knows special moves.
80 A1 A2 50 01 90 0E 25 39 7E ED FF
80 A1 A2 - Name (Abc)
50 - Pokemon data starts after this byte
01 - Pokemon of this trainer has/have special moves
90 - Level in hex (level 144 in the game which is 90 in decimal system)
0E - Kakuna
25 39 7E ED - Moves (Thrash, Surf, Fire Blast, Hidden Power)
Now this was one odd example but I hope you get the idea :D
My Rom Hack
Learn how to hack GB/C games:
Check my GameBoy/Color hacking videos in Youtube
-The video set uses Pokemon Silver (U) rom for demonstrations
View Public Profile
Send a private message to miksy91
Find all posts by miksy91
Find threads started by miksy91
Ignore Posts by miksy91