• 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.
  • 87
    Posts
    8
    Years
    • Seen Feb 5, 2021
    I resized and inserted all frames of the main character's overworld following Darthatron's.
    The overworld is shown correctly both in Overworld Editor and in Advance Map, but ingame there's just one part of the top of the overworld and it's split too. How could I solve it?

    Solved it.
    To those who might run into the same problem: "Unknown pointer 1" and "Unknown pointer 2" are different according just to the sprite dimension.
    So if you want to use a 32x32 overworld, check the UP1 and UP2 of an already existing 32x32 overworld. Then with your hex editor replace the current UP1 and UP2 of your resized overworld with those of the one whose dimensions are 32x32 already.
     
    Last edited:

    Desert Stream~

    Holy Kipper!
  • 3,269
    Posts
    8
    Years
    • She/Her
    • Seen Aug 20, 2023
    Ok, now I'm trying to make an old man speak, (80008F not sure if that matters) but when I talk to him I end up in the team rocket hideout?
     
  • 417
    Posts
    9
    Years
    • Seen Nov 20, 2016
    Ok, now I'm trying to make an old man speak, (80008F not sure if that matters) but when I talk to him I end up in the team rocket hideout?
    Yes. This happens ALL. THE. TIME. to me. A script that I compile just randomly sends me to team rocket's hideout. But just to make sure it is precisely the same thing that happens to me, perhaps you should post the actual script in the script help thread? Or more likely, the actual issue is that you didn't compile it in free space and overwrote another script.
     

    Desert Stream~

    Holy Kipper!
  • 3,269
    Posts
    8
    Years
    • She/Her
    • Seen Aug 20, 2023
    Code

    #dynamic 0x800000

    #org @start
    msgbox @talk1 0x2
    end

    #org @talk1
    = Zzz... What's That? Zzz...

    Compiled:
    -------------------------------------
    Opening output: C:\Users\KIDS\Desktop\1636 - Pokemon - Fire Red Version (U).gba...
    Processing input script...
    1 - #DYNAMIC
    > lDynamicStart = 0x800000
    3 - #ORG
    > lNewOffset = 0x80008F
    4 - (0F) - MSGBOX (native) [+8]
    > pText = 0x8800099
    > bType = 0x2
    5 - (02) - END [+1]
    7 - #ORG
    > lNewOffset = 0x800099
    8 - RAW TEXT [+27]
    > sText = "Zzz... What's That? Zzz..."
    -------------------------------------
    DYNAMIC_OFFSET 1
    > sLabel = @start
    > lOffset = 0x80008F
    DYNAMIC_OFFSET 2
    > sLabel = @talk1
    > lOffset = 0x800099
    -------------------------------------
    Cleaning up...
    Closing output...
    Finished processing input in 0.013 seconds.
     

    Desert Stream~

    Holy Kipper!
  • 3,269
    Posts
    8
    Years
    • She/Her
    • Seen Aug 20, 2023
    This is bad. really bad.
    Quick Questions & Answers
     
  • 87
    Posts
    8
    Years
    • Seen Feb 5, 2021
    Try to put #freespace 0xFF before #dynamic 0x800000, maybe your script is just overwriting some other data. Then take the first offset XSE gives you and put it on the overworld on Advance Map.
     
    Last edited by a moderator:
  • 137
    Posts
    10
    Years
    • Age 35
    • Seen May 21, 2024
    That I don't know—the reason I corrected NewDenverCity was I thought you were just talking about getting more flags. I have no idea how trainer flags are mapped into the available space.
     

    C me

    Creator of Pokemon League Of Legends
  • 681
    Posts
    10
    Years
    • Seen Apr 9, 2021
    I need something clarified about abilities. I've expanded the names and descriptions tables (repointed them first obviously) and that works fine but when I add a new ability routine how do I assign it to the next free ability slot (the one after airlock)? Is there a table of ability routine pointers that I have to expand too?

    This is for Emerald btw. Thanks
     
  • 325
    Posts
    10
    Years
    I need something clarified about abilities. I've expanded the names and descriptions tables (repointed them first obviously) and that works fine but when I add a new ability routine how do I assign it to the next free ability slot (the one after airlock)? Is there a table of ability routine pointers that I have to expand too?

    This is for Emerald btw. Thanks
    Not quite, as abilities don't work like that. The way the system works is by reading the Pokémon's attributes from the Pokedex chart and assigning it either its first or second ability, which is a half-word. Then there are various hooks and checks scattered throughout the entire ROM looking for and comparing that ability. So no, there's no ability routine pointer table, so you don't need to expand anything else.
     

    C me

    Creator of Pokemon League Of Legends
  • 681
    Posts
    10
    Years
    • Seen Apr 9, 2021
    Not quite, as abilities don't work like that. The way the system works is by reading the Pokémon's attributes from the Pokedex chart and assigning it either its first or second ability, which is a half-word. Then there are various hooks and checks scattered throughout the entire ROM looking for and comparing that ability. So no, there's no ability routine pointer table, so you don't need to expand anything else.

    So how does the game know what to do when a Pokemon has a certain ability that isn't a vanilla one?
     
  • 417
    Posts
    9
    Years
    • Seen Nov 20, 2016
    So how does the game know what to do when a Pokemon has a certain ability that isn't a vanilla one?
    The asm that you insert. Think about how abilities work. They trigger at many different times. It wouldn't make sense to have pointers to "ability effects" because it would be far more logical to have a check for specific abilities at times that they would trigger.
     

    C me

    Creator of Pokemon League Of Legends
  • 681
    Posts
    10
    Years
    • Seen Apr 9, 2021
    The asm that you insert. Think about how abilities work. They trigger at many different times. It wouldn't make sense to have pointers to "ability effects" because it would be far more logical to have a check for specific abilities at times that they would trigger.

    Ok I see, but if you give a Pokemon a new ability how does the game know it's the new abiltity you inserted?
     
  • 417
    Posts
    9
    Years
    • Seen Nov 20, 2016
    Ok I see, but if you give a Pokemon a new ability how does the game know it's the new abiltity you inserted?
    It reads the index off of the base stats table. Let's say that you're attempting to add the ability regenerator. What I'm getting at is that there's no "pointer" that goes regenerator ability -> heal. Instead, you would modify the pokemon switch routine (I'm guessing around the same place as natural cure, though I haven't looked at the public code) to add a check - for the pokemon having the index for the regenerator ability - and if ability index matches regenerator, you heal the Pokemon. If you're asking about how it is determined which ability a pokemon has, it is dependant on getattr on species and getattr on ability bit, a bit that matches the lowest bit of personality for a pokemon with two abilities or zero otherwise. There are various routines scattered throughout the ROM that use those two pieces of info to grab the ability index number from the species' entry in the base stats table.
     

    Scarlet D.

    The Eternal
  • 66
    Posts
    8
    Years
    Hi there, for some reason a script i made is freezing the game, i can't understand what i am doing wrong really...any help with this?

    Spoiler:
     

    C me

    Creator of Pokemon League Of Legends
  • 681
    Posts
    10
    Years
    • Seen Apr 9, 2021
    Spoiler:

    I completely understand now. It all makes sense thanks.
     

    PurpleOrange

    still don't know what I'm doing
  • 367
    Posts
    10
    Years
    Hi there, for some reason a script i made is freezing the game, i can't understand what i am doing wrong really...any help with this?

    Spoiler:

    try putting "0x" before the 4's, 12, and 13 after the applymovement's and waitmovement's, and after the hidesprite
     
    Last edited:
    Status
    Not open for further replies.
    Back
    Top