• 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