• 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.
12
Posts
8
Years
    • Seen Mar 19, 2017
    [Fire Red] Is there a script that can send a given Pokemon to the Pokebox regardless of party size?

    Ex. you have 3 Pokemon in your party and an NPC gives you a Pokemon. Instead of being added to your party, the Pokemon is sent directly to your Pokebox.
     

    0

    Happy and at peace. :)
    556
    Posts
    8
    Years
  • This is a good question, and something I might look more in depth when I have free time.
    I know of one function in Fire Red that can do this, and that would be the Magikarp guy on Route 4.
    Now, I did this a couple of weeks ago, but I basically transferred ALL the offsets on that script into XSE @'s, and in doing so, I understood it more.
    Today, because of your question, I understood it even more.

    When a Pokemon is giving, AFAIK, a value is returned into variable 0x800D, or LASTRESULT. The variables, as I understand them, are this.
    When 0x800D = 0, the players party has a free space.
    When 0x800D = 1, the players party is full. The game will then use a PC box.
    When 0x800D = 2, the players party and PC Boxes are full. You can no longer obtain anymore Pokemon until you release one.

    Now, you'll need the second one, to move the players pokemon into a box.

    To achieve this, and again this is theory at this point, you can find the text in the below script of:
    Spoiler:


    Below that, you'll see:
    Spoiler:


    Now, you"d replace this:
    Spoiler:



    With this:
    Spoiler:


    That will automatically, in theory, jump to a function as if the player had a Pokemon going to the box.

    Now, I'm going to point you to what you need, please follow me to these offsets.
    Go to #org @boxandsetflag
    This calls #org @bufferboxandpokemon, go there

    Now, take a look at this at #org @bufferboxandpokemon:
    Spoiler:

    It looks like this sets the variables for our next part.
    We now goto #org @sendtosomeonespc
    This is the important part:

    Spoiler:


    And:
    Spoiler:


    The first part basically runs a special that, in theory, actually moves your Pokemon to the current box. Failing that, it does the second part, which is to run a special that changes the box, and put's a new Pokemon into it.

    Now, this is all very straight foward if you read carefully. In short:
    1. After giving a pokemon, the game checks the party pokemon to see if you have room left, then boxes to see if their full or not, then finally it checks to see if you have anyroom at all.
    By creating a new script that simply by passes this part, you can make it directly store a pokemon into the box. That code'd would look like what we have above in the second spoiler.

    2. The game checks if you have seen bill or not, etc. It'll display different messages based on if you do or don't.

    3. The game runs two specials. One if for putting a pokemon into a box. If that fails, the second will change the box and then transfer the pokemon.

    Final notes:
    This is research on the subject. For this part, I won't be writing a script for you. This is research on a theory that is most likely true.
    As a result, you will have to create a script based on these very informative notes. You will also have to analyze the parts that you need on the script. Follow the train of offsets above and you'll see how this works.

    Here is the Magikarp script with a pretty good break down:

    Spoiler:


    Good luck with this one. It's a lot easier then you think.
    Have fun and happy hacking!
     
    12
    Posts
    8
    Years
    • Seen Mar 19, 2017
    Jeez this feels like an assignment LOL. Thanks a lot though, I'll try to see if I can write a script using the info you provided.
     

    Teh Blazer

    Divider of Zero
    776
    Posts
    15
    Years
  • Dropping another JPAN Engine question.

    For the Pokemon size mini game, I can't seem to get the specials 0x75 and 0x76 to work.

    I set the vars and use the special but every time I access that part of the script the game resets right before the specials. This is what I'm using for the scripts:

    Code:
    setvar 0x8005 0x401D
    setvar 0x8006 0x82
    special 0x75
    The species I'm checking is Gyarados and I'm sending the measurements to var 401D.

    Code:
    special 0x9F
    waitstate
    copyvar LASTRESULT 0x8004
    compare LASTRESULT 0x6
    if 0x4 goto @cancel
    setvar 0x8005 0x401D
    setvar 0x8006 0x82
    special 0x76
    Same here, the player chooses their pokemon and it continues if it's Gyarados. The var is still 401D.


    Also in the same vein, are there variables associated with buffers? Like if I set a variable to something, it also sets the buffer to that too?
     
    Last edited:
    88
    Posts
    8
    Years
    • Seen May 10, 2017
    Move effects and fire spin

    I have added about 25 new moves into Crystal (replacing old moves).

    To do this I first changed the name and description using x1C9F20 and x2CD50, and then I went to the attack data at x41AFE to change the PP/BP/Type/etc.

    Finally, to find the move animation I wanted, I simply searched for the data of the move whose animation I wanted, and copied the animation code from that. For example, to find the animation for Drain Punch, I looked for the animation byte for Giga Drain.

    So, following that, the issues I have are as follows:

    1) During battle, when you highlight a move it will display the typing. The typing here is NOT the typing placed in the 4th byte of the move info. It bases the typing on the attack animation! Using the Drain Punch example, this will claim that the move is a grass type!

    However, the actual effect of the move is correct. Drain punch will be SE against Steel, Dark, etc just as it should. Also, if I look at the detailed move info for a pokemon (via the menu outside of battle). The move has the correct typing. I don't understand why the text showing the typing here is based off the typing byte, but in battle it is based on the animation byte. It seems a bit stupid.

    2) I have added Magma Storm, which is a fire trapping move. As such, I have used the animation for Fire Spin. The problem is that I have replaced Fire Spin with another move (Drill Run). When I use Magma Storm it will say "[...] is trapped by DRILL RUN" There trapping text seems to point to the move animation instead of the move name.

    Any idea how I can change these two things? I can cheat with the second by changing the name of drill run to something that fits the trapping text a little better, and then replace yet another move with Drill Run. It's a bit messy though so I'd rather avoid that if possible.

    Any advice on this would be great as this problem is one of the final things I need to sort out.

    Let me know if you need me to post any screenshots for clarification.

    Thanks!
     

    colonelsalt

    Guaranteed to raise the smile
    111
    Posts
    11
    Years
  • Are glitches related to map connections at all common?

    Stepping on the northernmost tile connecting Cerulean City and Route 4 causes my ROM to reboot, and AdvanceMap gives me an "ERROR: (ENotAPointer) AdvanceMapError (5)" when I try to jump from one map to the other using the "map connections" arrows.

    I have not changed the map connections from vanilla FireRed in the slightest bit. Funny enough, stepping on either of the other two tiles connecting the two maps allows the player to travel between them without trouble.

    Is this a known issue, and is there some edit I've made, unbeknownst to me, that has caused it?

    EDIT: After going through a number of ROM backups, it appears as if AdvanceText has incorrectly repointed some text edits and has left my ROM corrupted. This caused the offsets of level scripts to be triggered at Route 4 to register incorrectly, which was causing the freeze and refresh. Lesson learned: AdvanceText is the tool of the devil.
     
    Last edited:
    61
    Posts
    10
    Years
    • Seen Feb 3, 2024
    can anyone tell me how to edit the "Search" Portion of the Pokedex ? in firered i mean can anyone provide me with offsets to the tables of , A to Z mode , Lightest Mode , Smallest Mode ? Thanks in Advance.
     
    179
    Posts
    10
    Years
    • Seen Feb 2, 2017
    Anyone knows how to add other form to a pokemon?
    for example I want to add primal form of groundon/kyogre
     
    2
    Posts
    7
    Years
    • Seen Jun 16, 2016
    HELLO,I NEED HELP WITH A FEW THINGS I AM NEW TO THIS
    FIRST I NEED THE BEST EMULATOR
    ROMS
    AND HACKING TOOL
    ALL FOR MAC ANYONE WHO CAN HELP ME OUT?
     

    Icemasters

    The Lurker Here
    33
    Posts
    15
    Years
  • Guys i am using an expanded rom and need to edit wild pokemon data but the dropbox link to advane map is dead. can it be reuploaded please?
    cant seem to find that one anywhere. The version i have doesn't have the required offsets to change.
     
    204
    Posts
    9
    Years
    • Seen Jul 26, 2021
    Can somebody explain to me how to expand the kanto dex (NOT the antional dex) in Firered to atleast 201 or more? i read somewhere that it is possible to do it but couldnt find a tutorial on it.
     

    BluRose

    blu rass
    811
    Posts
    10
    Years
  • Guys i am using an expanded rom and need to edit wild pokemon data but the dropbox link to advane map is dead. can it be reuploaded please?
    cant seem to find that one anywhere. The version i have doesn't have the required offsets to change.

    https://www.dropbox.com/s/7e8vzkv1ar0z5k8/AdvanceMap 1.92.zip?dl=0
    originally done by baitot, but just change the two bytes at 0xD027C to the new amount you'd like
    it might not be "9C 01" in this case simply because i may have edited it before uploading

    Can somebody explain to me how to expand the kanto dex (NOT the antional dex) in Firered to atleast 201 or more? i read somewhere that it is possible to do it but couldnt find a tutorial on it.

    https://www.pokecommunity.com/showpost.php?p=6581409&postcount=1
    the section "kanto dex limiting bytes" answers

    Anyone knows how to add other form to a pokemon?
    for example I want to add primal form of groundon/kyogre

    without getting too advanced, one can just add it as another pokémon and then it will be there
    touched's mega evolution/primal reversion thing, in your case, will make it functional
     
    130
    Posts
    8
    Years
    • Seen Jun 14, 2023
    In FireRed, where is the palette offset for the player character for selecting boy or girl? Both of them. Is there a command in XSE to do a random number? Where is the script to start the Raikou/Entei/Suicune roaming event? And is there a way to create one's own roaming Pokemon event?
     

    Crizzle

    Legend
    942
    Posts
    9
    Years
  • In FireRed, where is the palette offset for the player character for selecting boy or girl? Both of them. Is there a command in XSE to do a random number? Where is the script to start the Raikou/Entei/Suicune roaming event? And is there a way to create one's own roaming Pokemon event?

    Don't know the answers to your other questions but I do know the bolded. There is a random command, that's pretty simple:
    For example:

    random 0x5 (this case a random number either 0, 1,2,3 or 4 will be selected and loaded into var 0x800D aka LASTRESULT)
    Then you'd compare 0x800D to values in order to use this random number.
     
    130
    Posts
    8
    Years
    • Seen Jun 14, 2023
    Don't know the answers to your other questions but I do know the bolded. There is a random command, that's pretty simple:
    For example:

    random 0x5 (this case a random number either 0, 1,2,3 or 4 will be selected and loaded into var 0x800D aka LASTRESULT)
    Then you'd compare 0x800D to values in order to use this random number.

    Awesome thank you. I'm going to be making a shiny Nidoran event that will be randomly determined which one appears. I didn't want it to be based on the character's gender cause that would mean that it would always be the same.
     
    174
    Posts
    8
    Years
    • Seen Aug 20, 2019
    Can anyone teach me how to hex edit advance map 1.92 for extended pokemons? It only shows the first 386.
     
    3
    Posts
    16
    Years
    • Seen Dec 11, 2017
    Hello. I want to do a daily Pokemon adoption service where once a day, you can go in and adopt a Pokemon (randomly generated from a list).

    1. Can I do this in FireRed? I can't remember if it had any daily events.
    2. Would I be able to script it in XSE?

    Also, can you make it so gift Pokemon will definitely have certain abilities when given? Like say I want to give the player a Growlithe that'll always have Intimidate.
     

    Blah

    Free supporter
    1,924
    Posts
    11
    Years
  • 1) Yes, use play time, or install a RTC.
    2) Nope, atleast not entirely.
    3) Yes.

    Although you asked a bunch of yes/no questions, I'm sure you're more interested in the how-to of it all.

    For the daily events, you need to have an RTC patched into your FR game. There are a few patches available on PC which do this. Alternatively you can use the play time, which is slightly harder to use if you're unfamiliar with ASM. I did make something about executing timed scripts in the ASM resource thread iirc, maybe look into using that.
     
    Status
    Not open for further replies.
    Back
    Top