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

[Script] Set Healing Place

Salazze ♂

TileMaster
1
Posts
4
Years
  • Ok, it's not my style to ask anything about these types of topics, I usually look for the solution myself comparing scripts of a clean rom, however I have been looking for this for a while and I can't find anything.

    How does the Sethealingplace work?

    And even more important, how do I change the script of the hero's mother?

    What I want is that if I run out of Pokémon, I won't appear with my mother since in my hack that map does not exist and how do I reappear in the last Pokémon center I visit.

    I count on you, thank you.

    ~ Salazzle

    (Sorry for my bad English)
     

    DrFuji

    [I]Heiki Hecchara‌‌[/I]
    1,691
    Posts
    14
    Years
  • Sethealingplace will spawn you at at set location depending on the byte that you set. For example, 'sethealingplace 0x1' will spawn you at home, 0x2 at Viridian City, 0x3 at Pewter City etc. This thread should explain how the sethealingplace command works in more detail. It basically works off a table of map banks and coordinates to determine where you spawn and can easily be edited with a hex editor. JPAN's hacked engine and the Complete Fire Red Upgrade allow for the creation of dynamic sethealingplaces depending on variables if you're interested in that.

    As for changing the script that activates when you respawn at home, it can be easily changed by repointing it. The script itself begins at 0x1A8DD8. To avoid having to change the pointer at 0x7F5EC every time you compile a new script for the respawn, you can make a script that looks like this:

    Code:
    #dynamic 0x800000
    
    #org 0x1A8DD8
    goto @start
    
    #org @start
    ... // Write your new script here

    As a side note (if you want to change it), Nurse Joy's respawn script begins at 0x1A8D97 and can be repointed the same way. You can even make branches in these repointed scripts depending on a flag/ variable if you want to add more respawn scripts like waking up at a campfire, on a ship and other ideas that don't fit in with either your mother or Nurse Joy.
     

    Manekimoney

    Banned
    169
    Posts
    6
    Years
    • Seen Jan 18, 2024
    Sethealingplace will spawn you at at set location depending on the byte that you set. For example, 'sethealingplace 0x1' will spawn you at home, 0x2 at Viridian City, 0x3 at Pewter City etc. This thread should explain how the sethealingplace command works in more detail. It basically works off a table of map banks and coordinates to determine where you spawn and can easily be edited with a hex editor. JPAN's hacked engine and the Complete Fire Red Upgrade allow for the creation of dynamic sethealingplaces depending on variables if you're interested in that.

    As for changing the script that activates when you respawn at home, it can be easily changed by repointing it. The script itself begins at 0x1A8DD8. To avoid having to change the pointer at 0x7F5EC every time you compile a new script for the respawn, you can make a script that looks like this:

    Code:
    #dynamic 0x800000
    
    #org 0x1A8DD8
    goto @start
    
    #org @start
    ... // Write your new script here

    As a side note (if you want to change it), Nurse Joy's respawn script begins at 0x1A8D97 and can be repointed the same way. You can even make branches in these repointed scripts depending on a flag/ variable if you want to add more respawn scripts like waking up at a campfire, on a ship and other ideas that don't fit in with either your mother or Nurse Joy.

    I know this is a bit of an old topic, but the thread explaining how sethealingplace command works doesn't seem to exist anymore (or IDK, I can't even register to the site properly and seems to be completely broken on my end)

    Would you perhaps know what determines the coordiantes when you warp to a map of the sethealingplace?
    For now, all I know is that the mom's respawn puts you on X:8 Y:5 coordinates in your house and the pokemon center respawn puts you on X:7 Y:4 in a specific pokemon center (and that I can hex edit the respawn map at 0x3EEC98).
    I could perhaps work with these, but it would be preffereable, that I could change the coordinates to my liking, otherwise, the map layouts would have to accomodate for these coordinates, restricting their design.

    ----------------------------------------------------------------------------------------------------------------------------------------------------------------

    UPDATE: Nevermind. I figured it out with the help of using a decomp. However, I only found the locations for the Mom's respawn coordinates, regular Pokemon center coordinates and Trainer Tower coordinates. The Indigo Plateau and One Island weren't found yet.

    You can edit these with a hex editor. The bytes that correspond to coordinates are "underlined". The first underlined byte is the X coordinate, the second underlined byte is the Y coordinate. Edit these to whatever X or Y you want.
    At the locations specified, you should find these lines of bytes:

    Code:
    MOM
    -----
    Location: 0x000BFD73
    D1 08 20 A0 80 05 20
       --          --
    
    TRAINER TOWER
    -----
    Location: 0x000BFDD3
    D1 04 20 A0 80 0B 20
       --          --
    
    REGULAR CENTER
    -----
    Location: 0x000BFDEB
    00 07 20 A0 80 04 20
       --          --

    I didn't find the One Island and Indigo Plateau coordinate bytes. Their data structure seems to either be too different for me to find it, or pehaps I'm just blind and didn't notice them. Either way, they should be located very close to these other locations. For anyone who wants to search for those ones as well, here are the coordiantes that they should have:

    Code:
    One Island     --- X:5  Y:4
    Indigo Plateau --- X:13 Y:12 aka X:D Y:C
     
    Last edited:
    Back
    Top