• 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.

Help Thread: Quick Questions & Answers

Status
Not open for further replies.
  • 325
    Posts
    10
    Years
    Hi everybody, I'm actually working on a Fire red rom based hack, and I expanded the number of pokemon available in the game, but....I want to change the starters, so I wanted to know if there's a possibility to expanded the number of pokemon that A-Starter can see, and if it's possible how ?
    If someone have another idea to edit the starters with the new pokemon, can he explain me how ?

    Thanks in advance!
    Don't use A-Starter, XSE is infinitely better. So anyway, if you're using the Oak's lab scripts, just double click on one of the Pokéballs(or go to the address 0x169BAB) and XSE will show you the script. The guy above got it wrong btw, here's what the actual format looks like.
    Code:
    '---------------
    #org 0x169BAB
    lock
    faceplayer
    setvar 0x4001 0x0
    setvar 0x4002 0x(pokemon id of the pokemon on the left)
    setvar 0x4003 0x(pokemon id of the pokeball in the middle)
    setvar 0x4004 0x(pokemon id of the pokeball all the way on the right)
    The variable that ACTUALLY handles the last person event you interacted with is x800F. You should repoint the text that's below that in the script if you want Oak to say the species name properly.
     

    Ayonn-

    The Unbelivable
  • 209
    Posts
    10
    Years
    Don't use A-Starter, XSE is infinitely better. So anyway, if you're using the Oak's lab scripts, just double click on one of the Pokéballs(or go to the address 0x169BAB) and XSE will show you the script. The guy above got it wrong btw, here's what the actual format looks like.
    Code:
    '---------------
    #org 0x169BAB
    lock
    faceplayer
    setvar 0x4001 0x0
    setvar 0x4002 0x(pokemon id of the pokemon on the left)
    setvar 0x4003 0x(pokemon id of the pokeball in the middle)
    setvar 0x4004 0x(pokemon id of the pokeball all the way on the right)
    The variable that ACTUALLY handles the last person event you interacted with is x800F. You should repoint the text that's below that in the script if you want Oak to say the species name properly.


    Thank you very much! It will help me a lot!
     
  • 1,682
    Posts
    8
    Years
    • Seen today
    Don't use A-Starter, XSE is infinitely better. So anyway, if you're using the Oak's lab scripts, just double click on one of the Pokéballs(or go to the address 0x169BAB) and XSE will show you the script. The guy above got it wrong btw, here's what the actual format looks like.
    Code:
    '---------------
    #org 0x169BAB
    lock
    faceplayer
    setvar 0x4001 0x0
    setvar 0x4002 0x(pokemon id of the pokemon on the left)
    setvar 0x4003 0x(pokemon id of the pokeball in the middle)
    setvar 0x4004 0x(pokemon id of the pokeball all the way on the right)
    The variable that ACTUALLY handles the last person event you interacted with is x800F. You should repoint the text that's below that in the script if you want Oak to say the species name properly.

    Denver, I don't remember the 0x4004 var is for off the top of my head, but I know for a fact that the 0x4002 var is your pokemon index and the 0x4003 is for the index that is strong against it. The three pokeballs share the same script, the only difference being the start, which declares which pokemon shows up in the box and what pokemon the game says you and your rival receive.
    Ayonn, you can try this but it's not going to work, it will show and give the wrong pokemon. But don't take my word for it.
    Thank you,
    Vendily

    EDIT: I remember what 0x4004 is. It's the person event id of the pokeball the rival takes.
     
    Last edited:
  • 417
    Posts
    9
    Years
    • Seen Nov 20, 2016
    Don't use A-Starter, XSE is infinitely better. So anyway, if you're using the Oak's lab scripts, just double click on one of the Pokéballs(or go to the address 0x169BAB) and XSE will show you the script. The guy above got it wrong btw, here's what the actual format looks like.
    Code:
    '---------------
    #org 0x169BAB
    lock
    faceplayer
    setvar 0x4001 0x0
    setvar 0x4002 0x(pokemon id of the pokemon on the left)
    setvar 0x4003 0x(pokemon id of the pokeball in the middle)
    setvar 0x4004 0x(pokemon id of the pokeball all the way on the right)
    The variable that ACTUALLY handles the last person event you interacted with is x800F. You should repoint the text that's below that in the script if you want Oak to say the species name properly.
    Let's see. Pokeball on the left:
    Code:
    #org 0x8169BAB
    '-----------------------------------
    lock
    faceplayer
    setvar 0x4001 0x0
    setvar 0x4002 0x1
    setvar 0x4003 0x4
    setvar 0x4004 0x7
    Bulbasaur, Charmander, Squirtle. Sure.

    Middle:
    Code:
    #org 0x8169D78
    '-----------------------------------
    lock
    faceplayer
    setvar 0x4001 0x1
    setvar 0x4002 0x7
    setvar 0x4003 0x1
    setvar 0x4004 0x5
    Hmm. I guess the starters if you choose the middle ball are Squirtle, Bulbasaur, and Charmeleon?

    Ball on the right:
    Code:
    #org 0x8169DAE
    '-----------------------------------
    lock
    faceplayer
    setvar 0x4001 0x2
    setvar 0x4002 0x4
    setvar 0x4003 0x7
    setvar 0x4004 0x6
    So the starters here are Charmander, Squirtle, and Charizard.

    Please don't click on ONE script, assume you know what it is doing with absolutely no testing or further reading, then use it to "correct" someone.
     
    Last edited:
  • 1,682
    Posts
    8
    Years
    • Seen today
    What value would special 0x9f show if the selected pokemon was an egg?

    According to this thread (https://www.pokecommunity.com/showthread.php?t=184273), Special 0x9F returns the slot of the pokemon or egg. If it's like any of the other commands that return slot numbers, it's a zero indexed byte.
    Code:
    0x00  Slot 1
    0x01  Slot 2
    0x02  Slot 3
    0x03  Slot 4
    0x04  Slot 5
    0x05  Slot 6
    0x06  Player canceled
     
    Last edited:

    Splash

    But nothing happened.
  • 658
    Posts
    14
    Years
    According to this thread (https://www.pokecommunity.com/showthread.php?t=184273), Special 0x9F returns the slot of the pokemon or egg. If it's like any of the other commands that return slot numbers, it's a zero indexed byte.
    Code:
    0x00  Slot 1
    0x01  Slot 2
    0x02  Slot 3
    0x03  Slot 4
    0x04  Slot 5
    0x05  Slot 6
    0x06  Player canceled
    I found out that it's 19C apparently..
    Thanks for the reply though! I was wondering what variable would it return if the player cancelled and you answered it xD
     
  • 5,256
    Posts
    16
    Years
    I found out that it's 19C apparently..
    Thanks for the reply though! I was wondering what variable would it return if the player cancelled and you answered it xD

    I'm actually pretty sure that special will return whatever species of Egg it is. So, a Bulbasaur Egg would just return 1.
     
  • 1,682
    Posts
    8
    Years
    • Seen today
    I'm actually pretty sure that special will return whatever species of Egg it is. So, a Bulbasaur Egg would just return 1.

    Then I wonder what method could be used to distinguish an egg from a Pokémon?

    There is a special, 0x147, that returns the index number of the pokemon in the slot returned in var 0x8004.
    https://bulbapedia.bulbagarden.net/wiki/List_of_Pokémon_by_index_number_(Generation_III)
    That lists 0x19C as pokemon egg.
    So we could use special 0x9f, check that it isn't 0x06, then use special 0x147 to see if it's an egg.

    Fixed messy post.
     
    Last edited:

    BluRose

    blu rass
  • 812
    Posts
    10
    Years
    Hello all,

    I'm trying to expand the amount of moves in Pokémon FireRed v1.0 to above 511 using the tutorial that Jambo51 did in the "R&D" Section a while ago. Just a quick question about the ASM Routines that he posted, however:
    When Jambo says "moveset" table, is he referring to the table used to decide where Pokémon Learnsets are (I believe at 0x25d7b4 in vanilla)? If not, then what is he referring to...?
     
    Last edited:
  • 1,682
    Posts
    8
    Years
    • Seen today
    Hello all,

    I'm trying to expand the amount of moves in Pokémon FireRed v1.0 to above 511 using the tutorial that Jambo51 did in the "R&D" Section a while ago. Just a quick question about the ASM Routines that he posted, however:
    When Jambo says "moveset" table, is he referring to the table used to decide where Pokémon Learnsets are (I believe at 0x25d7b4 in vanilla)? If not, then what is he referring to...?

    Judging from what he says at the end:
    Jambo51 said:
    The new movesets are collections of 3 bytes each which are set up thus:
    [MOVE - Half-Word - Reverse Hex] [Level - Byte]
    So if I wanted my Pokémon's moveset to contain Pound at level 52, it would be:
    01 00 34
    To end the moveset, you put:
    00 00 FF
    It appears he's referring to the level up moves since he mentions both a move and a level for a pokemon.
    And yes, the learned moves table is at 0x25d7b4 in vanilla Firered.
     
  • 7
    Posts
    8
    Years
    • PH
    • Seen Aug 30, 2019
    Is it possible to have more than three regions? (eg. firered has three regions) I want to add more regions if possible, on emerald. Thanks
     

    BluRose

    blu rass
  • 812
    Posts
    10
    Years
    Is it possible to have more than three regions? (eg. firered has three regions) I want to add more regions if possible, on emerald. Thanks

    It is entirely possible to have more than 3 regions. However, the problem then becomes designing a level curve system that fits in with the regions and doesn't require too much grinding, or, rather, if it does, then you would want to have a way that makes grinding "fun."

    EDIT: And that's just one of the problems you'll encounter...
    I believe Pokémon Glazed does the whole "3 regions" thing very well~
     
  • 534
    Posts
    11
    Years
    • Age 26
    • Seen Jul 24, 2023
    Does anyone have a working copy of Fire Red Decap.ips? Can I have one, please? :3
     

    Cataclyptic

    Everything I say is a lie
  • 174
    Posts
    9
    Years
    I'm trying to put new map connections in Emerald. They work, but then I get this weird thing:

    Quick Questions & Answers
    Which turns into
    Quick Questions & Answers
    when I enter a new area. This seems to only affect buildings and script-like structures. It reverts back to normal if you walk away from it enough though.

    What is this, will this affect gameplay (so far it doesn't) and how do I get rid of it? For reference, I am putting Faraway Island directly to the top left of RT 119. Both connections are secure excepting this.
     
  • 7
    Posts
    8
    Years
    • PH
    • Seen Aug 30, 2019
    It is entirely possible to have more than 3 regions. However, the problem then becomes designing a level curve system that fits in with the regions and doesn't require too much grinding, or, rather, if it does, then you would want to have a way that makes grinding "fun."

    EDIT: And that's just one of the problems you'll encounter...
    I believe Pokémon Glazed does the whole "3 regions" thing very well~

    Really? that's good to hear. Is there any tut here on how to add regions? As crazy as it is, i'm planning on 7 regions. It's really big and I've already thought how to add more "fun" to the grinding. Is there any Tut on how to add another region? so far as i've searched, the tuts only show how to create a new map.
     
  • 1,344
    Posts
    14
    Years
    • Seen Dec 10, 2021
    Really? that's good to hear. Is there any tut here on how to add regions? As crazy as it is, i'm planning on 7 regions. It's really big and I've already thought how to add more "fun" to the grinding. Is there any Tut on how to add another region? so far as i've searched, the tuts only show how to create a new map.

    Regions are just composed of maps linked together... There's nothing to it except creating more maps, at a basic level at least. There are however a multitude of problems you won't be able to surmount without advanced ASM knowledge, such as:
    1) Limited map names, you'd have to name most of your maps something generic like "Kanto Route" since I think you can have less than like 100 unique names
    2) Town map fits 4 regions max
    3) limited flying spots
    4) it's not just adding "fun" to the grind, you'll literally run out of levels for the player's pokemon to grow unless you dramatically slow growth rates which comes with other problems
    5) Probably a bunch of other stuff I'm overlooking

    Not to mention it's a massive amount of work, If I were you I'd tone down my ambition and try to make a single region hack first to get a feel for how hard it is.
     
  • 5,256
    Posts
    16
    Years
    I'm trying to put new map connections in Emerald. They work, but then I get this weird thing:

    Quick Questions & Answers
    Which turns into
    Quick Questions & Answers
    when I enter a new area. This seems to only affect buildings and script-like structures. It reverts back to normal if you walk away from it enough though.

    What is this, will this affect gameplay (so far it doesn't) and how do I get rid of it? For reference, I am putting Faraway Island directly to the top left of RT 119. Both connections are secure excepting this.

    This is a problem where the two maps do not share the same Tileset 2. You can avoid this by giving the game enough time to load the new tileset when entering a different map by making it have a border of around six tiles where only Tileset 1 tiles are used (i.e. move that bush), or make the maps share the same Tileset 2. You could also add gatehouses, but they're lame.
     
    Status
    Not open for further replies.
    Back
    Top