Tools, Tutorials & Resources Various tools to help you develop your hacks can be found here.

Draconius GO
Reply
 
Thread Tools
  #1    
Old November 16th, 2009 (1:05 PM). Edited April 15th, 2010 by Logan.
Chicken Bones Chicken Bones is offline
Hacks 4 fun
     
    Join Date: Nov 2009
    Posts: 18
    Hi I only started hacking a few weeks ago but i have learnt quite a bit. I got a lot of help from you guys so I thought I should contribute with some of my knowledge.

    1 thing I have noticed a lot is the fact that you can't create new multichoice boxes. So I was hexing around and I found out how to do it. AND BTW Image insertion wouldn't work so no images

    You will need:
    - A hex editor (that can search for hex), I use HxD free
    - VBA
    - Advancemap
    - XSE or other scripting program
    - A Rom (I'm using Emerald)
    - Basic Knowlege of HEX

    Decoding the Format

    So first open up XSE and compile a script exactly like this this

    Spoiler:

    #dynamic 0x800000

    #org @main
    lock
    multichoice 0xAD 0x03 0x0 0x0
    release
    end


    assign it to a person or sign in advancemap.
    open VBA you should get a box like this (if using emerald)

    Spoiler:

    ____________
    | PETALBURG |
    | SLATEPORT |
    | EXIT______|


    assuming you are using my converter (attached at the bottom of this post)
    in the text box type in PETALBURG\xSLATEPORT
    copy the hex below it and search in your hexeditor

    You should find it around about 5EAD37 for emerald
    get the offset at the start of PETALBURG (5EAD37), reverse the bytes and add 08 so
    37 AD 5E 08 now search this hex

    you should get something like this
    Spoiler:

    00 00 00 00 00 00 00 00 37 AD 5E 08 00 00 00 00
    41 AD 5E 08 00 00 00 00 EA B7 5E 08 00 00 00 00
    67 AD 5E 08 00 00 00 00 6D AD 5E 08 00 00 00 00
    .etc

    each 8 bytes is a message pointer followed by 4 bytes of 00

    get the offset after the 8bytes of zeros in my case 58ABD8 and reverse ad 08

    D8 AB 58 08

    search and you'll get something like this

    Spoiler:

    D8 AB 58 08 03 00 00 00 58 B7 58 08 01 00 00 00
    F0 AB 58 08 03 00 00 00 08 AC 58 08 04 00 00 00
    28 AC 58 08 06 00 00 00 78 AC 58 08 03 00 00 00


    this is the list of message boxes in the format
    so for the first message box it's <03><00 00 00 >
    or pointer to the start of the 3 other pointers that say PETALBURG SLATEPORT and EXIT

    then 3 options and fillers

    finally get the offset at the start and reverse add 08
    to get 60 B7 58 08

    search and there sould be 2

    get the first one or E1FB8 for emerald
    and there in those 4 bytes is the pointer to all message boxes.

    So now How do I make my own.

    First find like 1000 bytes of free space (FF)

    then change the 60 B7 58 08 offset to your new location or E40000 for me (00 00 E4 08)
    then go to your list of offsets at 58B760 or whatever

    Spoiler:

    D8 AB 58 08 03 00 00 00 58 B7 58 08 01 00 00 00
    F0 AB 58 08 03 00 00 00 08 AC 58 08 04 00 00 00
    28 AC 58 08 06 00 00 00 78 AC 58 08 03 00 00 00


    yu should notice that every 3rd and 10th byte is 58
    copy down until the 3rd and 10th bytes aren't 58 or
    Spoiler:

    D8 AB 58 08 03 00 00 00 58 B7 58 08 01 00 00 00
    F0 AB 58 08 03 00 00 00 08 AC 58 08 04 00 00 00
    28 AC 58 08 06 00 00 00 78 AC 58 08 03 00 00 00
    58 AC 58 08 04 00 00 00 90 AC 58 08 04 00 00 00
    58 B7 58 08 01 00 00 00 58 B7 58 08 01 00 00 00
    58 B7 58 08 01 00 00 00 E8 B4 58 08 04 00 00 00
    B0 AC 58 08 02 00 00 00 C0 AC 58 08 06 00 00 00
    F0 AC 58 08 02 00 00 00 58 B7 58 08 01 00 00 00
    00 AD 58 08 02 00 00 00 80 B2 58 08 03 00 00 00
    98 B2 58 08 05 00 00 00 58 B7 58 08 01 00 00 00
    10 AD 58 08 03 00 00 00 58 B7 58 08 01 00 00 00
    58 B7 58 08 01 00 00 00 28 AD 58 08 03 00 00 00
    40 AD 58 08 03 00 00 00 58 AD 58 08 03 00 00 00
    70 AD 58 08 03 00 00 00 88 AD 58 08 03 00 00 00
    A0 AD 58 08 03 00 00 00 B8 AD 58 08 03 00 00 00
    D0 AD 58 08 03 00 00 00 E8 AD 58 08 03 00 00 00
    00 AE 58 08 03 00 00 00 18 AE 58 08 03 00 00 00
    30 AE 58 08 03 00 00 00 48 AE 58 08 03 00 00 00
    60 AE 58 08 03 00 00 00 78 AE 58 08 03 00 00 00
    90 AE 58 08 03 00 00 00 A8 AE 58 08 03 00 00 00
    58 B7 58 08 01 00 00 00 58 B7 58 08 01 00 00 00
    C0 AE 58 08 04 00 00 00 E0 AE 58 08 04 00 00 00
    00 AF 58 08 04 00 00 00 20 AF 58 08 02 00 00 00
    30 AF 58 08 03 00 00 00 48 AF 58 08 08 00 00 00
    88 AF 58 08 04 00 00 00 D8 AF 58 08 03 00 00 00
    F0 AF 58 08 02 00 00 00 58 B7 58 08 01 00 00 00
    00 B0 58 08 03 00 00 00 18 B0 58 08 03 00 00 00
    30 B0 58 08 02 00 00 00 A8 AF 58 08 06 00 00 00
    40 B0 58 08 02 00 00 00 50 B0 58 08 06 00 00 00
    80 B0 58 08 02 00 00 00 90 B0 58 08 02 00 00 00
    A0 B0 58 08 03 00 00 00 B8 B0 58 08 02 00 00 00
    C8 B0 58 08 03 00 00 00 E0 B0 58 08 03 00 00 00
    F8 B0 58 08 04 00 00 00 18 B1 58 08 02 00 00 00
    28 B1 58 08 03 00 00 00 40 B1 58 08 03 00 00 00
    58 B1 58 08 04 00 00 00 78 B1 58 08 03 00 00 00
    90 B1 58 08 04 00 00 00 B0 B1 58 08 04 00 00 00
    D0 B1 58 08 05 00 00 00 F8 B1 58 08 06 00 00 00
    08 B3 58 08 03 00 00 00 08 B3 58 08 03 00 00 00
    60 B2 58 08 04 00 00 00 60 B2 58 08 04 00 00 00
    C0 B2 58 08 04 00 00 00 E0 B2 58 08 05 00 00 00
    20 B3 58 08 03 00 00 00 38 B3 58 08 03 00 00 00
    50 B3 58 08 05 00 00 00 78 B3 58 08 03 00 00 00
    90 B3 58 08 04 00 00 00 B0 B3 58 08 03 00 00 00
    C8 B3 58 08 08 00 00 00 08 B4 58 08 04 00 00 00
    50 B2 58 08 02 00 00 00 28 B4 58 08 03 00 00 00
    40 B4 58 08 03 00 00 00 58 B4 58 08 03 00 00 00
    70 B4 58 08 04 00 00 00 90 B4 58 08 03 00 00 00
    A8 B4 58 08 02 00 00 00 B8 B4 58 08 06 00 00 00
    08 B5 58 08 05 00 00 00 30 B5 58 08 05 00 00 00
    58 B5 58 08 04 00 00 00 78 B5 58 08 06 00 00 00
    A8 B5 58 08 06 00 00 00 D8 B5 58 08 05 00 00 00
    00 B6 58 08 04 00 00 00 20 B6 58 08 04 00 00 00
    40 B6 58 08 03 00 00 00 58 B6 58 08 03 00 00 00
    70 B6 58 08 02 00 00 00 28 B2 58 08 05 00 00 00
    80 B6 58 08 02 00 00 00 90 B6 58 08 04 00 00 00
    B0 B6 58 08 04 00 00 00 D0 B6 58 08 06 00 00 00
    00 B7 58 08 06 00 00 00 30 B7 58 08 05 00 00 00

    for emerald and paste a your new offset (E40000 for me)
    then add 1 mor at the end like this <00 00 00>
    so for me I'm using E40500 with 3 options now so <00 05 E4 08><03><00 00 00> or 00 05 E4 08 03 00 00 00

    at E40500
    or where ever put <00 00 00 00> or 00 05 E4 08 00 00 00 00 times by the amount of options so for me its

    00 05 E4 08 00 00 00 00 00 05 E4 08 00 00 00 00
    00 05 E4 08 00 00 00 00

    now for the final part go into converter and type in the box below text <\x><\x><\x>

    so I'll do one two YESS:
    one\xtwo\xYESS\x

    get the hex and paste it at E40550 or where ever.

    E3E2D9FFE8EBE3FFD3BFCDCDFF

    now finally change to then the offset after each FF


    50 05 E4 08 00 00 00 00 54 05 E4 08 00 00 00 00

    5C 05 E4 08 00 00 00 00



    Done
    your new box will be after all the others




    I have have to get ready for school now but if there are any questions please post in thread.
    Attached Files
    File Type: xls Converter.xls‎ (154.0 KB, 203 views) (Save to Dropbox)
    Reply With Quote

    Relevant Advertising!

      #2    
    Old November 17th, 2009 (5:48 PM).
    12345's Avatar
    12345 12345 is offline
    Sky
       
      Join Date: Aug 2007
      Gender: Male
      Nature: Calm
      Posts: 410
      This is useful for me, and your converter I also use it for other things. Thanks.
      __________________


      Favorite Pokemon Game: GBA-Emerald, DS-Platinum, Dungeon-Red/Blue, Ranger - Guardian Signs
      Reply With Quote
        #3    
      Old November 18th, 2009 (5:54 PM).
      Pokepal17's Avatar
      Pokepal17 Pokepal17 is offline
      More cowbell~
      • Silver Tier
       
      Join Date: Oct 2008
      Location: Steeltown
      Age: 23
      Gender: Male
      Nature: Modest
      Posts: 1,517
      This is very useful. Thanks for this. :3
      __________________
      Pokémon Stardrop
      Reply With Quote
        #4    
      Old November 19th, 2009 (3:33 AM).
      Chicken Bones Chicken Bones is offline
      Hacks 4 fun
         
        Join Date: Nov 2009
        Posts: 18
        Thanks for the feedback guys.

        I just hope it isn't too hard to follow (I had to rush the last bit).

        And btw for the converter the code sheet tells you a bit of what to type in like for the e in pokemon = [e]
        Reply With Quote
          #5    
        Old July 10th, 2010 (9:34 AM).
        Black Deoxys's Avatar
        Black Deoxys Black Deoxys is offline
           
          Join Date: Jul 2010
          Gender: Male
          Posts: 3
          What are the offsets for FireRed?
          Reply With Quote
            #6    
          Old July 10th, 2010 (5:10 PM).
          FireGod121 FireGod121 is offline
             
            Join Date: Jul 2010
            Gender: Male
            Posts: 13
            thanks a lot I've been looking for this for a while
            Reply With Quote
              #7    
            Old September 5th, 2010 (11:42 AM).
            Echidna's Avatar
            Echidna Echidna is offline
            i don't care what's in your hair
            • Platinum Tier
             
            Join Date: Aug 2010
            Location: Illinois
            Age: 23
            Gender: Male
            Nature: Brave
            Posts: 2,082
            that's a strangely small tutorial.
            __________________
            but my taste in music is your face
            Reply With Quote
              #8    
            Old December 28th, 2014 (2:48 PM).
            Bygix Bygix is offline
               
              Join Date: Jul 2014
              Gender: Male
              Posts: 5
              I think i successfully created my new multichoice but im still not sure how to locate it or what 'your new multichoice will be after all the others' means
              Reply With Quote
              Reply

              Quick Reply

              Join the conversation!

              Create an account to post a reply in this thread, participate in other discussions, and more!

              Create a PokéCommunity Account

              Sponsored Links
              Thread Tools

              Posting Rules
              You may not post new threads
              You may not post replies
              You may not post attachments
              You may not edit your posts

              BB code is On
              Smilies are On
              [IMG] code is On
              HTML code is Off

              Forum Jump


              All times are GMT -8. The time now is 12:30 AM.