• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

[RUBY] Activating the National Dex

Renegade

Time for real life...
995
Posts
12
Years
Hello people. I see questions about how to activate the National Dex in POKéMON Ruby every once in a while, so I decided to post a tutorial here on how to do it.

HD VIDEO FORMAT
Here's a (somewhat crappy) video I made on the topic a few months ago:

http://www.youtube.com/watch?v=PlOWM_2fb7Y

TEXT DEMONSTRATION
In case you don't like video demonstrations, here's a written tutorial about it...

There is some assumed knowledge here, like how to write a script in XSE and how to insert it into a ROM.

Step 1:
You should start with a script that gives the player the regional POKé DEX, like this one:
Code:
#dynamic 0x800000

#org @start
lock
faceplayer
message @t1 6
[I]setflag 0x801[/I]     <--------- POKé DEX menu appears on the menu screen...
fanfare 0x372
message @t2 4
waitfanfare
closeonkeypress
release
end

#org @t2
= \v\h01 received the POKé DEX!

#org @t1
= NPC: Looking for this? It's a\nPOKé DEX I got from Professor\lBirch!
Step 2:
After you give the player the regional POKé DEX, you will have to write another script with these commands in it:
Code:
writebytetooffset 0x2 0x2026B00
writebytetooffset 0x3 0x2026B01
writebytetooffset 0xDA 0x2024EBE
writebytetooffset 0x67 0x2026A5A
NOTE: This has to be done AFTER you give the regional POKé DEX to the player, or it will not work.

These commands will advance the regional POKé DEX into the National Dex. So, here's an example of a script that upgrades the regional POKé DEX into the National Dex:
Code:
#dynamic 0x800000

#org @start
lock
faceplayer
message @t1 6
[I]writebytetooffset 0x2 0x2026B00
writebytetooffset 0x3 0x2026B01
writebytetooffset 0xDA 0x2024EBE
writebytetooffset 0x67 0x2026A5A[/I]
fanfare 0x372
message @t2 4
waitfanfare
closeonkeypress
release
end

#org @t2
= \v\h01 received the National Dex!

#org @t1
= Here's an upgrade for your\nregional POKé DEX!
...And that's about it! You don't have to make a whole new script to upgrade the POKé DEX, you can just add the upgrade commands after you give the player the regional POKé DEX.

Side Note:
You will not be able to access the POKé DEX menu unless you have at least one POKéMON in your possession. Make sure to give the player a POKéMON before you give him/her the POKé DEX.

Thanks for reading!
 
Last edited:

Trev

[span="font-size: 8px; color: white;"][font="Monts
1,505
Posts
11
Years
  • Age 27
  • Seen Nov 15, 2023
Wow, that's cool! One thing though:

Code:
[B][COLOR="Red"]checkflag 0x8000[/COLOR][/B]
writebytetooffset 0x2 0x2026B00
writebytetooffset 0x3 0x2026B01
writebytetooffset 0xDA 0x2024EBE
writebytetooffset 0x67 0x2026A5A
clearflag 0x8000

Why do you check flag 0x8000 when there's no if or compare command following it? It's probably my own stupidity making me question this, but it seems useless to use checkflag without any followup commands. Otherwise, good job.
 

Renegade

Time for real life...
995
Posts
12
Years
Wow, that's cool! One thing though:

Code:
[B][COLOR="Red"]checkflag 0x8000[/COLOR][/B]
writebytetooffset 0x2 0x2026B00
writebytetooffset 0x3 0x2026B01
writebytetooffset 0xDA 0x2024EBE
writebytetooffset 0x67 0x2026A5A
clearflag 0x8000

Why do you check flag 0x8000 when there's no if or compare command following it? It's probably my own stupidity making me question this, but it seems useless to use checkflag without any followup commands. Otherwise, good job.

Oops. Yeah, that was a mistake on my part. You do not need the check/clear flag commands at all. I edited the tutorial with the proper commands.
 
Back
Top