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

Sierra's MEGA-HUGE XSE Scripting Tutorial

U.Flame

Maker of Short Games
1,326
Posts
15
Years
  • I want to give decorations in an event in Sapphire, and found out that the right command is giveitem3. Does anyone have a list of the Ruby/Sapphire decoration numbers?
     
    325
    Posts
    10
    Years
  • @Snorlax44: It's similar to a question. If the flag has been set in a past script with setflag 0x##, then you can jump to a different text string using if 0x1 goto @yesflag. If you have not set the flag, then it'll go directly down the line and go to a different pointer. Then you end it like all other scripts.
     
    10,078
    Posts
    15
    Years
    • UK
    • Seen Oct 17, 2023
    I want to give decorations in an event in Sapphire, and found out that the right command is giveitem3. Does anyone have a list of the Ruby/Sapphire decoration numbers?

    Hmm, I don't think I've ever seen a compiled list. However you could perhaps look at the merchants selling decorations and work it out from there?

    bulbapedia said:
    Decorations are purchased with Pokémon Dollars from a variety of locations, such as the Pretty Petal Flower Shop on Route 104, and the Lilycove Department Store among other places.
     
    214
    Posts
    10
    Years
  • is this script has fault
    #dynamic 0x800000

    #org @start
    msgbox @hello 0x2
    end

    #org @hello
    = not working

    if not then why it is not working
     

    dsret

    Learning to hack.
    3
    Posts
    12
    Years
  • I've been working on a hack, and this tutorial has been very helpful, but whenever I try to make a
    checkflag script that checks for a badge, it either switches to another script I've written for another NPC, or it just freezes my character, with the game still running. Help anyone?
    Here's my script:

    #dynamic 0x800500

    #org @start
    checkflag 0x820
    if 0x1 goto @pass
    msgbox @prints 0x6
    applymovement 0xff @move
    end

    #org @pass
    msgbox @ok 0x6
    end

    #org @prints
    = Wait! Don't step on those\nfootprints! I'm inspecting them.\lYou can come back after I'm done!

    #org @move
    #raw 0x10
    #raw 0xfe

    #org @ok
    = I'm all done. Turns out they were my own footprints. Hehe...



    Thanks in advance.






     
    3,044
    Posts
    9
    Years
  • I've been working on a hack, and this tutorial has been very helpful, but whenever I try to make a
    checkflag script that checks for a badge, it either switches to another script I've written for another NPC, or it just freezes my character, with the game still running. Help anyone?
    Here's my script:

    #dynamic 0x800500

    #org @start
    checkflag 0x820
    if 0x1 goto @pass
    msgbox @prints 0x6
    applymovement 0xff @move
    end

    #org @pass
    msgbox @ok 0x6
    end

    #org @prints
    = Wait! Don't step on those\nfootprints! I'm inspecting them.\lYou can come back after I'm done!

    #org @move
    #raw 0x10
    #raw 0xfe

    #org @ok
    = I'm all done. Turns out they were my own footprints. Hehe...



    Thanks in advance.







    Maybe you're overwriting something, try some new offset.
     

    DarkenedEclipse

    Project Oak
    207
    Posts
    9
    Years
  • Still doesn't seem to work... :/

    I have highlighted your key points you're missing. They're in bold.
    #dynamic 0x800500

    #org @start
    lock
    faceplayer
    checkflag 0x820
    if 0x1 goto @pass
    msgbox @prints 0x6
    applymovement 0xff @move
    waitmovement 0x0
    end

    #org @pass
    msgbox @ok 0x6
    release
    end

    #org @prints
    = Wait! Don't step on those\nfootprints! I'm inspecting them.\lYou can come back after I'm done!

    #org @move
    #raw 0x10
    #raw 0xfe

    #org @ok
    = I'm all done. Turns out they were my own footprints. Hehe...


    Just a simple missing waitmovement the lock and faceplayer are optional however.
    As Blaziken XY said, never write a script to the same offset twice or else you corrupt the data! Make sure your green scripting tile is set too this:
    Unknown: 0300
    Var Number: 4050
    ~Eclipse
     

    dsret

    Learning to hack.
    3
    Posts
    12
    Years
  • I have highlighted your key points you're missing. They're in bold.
    #dynamic 0x800500

    #org @start
    lock
    faceplayer
    checkflag 0x820
    if 0x1 goto @pass
    msgbox @prints 0x6
    applymovement 0xff @move
    waitmovement 0x0
    end

    #org @pass
    msgbox @ok 0x6
    release
    end

    #org @prints
    = Wait! Don't step on those\nfootprints! I'm inspecting them.\lYou can come back after I'm done!

    #org @move
    #raw 0x10
    #raw 0xfe

    #org @ok
    = I'm all done. Turns out they were my own footprints. Hehe...


    Just a simple missing waitmovement the lock and faceplayer are optional however.
    As Blaziken XY said, never write a script to the same offset twice or else you corrupt the data! Make sure your green scripting tile is set too this:
    Unknown: 0300
    Var Number: 4050
    ~Eclipse

    Thank you so much!
    But do I need to put the 'Unknown' to 0300 and 'Var Number' to 4050 everytime I make a similar
    script to this?
     
    Back
    Top