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

Gold scripting - Tutorials/Commands

Status
Not open for further replies.
16
Posts
16
Years
    • Seen Apr 26, 2009
    Well, I'd like to say no, but yeah, I am.
    I find a lot of blank spaces, but none at 0x1225A0.
    But perhaps I'm looking in the wrong spot.
     

    IIMarckus

    J946@5488AA97464
    402
    Posts
    16
    Years
    • Seen Feb 21, 2024
    There's definitely blank space at 1225A0. Just to confirm you're using the right ROM, could you take a screenshot of your ROM information? You can get to it in VisualBoyAdvance by clicking File > Rom Information. You should get something like this:

    confirm.png


    Next, which hex editor are you using? Are you sure you're navigating to the right location? Here are some example screenshots in Windhex, Hexpose, and Translhextion.
     
    16
    Posts
    16
    Years
    • Seen Apr 26, 2009
    Ok, I downloaded a new rom, and the numbers are different.
    Maybe I was trying to hex edit an already hacked ROM.
    I just checked 1225A0 and it is blank. Sorry for the trouble.
    But one more question.
    On my new ROM, there are some blank spots long before 1225A0. Could I write script in those? Or not? And if not why does it have to be so far down at 1225A0?
    Thanks.
     

    IIMarckus

    J946@5488AA97464
    402
    Posts
    16
    Years
    • Seen Feb 21, 2024
    The other free space would be unsuitable because scripts have to be repointed to within their own data bank. A bank is 0x4000 bytes. This bank, for example, consists of all the data from 120000 to 123FFF. You could theoretically repoint the data to anywhere in this bank, but in the vast majority of cases it's best to use free space if it's available.
     
    16
    Posts
    16
    Years
    • Seen Apr 26, 2009
    Ah, I'm catching on finally.
    Wrote a script at like 1 AM. Stuff's addicting.
    Anyway, I got it to work mostly. Was just a simple message script.
    Thank you for all your help, =D. You've been awesome.
     

    cooley

    ///Keepin' it simple
    1,148
    Posts
    17
    Years
  • The other free space would be unsuitable because scripts have to be repointed to within their own data bank. A bank is 0x4000 bytes. This bank, for example, consists of all the data from 120000 to 123FFF. You could theoretically repoint the data to anywhere in this bank, but in the vast majority of cases it's best to use free space if it's available.
    What if I made a Huge script and it accidentally enters another Bank? will it continue to work?
     

    IIMarckus

    J946@5488AA97464
    402
    Posts
    16
    Years
    • Seen Feb 21, 2024
    No, it will be cut off where the bank ends. At that point the game will probably crash, because it will start reading VRAM data as if it's the continuation of the script (which is something that should never happen).
     

    Innocence

    PC Lurker: I'm watching you...
    1,041
    Posts
    19
    Years
  • MOVEMENTS
    6A 47 4C xx xx 53 49 69 xx xx 90
    Ok, New codes here. 69 is the movement of the talked-to person, and 68 is movement for any person but you have to put people no.
    the command 69 requires a 2 byte pointer to the movement data and the movements are below. After you've pointed to the movements, end the movements with a 47 command. Ok, so you talk to someone, then they tell you something, and then the move around, yay! You made a movement script!
    This doesn't explain how to change direction, and the compendium isn't very clear either. I try to turn to face a certain direction, but the character just turns and keeps moving down...
     

    IIMarckus

    J946@5488AA97464
    402
    Posts
    16
    Years
    • Seen Feb 21, 2024
    Always in order: down, up, left, right; always 4 per action

    Moving scripts:
    00 = Turn head
    04 = ½ step
    08 = slow step
    0C = step
    ...
    ie 0C = walk down, 0D = walk up, 0E = walk left, 0F = walk right
     

    IIMarckus

    J946@5488AA97464
    402
    Posts
    16
    Years
    • Seen Feb 21, 2024
    Something I learned today

    The "text block"/"text bank" labeling in Goldmap has nothing to do with text. It's actually the two-byte pointer to the script, as you can see if you check out the scripts in hex. That labeling can be confusing... makes you wonder why the Goldmap developers called it that.
     

    Hat?

    Banned
    184
    Posts
    17
    Years
    • Seen Dec 11, 2008
    This isn't for sure but I think work has been stopped on it, as the last version I have was copyrighted from 2000 to 2005.
     

    BigSteve

    Pokemon Bright Gold
    490
    Posts
    16
    Years
  • i found this thread very helpful in starting up the scripts but i need to know how to set up a legendary pokemon event
    i.e. an overworld sprite that when talked to says 'GYOOOOOO' and starts a battle with zapdos one time only
     

    IIMarckus

    J946@5488AA97464
    402
    Posts
    16
    Years
    • Seen Feb 21, 2024
    i found this thread very helpful in starting up the scripts but i need to know how to set up a legendary pokemon event
    i.e. an overworld sprite that when talked to says 'GYOOOOOO' and starts a battle with zapdos one time only
    First realize what you need to do:

    - Open text box
    - Print text
    - Start battle
    - Set a flag so it only happens once

    Now look at Tauwasser's document and see what commands you'll need. If you're having trouble, find the in-game scripts for Pokemon such as Ho-oh or Sudowoodo and see how they're built, then change it so that it'll use Zapdos.
     

    BigSteve

    Pokemon Bright Gold
    490
    Posts
    16
    Years
  • First realize what you need to do:

    - Open text box
    - Print text
    - Start battle
    - Set a flag so it only happens once

    Now look at Tauwasser's document and see what commands you'll need. If you're having trouble, find the in-game scripts for Pokemon such as Ho-oh or Sudowoodo and see how they're built, then change it so that it'll use Zapdos.

    1) where do i find the offsets for Sudowoodo?

    2) in gold map what is the 'Person Number' for the bird icon?

    3) can you link me a flags tutorial?

    p.s. the reason im posting here is because if someone else decides to have a go at learning script they can refer here :)
     
    Last edited:
    Status
    Not open for further replies.
    Back
    Top