ROM Hacking Need a helping hand? You can get help on any ROM Hacking-related problems or questions you have here.

Closed Thread
 
Thread Tools
  #6626    
Old March 20th, 2012 (4:08 AM).
aljohnston112's Avatar
aljohnston112 aljohnston112 is offline
     
    Join Date: Jul 2010
    Gender: Male
    Nature: Naughty
    Posts: 25

    Quote:
    Originally Posted by SwiftSign View Post
    Er I don't think characters can move maps, I believe they are tied to the map they are present on in A-Map - So yes, could be.

    Dang it. Oh well... pretty easy fix.

    __________________

    Courage is not the absence of fear. Courage is the overcoming of fear.


    Relevant Advertising!

      #6627    
    Old March 20th, 2012 (6:48 AM).
    Mr.McTaco Mr.McTaco is offline
       
      Join Date: Jun 2008
      Gender:
      Posts: 3

      How possible/difficult is it to hack Gold version so the player starts in Kanto instead of Johto?

        #6628    
      Old March 20th, 2012 (8:50 AM).
      RetroRoller's Avatar
      RetroRoller RetroRoller is offline
      Trailer Trash
         
        Join Date: Jun 2011
        Location: England
        Gender: Male
        Nature: Modest
        Posts: 111

        Quote:
        Originally Posted by Quickster View Post
        Hi, I think you should try putting 4050 as the var number instead of 7000 to see if it works.

        Nope :/ Still doesn't work.

        __________________

        Eat pizza and stay punk rock

        I map for the Source SDK and dabble in ROM Hacking hmu.

          #6629    
        Old March 20th, 2012 (10:08 AM).
        Hacks0rus's Avatar
        Hacks0rus Hacks0rus is offline
        Monster Raving Looney
           
          Join Date: Jul 2011
          Gender: Male
          Nature: Timid
          Posts: 24

          Quote:
          Originally Posted by RetroRoller View Post
          Nope :/ Still doesn't work.

          Are you using XSE v1.0? If so, you'll need to update to 1.1.1.

          Also, you may need a lock at the start and release at the end, that may be why it skips past it.

          that then should work, fingers crossed

            #6630    
          Old March 20th, 2012 (1:07 PM).
          RetroRoller's Avatar
          RetroRoller RetroRoller is offline
          Trailer Trash
             
            Join Date: Jun 2011
            Location: England
            Gender: Male
            Nature: Modest
            Posts: 111

            Quote:
            Originally Posted by Hacks0rus View Post
            Are you using XSE v1.0? If so, you'll need to update to 1.1.1.

            Also, you may need a lock at the start and release at the end, that may be why it skips past it.

            that then should work, fingers crossed

            I'll try and update, thanks. I can try it in PKSV in the meantime. I say meantime because trying to get XSE 1.1.1 on here 404'd so yeah -.- I'll try and leave HackMew a VM if he/she (whoever :3) hasn't already ammended the link.

            __________________

            Eat pizza and stay punk rock

            I map for the Source SDK and dabble in ROM Hacking hmu.

              #6631    
            Old March 20th, 2012 (1:14 PM).
            shadowdragon17's Avatar
            shadowdragon17 shadowdragon17 is offline
               
              Join Date: Mar 2012
              Gender: Male
              Posts: 7

              I'm trying to hack Pokemon Ruby using Advance Map and PokeScript but I'm having some trouble with movement. I know how to set up the script but I can't find the correct offsets. Where can i find them/ could someone list the basic ones (move left, right, up, and down)?

                #6632    
              Old March 20th, 2012 (1:27 PM).
              DrFuji's Avatar
              DrFuji DrFuji is offline

              Heiki Hecchara‌‌

              • Crystal Tier
               
              Join Date: Sep 2009
              Location: Downia-upside
              Age: 24
              Gender: Male
              Nature: Jolly
              Posts: 1,328

              Quote:
              Originally Posted by RetroRoller View Post
              I'll try and update, thanks. I can try it in PKSV in the meantime. I say meantime because trying to get XSE 1.1.1 on here 404'd so yeah -.- I'll try and leave HackMew a VM if he/she (whoever :3) hasn't already ammended the link.

              HackMew hasn't been around for a while so I doubt you would get a response. Just use this link to get the 1.1.1 version.

              Quote:
              Originally Posted by shadowdragon17 View Post
              I'm trying to hack Pokemon Ruby using Advance Map and PokeScript but I'm having some trouble with movement. I know how to set up the script but I can't find the correct offsets. Where can i find them/ could someone list the basic ones (move left, right, up, and down)?

              Here are the movements for R/S/E:

              Spoiler:
              #raw 0x00 = Face Down
              #raw 0x01 = Face Up
              #raw 0x02 = Face Left
              #raw 0x03 = Face Right
              #raw 0x04 = Step Down (Slow)
              #raw 0x05 = Step Up (Slow)
              #raw 0x06 = Step Left (Slow)
              #raw 0x07 = Step Right (Slow)
              #raw 0x08 = Step Down (Normal)
              #raw 0x09 = Step Up (Normal)
              #raw 0x0A = Step Left (Normal)
              #raw 0x0B = Step Right (Normal)
              #raw 0x0C = Jump2 Down
              #raw 0x0D = Jump2 Up
              #raw 0x0E = Jump2 Left
              #raw 0x0F = Jump2 Right
              #raw 0x10 = Delay1
              #raw 0x11 = Delay2
              #raw 0x12 = Delay3
              #raw 0x13 = Delay4
              #raw 0x14 = Delay5
              #raw 0x15 = Step Down (Fast)
              #raw 0x16 = Step Up (Fast)
              #raw 0x17 = Step Left (Fast)
              #raw 0x18 = Step Right (Fast)
              #raw 0x19 = Step on the Spot Down (Slow)
              #raw 0x1A = Step on the Spot Up (Slow)
              #raw 0x1B = Step on the Spot Left (Slow)
              #raw 0x1C = Step on the Spot Right (Slow)
              #raw 0x1D = Step on the Spot Down (Normal)
              #raw 0x1E = Step on the Spot Up (Normal)
              #raw 0x1F = Step on the Spot Left (Normal)
              #raw 0x20 = Step on the Spot Right (Normal)
              #raw 0x21 = Step on the Spot Down (Faster)
              #raw 0x22 = Step on the Spot Up (Faster)
              #raw 0x23 = Step on the Spot Left (Faster)
              #raw 0x24 = Step on the Spot Right (Faster)
              #raw 0x25 = Step on the Spot Down (Fastest)
              #raw 0x26 = Step on the Spot Up (Fastest)
              #raw 0x27 = Step on the Spot Left (Fastest)
              #raw 0x28 = Step on the Spot Right (Fastest)
              #raw 0x29 = Slide Down
              #raw 0x2A = Slide Up
              #raw 0x2B = Slide Left
              #raw 0x2C = Slide Right
              #raw 0x2D = Slide Down
              #raw 0x2E = Slide Up
              #raw 0x2F = Slide Left
              #raw 0x30 = Slide Right
              #raw 0x31 = Slide Down
              #raw 0x32 = Slide Up
              #raw 0x33 = Slide Left
              #raw 0x34 = Slide Right
              #raw 0x35 = Slide Running Down
              #raw 0x36 = Slide Running Up
              #raw 0x37 = Slide Running Left
              #raw 0x38 = Slide Running Right
              #raw 0x3A = Jump Facing Left (Down)
              #raw 0x3B = Jump Facing Down (Up)
              #raw 0x3C = Jump Facing Up (Left)
              #raw 0x3D = Jump Facing Left (Right)
              #raw 0x3E = Face Player
              #raw 0x3F = Face Against Player
              #raw 0x40 = Lock Sprite Facing
              #raw 0x41 = Release Sprite Facing
              #raw 0x42 = Jump Down
              #raw 0x43 = Jump Up
              #raw 0x44 = Jump Left
              #raw 0x45 = Jump Right
              #raw 0x46 = Jump in Place (Facing Down)
              #raw 0x47 = Jump in Place (Facing Up)
              #raw 0x48 = Jump in Place (Facing Left)
              #raw 0x49 = Jump in Place (Facing Right)
              #raw 0x4A = Jump in Place (Facing Down/Up)
              #raw 0x4B = Jump in Place (Facing Up/Down)
              #raw 0x4C = Jump in Place (Facing Left/Right)
              #raw 0x4D = Jump in Place (Facing Right/Left)
              #raw 0x4E = Face Left
              #raw 0x54 = Hide Sprite
              #raw 0x55 = Show Sprite
              #raw 0x56 = Exclamation Mark (!)
              #raw 0x57 = Question Mark (?)
              #raw 0x58 = Love (<3)
              #raw 0x62 = Walk Down
              #raw 0x63 = Walk Down
              #raw 0x64 = Face Down (Delayed)
              #raw 0x65 = Face Up (Delayed)
              #raw 0x66 = Face Left (Delayed)
              #raw 0x67 = Face Right (Delayed)
              #raw 0x70 = Jump in Place (Facing Down)
              #raw 0x71 = Jump in Place (Facing Up)
              #raw 0x72 = Jump in Place (Facing Left)
              #raw 0x73 = Jump in Place (Facing Right)
              #raw 0x74 = Jump Down Running
              #raw 0x75 = Jump Up Running
              #raw 0x76 = Jump Left Running
              #raw 0x77 = Jump Right Running
              #raw 0x78 = Jump2 Down Running
              #raw 0x79 = Jump2 Up Running
              #raw 0x7A = Jump2 Left Running
              #raw 0x7B = Jump2 Right Running
              #raw 0x7C = Walk on the Spot (Down)
              #raw 0x7D = Walk on the Spot (Up)
              #raw 0x7E = Walk on the Spot (Left)
              #raw 0x7F = Walk on the Spot (Right)
              #raw 0x80 = Slide Down Running
              #raw 0x81 = Slide Up Running
              #raw 0x82 = Slide Left Running
              #raw 0x83 = Slide Right Running
              #raw 0x84 = Slide Down
              #raw 0x85 = Slide Up
              #raw 0x86 = Slide Left
              #raw 0x87 = Slide Right
              #raw 0x88 = Slide Down on Left Foot
              #raw 0x89 = Slide Up on Left Foot
              #raw 0x8A = Slide Left on Left Foot
              #raw 0x8B = Slide Right on Left Foot
              #raw 0x8C = Slide Left diagonally (Facing Up)
              #raw 0x8D = Slide Right diagonally (Facing Up)
              #raw 0x8E = Slide Left diagonally (Facing Down)
              #raw 0x8F = Slide Right diagonally (Facing Down)
              #raw 0x90 = Slide2 Left diagonally (Facing Up)
              #raw 0x91 = Slide2 Right diagonally (Facing Up)
              #raw 0x92 = Slide2 Left diagonally (Facing Down)
              #raw 0x93 = Slide2 Right diagonally (Facing Down)
              #raw 0x96 = Walk Left
              #raw 0x97 = Walk Right
              #raw 0x98 = Levitate
              #raw 0x99 = Stop Levitating
              #raw 0x9C = Fly Up Vertically
              #raw 0x9D = Land
              #raw 0xFE = End of Movements

              __________________

                #6633    
              Old March 20th, 2012 (7:08 PM). Edited March 20th, 2012 by Rumille.
              Rumille's Avatar
              Rumille Rumille is offline
                 
                Join Date: Feb 2012
                Gender: Male
                Posts: 72

                Ok, this is frustrating. I'm working on a map that has several actions to complete (Pokéball, Pokédex etc). And I want to make it so that if you walk away before you get your Pokémon you will get MSG A and do Movement A (walk up). That way you can't get away before you have your Pokémon.

                After you have your Pokémon and you walk away, I want to get MSG B and Movement A untill you talk to the only person there so he can tell you to get a Pokédex. If you talked to him and you then walk away before getting the Pokedex, I want to get MSG C and Movement A. If you get the Pokédex and then walk away I want to get MSG D and Movement A. If you then talk to the person again, I want the script to finish and you can walk through without any messages.

                I KNOW how to do it, the only problem is that everytime I fix one part of one of the script, another part seems to **** UP. Either a part of the script becomes something COMPLETELY else or a message becomes random signs.

                It's like the whole thing is a line getting from A to B and along the way are several points. And everytime I straighten one point out, so it becomes a line, another point gets ****ed up and I have to straighten that one out. But if I do that, a different point gets ****ed up. And I keep straightening everything and it keeps getting ****ed up.

                How the **** do I fix this, because it's becoming really frustrating?

                To add: here are the scripts as they SHOULD be, without any lines getting messed up.

                First this one, this will take you to the next map:

                Spoiler:
                Quote:
                '---------------
                #org 0x801185
                lockall
                msgbox 0x8801199 MSG_NORMAL '"JELLE: Hold on!"
                setvar 0x7001 0x3
                call 0x8801039
                '---------------
                #org 0x801039
                compare 0x7001 0x3
                if 0x1 goto 0x8801055
                compare 0x7001 0x1
                if 0x1 goto 0x8801082
                goto 0x88010AF

                '---------------
                #org 0x801055
                applymovement 0x1 0x880112F
                waitmovement 0x0
                applymovement MOVE_PLAYER 0x8801151
                msgbox 0x88013E0 MSG_NORMAL '"JELLE: You need a Pokémon before\n..."
                applymovement 0x1 0x8801154
                applymovement MOVE_PLAYER 0x880116A
                goto 0x88014A5

                '---------------
                #org 0x801082
                applymovement 0x1 0x8801139
                waitmovement 0x0
                applymovement MOVE_PLAYER 0x8801151
                msgbox 0x88013E0 MSG_NORMAL '"JELLE: You need a Pokémon before\n..."
                applymovement 0x1 0x880115A
                applymovement MOVE_PLAYER 0x8801171
                goto 0x88010DC

                '---------------
                #org 0x8010AF
                applymovement 0x1 0x8801145
                waitmovement 0x0
                applymovement MOVE_PLAYER 0x8801151
                msgbox 0x88013E0 MSG_NORMAL '"JELLE: You need a Pokémon before\n..."
                applymovement 0x1 0x8801162
                applymovement MOVE_PLAYER 0x880117A
                goto 0x88010DC

                '---------------
                #org 0x8014A5
                waitmovement 0x0
                setvar 0x7001 0x4
                warp 0x4 0xF 0xFF 0x18 0x2
                hidesprite 0x1
                releaseall
                end

                '---------------
                #org 0x8010DC
                waitmovement 0x0
                setvar 0x7001 0x4
                warp 0x4 0xF 0xFF 0x18 0x2
                hidesprite 0x1
                releaseall
                end

                '---------
                ' Strings
                '---------
                #org 0x801199
                = JELLE: Hold on!

                #org 0x8013E0
                = JELLE: You need a Pokémon before\nyou do anything else. Follow me!

                '-----------
                ' Movements
                '-----------
                #org 0x80112F
                #raw 0x13 'Step Right (Normal)
                #raw 0x13 'Step Right (Normal)
                #raw 0x13 'Step Right (Normal)
                #raw 0x13 'Step Right (Normal)
                #raw 0x13 'Step Right (Normal)
                #raw 0x13 'Step Right (Normal)
                #raw 0xFE 'End of Movements

                #org 0x801151
                #raw 0x2 'Face Left
                #raw 0xFE 'End of Movements

                #org 0x801154
                #raw 0x12 'Step Left (Normal)
                #raw 0x12 'Step Left (Normal)
                #raw 0x12 'Step Left (Normal)
                #raw 0x10 'Step Down (Normal)
                #raw 0xFE 'End of Movements

                #org 0x80116A
                #raw 0x12 'Step Left (Normal)
                #raw 0x12 'Step Left (Normal)
                #raw 0x12 'Step Left (Normal)
                #raw 0x12 'Step Left (Normal)
                #raw 0x10 'Step Down (Normal)
                #raw 0xFE 'End of Movements

                #org 0x801139
                #raw 0x13 'Step Right (Normal)
                #raw 0x13 'Step Right (Normal)
                #raw 0x13 'Step Right (Normal)
                #raw 0x11 'Step Up (Normal)
                #raw 0x13 'Step Right (Normal)
                #raw 0x13 'Step Right (Normal)
                #raw 0x13 'Step Right (Normal)
                #raw 0x13 'Step Right (Normal)
                #raw 0xFE 'End of Movements

                #org 0x80115A
                #raw 0x10 'Step Down (Normal)
                #raw 0x10 'Step Down (Normal)
                #raw 0xFE 'End of Movements

                #org 0x801171
                #raw 0x12 'Step Left (Normal)
                #raw 0x12 'Step Left (Normal)
                #raw 0x12 'Step Left (Normal)
                #raw 0x12 'Step Left (Normal)
                #raw 0x12 'Step Left (Normal)
                #raw 0x10 'Step Down (Normal)
                #raw 0x10 'Step Down (Normal)
                #raw 0xFE 'End of Movements

                #org 0x801145
                #raw 0x13 'Step Right (Normal)
                #raw 0x13 'Step Right (Normal)
                #raw 0x13 'Step Right (Normal)
                #raw 0x13 'Step Right (Normal)
                #raw 0x13 'Step Right (Normal)
                #raw 0x13 'Step Right (Normal)
                #raw 0x13 'Step Right (Normal)
                #raw 0x13 'Step Right (Normal)
                #raw 0xFE 'End of Movements

                #org 0x801162
                #raw 0x12 'Step Left (Normal)
                #raw 0x12 'Step Left (Normal)
                #raw 0x12 'Step Left (Normal)
                #raw 0x12 'Step Left (Normal)
                #raw 0x12 'Step Left (Normal)
                #raw 0x10 'Step Down (Normal)
                #raw 0xFE 'End of Movements

                #org 0x80117A
                #raw 0x12 'Step Left (Normal)
                #raw 0x12 'Step Left (Normal)
                #raw 0x12 'Step Left (Normal)
                #raw 0x12 'Step Left (Normal)
                #raw 0x12 'Step Left (Normal)
                #raw 0x12 'Step Left (Normal)
                #raw 0x10 'Step Down (Normal)
                #raw 0xFE 'End of Movements


                Then you should take a Pokémon, but to prevent you from walking away there is this script. This script also prevents you from walking off before you get your Pokedex (after getting the Pokemon) and after talking to a person for the last time (after getting your Pokedex):
                Spoiler:
                Quote:
                '---------------
                #org 0x8009BC
                lockall
                compare 0x7022 0x0
                if 0x1 goto 0x88013C3
                releaseall
                end

                '---------------
                #org 0x8013C3
                checkflag 0x829
                if 0x1 goto 0x8801ABA
                checkflag 0x1025
                if 0x1 goto 0x88019C8
                checkflag 0x828
                if 0x0 goto 0x88013AF
                msgbox 0x8801BA7 MSG_NORMAL '"JELLE: Wait! I need to tell you\ns..."
                applymovement MOVE_PLAYER 0x8800A61
                waitmovement 0x0
                releaseall
                end

                '---------------
                #org 0x801ABA
                msgbox 0x8801B34 MSG_NORMAL '"JELLE: It's a bit rude to just\nwa..."
                applymovement MOVE_PLAYER 0x8800A61
                waitmovement 0x0
                releaseall
                end

                '---------------
                #org 0x8019C8
                msgbox 0x8801A25 MSG_NORMAL '"JELLE: Hey idiot, you forgot\nyour..."
                applymovement MOVE_PLAYER 0x8800A61
                waitmovement 0x0
                releaseall
                end

                '---------------
                #org 0x8013AF
                msgbox 0x880128B MSG_NORMAL '"JELLE: Where are you going? Come\n..."
                applymovement MOVE_PLAYER 0x8800A61
                waitmovement 0x0
                releaseall
                end

                '---------
                ' Strings
                '---------
                #org 0x801BA7
                = JELLE: Wait! I need to tell you\nsomething else!

                #org 0x801B34
                = JELLE: It's a bit rude to just\nwalk away like that.

                #org 0x801A25
                = JELLE: Hey idiot, you forgot\nyour Pokédex!

                #org 0x80128B
                = JELLE: Where are you going? Come\nback!

                '-----------
                ' Movements
                '-----------
                #org 0x800A61
                #raw 0x1 'Face Up
                #raw 0x11 'Step Up (Normal)
                #raw 0xFE 'End of Movements


                After getting the Pokémon, the previous scripts prevents you from walking away. You need to talk to someone. This is the script for that someone.

                Spoiler:
                Quote:
                '---------------
                #org 0x8017B1
                lockall
                checkflag 0x829
                if 0x1 goto 0x88017E6
                checkflag 0x828
                if 0x0 goto 0x88017CB
                if 0x1 goto 0x88017D7
                '---------------
                #org 0x8017E6
                faceplayer
                msgbox 0x880194E MSG_NORMAL '"You have your first Pokémon and\ny..."
                setvar 0x7022 0x1

                '---------------
                #org 0x8017CB
                faceplayer
                msgbox 0x88017F2 MSG_NORMAL '"Well? Where are you waiting for?\n..."
                releaseall
                end

                '---------------
                #org 0x8017D7
                setflag 0x1025
                faceplayer
                msgbox 0x88018A3 MSG_NORMAL '"Besides the Pokéballs, there is\na..."
                releaseall
                end

                '---------
                ' Strings
                '---------
                #org 0x80194E
                = You have your first Pokémon and\nyour Pokédex. There is nothing\lmore to tell you, so beat it,\lscram, get out of my house!

                #org 0x8017F2
                = Well? Where are you waiting for?\nGet your Pokémon!

                #org 0x8018A3
                = Besides the Pokéballs, there is\nalso a device lying on the table.\lThat device is a Pokédex. I'm not\lgoing to tell you what it is,\lbecause you already know. Go, take\lit.


                This person tells you to get the Pokédex, which has the following script:
                Spoiler:
                Quote:
                '---------------
                #org 0x801641
                lockall
                checkflag 0x1025
                if 0x1 goto 0x88019DC
                msgbox 0x8801A5D MSG_NORMAL '"It's like an encyclopedia, but the..."
                releaseall
                end

                '---------------
                #org 0x8019DC
                setflag 0x829
                hidesprite 0x5
                setflag 0x1025
                msgbox 0x8801ACE MSG_NORMAL '"You got a Pokédex!"
                releaseall
                end

                '---------
                ' Strings
                '---------
                #org 0x801A5D
                = It's like an encyclopedia, but the\npages are blank.

                #org 0x801ACE
                = You got a Pokédex!

                The following things get messed up:
                In the first script:

                Quote:
                #org 0x8013E0
                = JELLE: You need a Pokémon before\nyou do anything else. Follow me!
                becomes random signs.
                In the second script:
                Quote:
                msgbox 0x8801BA7 MSG_NORMAL '"JELLE: Wait! I need to tell you\ns..."
                applymovement MOVE_PLAYER 0x8800A61
                waitmovement 0x0
                releaseall
                end
                dissapears and becomes the word 'nop'
                In the third script
                Quote:
                msgbox 0x880194E MSG_NORMAL '"You have your first Pokémon and\ny..."
                setvar 0x7022 0x1
                the setvar 0x7022 0x1 command changes into setvar 0x7022 0xD9D1, strange enough.
                In the last script
                Quote:
                #org 0x8019DC
                setflag 0x829
                hidesprite 0x5
                setflag 0x1025
                msgbox 0x8801ACE MSG_NORMAL '"You got a Pokédex!"
                releaseall
                end
                just becomes nonsense.

                  #6634    
                Old March 20th, 2012 (8:10 PM).
                PokeYaeesh PokeYaeesh is offline
                   
                  Join Date: Dec 2009
                  Gender: Female
                  Posts: 4

                  This has been something, I've been wondering for quite a while... Is it possible to script a "give nationaldex" earlier? If so, how. I'm not requesting a script.. I'm asking HOW!

                    #6635    
                  Old March 20th, 2012 (8:25 PM).
                  Death_Mande's Avatar
                  Death_Mande Death_Mande is offline
                  Avenged Sevenfold.
                     
                    Join Date: Jul 2007
                    Location: The Island of Enchantment.
                    Age: 23
                    Gender: Male
                    Nature: Modest
                    Posts: 196

                    Quote:
                    Originally Posted by PokeYaeesh View Post
                    This has been something, I've been wondering for quite a while... Is it possible to script a "give nationaldex" earlier? If so, how. I'm not requesting a script.. I'm asking HOW!

                    I'm not sure what you actually mean by "give", but here's the special that activates the national dex in Fire Red/Leaf Green:

                    special 0x16F

                    __________________

                    Endless sorrow.

                      #6636    
                    Old March 20th, 2012 (9:48 PM). Edited March 20th, 2012 by PokeYaeesh.
                    PokeYaeesh PokeYaeesh is offline
                       
                      Join Date: Dec 2009
                      Gender: Female
                      Posts: 4

                      Quote:
                      Originally Posted by Death_Mande View Post
                      I'm not sure what you actually mean by "give", but here's the special that activates the national dex in Fire Red/Leaf Green:

                      special 0x16F

                      thanks :D

                      and yes, that's what I meant by "give".

                      One more question:

                      How do I make someone walk inside during an event.

                      What I'm trying to do is to make a 3rd person walk in when Prof. Oak is giving the pokedex to me and gary. How do I make the "!" appear over the head? How do I make his come in?

                        #6637    
                      Old March 20th, 2012 (10:46 PM). Edited March 21st, 2012 by fatmanjumprope.
                      fatmanjumprope's Avatar
                      fatmanjumprope fatmanjumprope is offline
                      黒雷 神 エネル
                         
                        Join Date: Nov 2010
                        Location: The Grand Line
                        Age: 24
                        Gender: Male
                        Nature: Serious
                        Posts: 20

                        Spoiler:

                        #dyn 0x740000
                        #org @begin
                        trainerbattle 0x0 0x15F 0x0 @intro @defeat
                        msgbox @afterwards
                        callstd msg_normal
                        end
                        #org @intro
                        = Message

                        #org @defeat
                        = Message

                        #org @afterwards
                        = Message

                        #org $further
                        message $beaten
                        boxset 0x6
                        fadescreen
                        hidesprite 0x49
                        release
                        end

                        Above is the script I've been working/messing with. I've been trying to make a Team Rocket script where the guy guarding the front elevator (the one this specific script is assigned to) will disappear after being defeated so you can advance deeper into the building via different floors. I've searched through the tutorial section and through random videos but the information I do find doesn't really make sense to me D:

                        The script works up to the end of the battle then the Rocket grunt just sits there like a normal trainer script. If any of you fine ladies or gents could give me a hand/some assistance by telling me what I'm doing wrong or what I need to change I would really appreciate it

                        My goal:
                        Talk to Team Rocket Grunt
                        Grunt says message
                        battle starts
                        after battle (if you win) grunt says another message
                        screen fades
                        the grunt disappears forever and never comes back.

                        __________________

                          #6638    
                        Old March 21st, 2012 (1:04 AM). Edited March 21st, 2012 by DrFuji.
                        DrFuji's Avatar
                        DrFuji DrFuji is offline

                        Heiki Hecchara‌‌

                        • Crystal Tier
                         
                        Join Date: Sep 2009
                        Location: Downia-upside
                        Age: 24
                        Gender: Male
                        Nature: Jolly
                        Posts: 1,328

                        Quote:
                        Originally Posted by Rumille View Post
                        Ok, this is frustrating. I'm working on a map that has several actions to complete (Pokéball, Pokédex etc). And I want to make it so that if you walk away before you get your Pokémon you will get MSG A and do Movement A (walk up). That way you can't get away before you have your Pokémon.

                        After you have your Pokémon and you walk away, I want to get MSG B and Movement A untill you talk to the only person there so he can tell you to get a Pokédex. If you talked to him and you then walk away before getting the Pokedex, I want to get MSG C and Movement A. If you get the Pokédex and then walk away I want to get MSG D and Movement A. If you then talk to the person again, I want the script to finish and you can walk through without any messages.

                        I KNOW how to do it, the only problem is that everytime I fix one part of one of the script, another part seems to **** UP. Either a part of the script becomes something COMPLETELY else or a message becomes random signs.

                        It's like the whole thing is a line getting from A to B and along the way are several points. And everytime I straighten one point out, so it becomes a line, another point gets ****ed up and I have to straighten that one out. But if I do that, a different point gets ****ed up. And I keep straightening everything and it keeps getting ****ed up.

                        How the **** do I fix this, because it's becoming really frustrating?

                        To add: here are the scripts as they SHOULD be, without any lines getting messed up.

                        First this one, this will take you to the next map:

                        Then you should take a Pokémon, but to prevent you from walking away there is this script. This script also prevents you from walking off before you get your Pokedex (after getting the Pokemon) and after talking to a person for the last time (after getting your Pokedex):

                        After getting the Pokémon, the previous scripts prevents you from walking away. You need to talk to someone. This is the script for that someone.


                        This person tells you to get the Pokédex, which has the following script:

                        The following things get messed up:
                        In the first script:

                        becomes random signs.
                        In the second script:

                        dissapears and becomes the word 'nop'
                        In the third script

                        the setvar 0x7022 0x1 command changes into setvar 0x7022 0xD9D1, strange enough.
                        In the last script

                        just becomes nonsense.

                        After inserting the scripts into your ROM, are you opening them through Advance Map and trying to edit them from there? That's what I believe you are doing, which isn't good practice and is the reason why your commands are becoming garbled.

                        You need to have dynamic pointers (@talk, @move etc.) rather than static pointers (0x8801199, 0x880115A etc.) which you receive when you open a script from Advance Map. If you are working with static pointers, like you have shown by posting your scripts here straight from being opened in Advance Map, then you can't make them longer at all - This is because XSE will automatically overwrite what ever data you have at the address that you have specified with static pointers. Here is an example of what I'm talking about:

                        Code:
                        #org 0x80004E
                        lockall
                        applymovement 0x1 0x8800064
                        waitmovement 0x1
                        msgbox 0x8800067 0x2
                        releaseall
                        end

                        #org 0x800064 #raw 0x11 #raw 0xFE

                        #org 0x800067 = Hello world!

                        In this script I have opened from Advance Map and cleaned up a little you see that I am using static pointers that tell me what offset parts of the script are assigned to. If I suddenly realised that the OW I'm moving needs to step upwards three more times and subsequently added three more 'raw 0x11's to his movements and then compiled the script again, this is what it would look like once I reload it:

                        Code:
                        #org 0x80004E
                        lockall
                        applymovement 0x1 0x8800064
                        waitmovement 0x1
                        msgbox 0x8800067 0x2
                        releaseall
                        end

                        #org 0x800064 #raw 0x11 #raw 0x11 #raw 0x11 #raw 0x11 #raw 0xFE

                        #org 0x800067 = Ù\nllo world!

                        As you can see, the text in the message box has now been corrupted and is unusable, as the extra movement data that I added has overwritten three bytes of what was otherwise perfectly legible text. This is the problem with static offsets, you can't add any data that would otherwise expand the size of your script. It is good for quickly altering small things like changing values, variables used and stuff that won't lengthen your script, but it is otherwise improper for everyday XSE use.

                        Once you've finished writing a new script (with dynamic pointers, not static pointers from Advance Map), I would advise saving it as a .rbc file, which is as easy as going to 'File > Save As' and saving your script as you would any other program. This way you can open up your script in the future with your dynamic pointers already in place and reinsert it again if you need to lengthen it.

                        Quote:
                        Originally Posted by PokeYaeesh View Post
                        thanks :D

                        and yes, that's what I meant by "give".

                        One more question:

                        How do I make someone walk inside during an event.

                        What I'm trying to do is to make a 3rd person walk in when Prof. Oak is giving the pokedex to me and gary. How do I make the "!" appear over the head? How do I make his come in?

                        You can make an exclamation mark appear over somebody's head in FR/LG by typing 'raw 0x62' into their movements.

                        Quote:
                        Originally Posted by fatmanjumprope View Post
                        Spoiler:

                        #dyn 0x740000
                        #org @begin
                        trainerbattle 0x0 0x15F 0x0 @intro @defeat
                        msgbox @afterwards
                        callstd msg_normal
                        end
                        #org @intro
                        = Message

                        #org @defeat
                        = Message

                        #org @afterwards
                        = Message

                        #org $further
                        message $beaten
                        boxset 0x6
                        fadescreen
                        hidesprite 0x49
                        release
                        end

                        Above is the script I've been working/messing with. I've been trying to make a Team Rocket script where the guy guarding the front elevator (the one this specific script is assigned to) will disappear after being defeated so you can advance deeper into the building via different floors. I've searched through the tutorial section and through random videos but the information I do find doesn't really make sense to me D:

                        The script works up to the end of the battle then the Rocket grunt just sits there like a normal trainer script. If any of you fine ladies or gents could give me a hand/some assistance by telling me what I'm doing wrong or what I need to change I would really appreciate it :)

                        My goal:
                        Talk to Team Rocket Grunt
                        Grunt says message
                        battle starts
                        after battle (if you win) grunt says another message
                        screen fades
                        the grunt disappears forever and never comes back.

                        In generic trainerbattle scripts, the script ends once you have finished the battle. For a script to continue after you have won, you need to use the trainerbattle type 0x1 rather than 0x0 like you are using now. 0x1 typed trainer battles also need an extra pointer added so the script knows where to continue once the battle is over. Here is what your script should look like if you want it to function like you want:

                        Code:
                        #dyn 0x740000
                        #org @begin
                        trainerbattle 0x1 0x15F 0x0 @intro @defeat @later // The battle is now 0x1 typed and the [email protected]' pointer tells the ROM where to continue once the battle is over

                        #org @intro = Message

                        #org @defeat = Message

                        #org @afterwards = Message

                        #org @later message @afterwards // I made this message use the 'afterwards' pointer as it wasn't going to be used anywhere else boxset 0x6 fadescreen hidesprite 0x800F // Variable 0x800F will affect the last person you talked to, so if you ever change the grunt's 'Event Number' you won't have to alter this script setflag 0xYYY // More on this later release end

                        You will also have to set a flag during your script if you want the grunt to disappear forever. Chose the flag you want to use, edit it into the script and then put it in the OW's 'Person ID'.

                        __________________

                          #6639    
                        Old March 21st, 2012 (2:15 PM).
                        Epitaph93's Avatar
                        Epitaph93 Epitaph93 is offline
                        Intermediate Digidestined
                           
                          Join Date: Oct 2011
                          Location: Texas
                          Age: 24
                          Gender: Male
                          Nature: Calm
                          Posts: 119

                          I want to make a gender check of the first pokemon in the party. I found where the party offset is: 0x02024284, then from there found the gender of the first pokemon in the party: 0x02024289. I made the following routine to load the information into a temporary variable:

                          Code:
                          .text
                          .align 2
                          .thumb
                          .thumb_func
                          .global gendercheck1

                          main: push {r0-r1, lr} ldr r0, .FIRSTDIGIMON_GENDER ldr r0, [r0] ldr r1, .VAR ldrb r0, [r0, #0x5] strh r0, [r1] pop {r0-r1, pc}

                          .align 2 .FIRSTDIGIMON_GENDER: .word 0x02024284 .VAR: .word 0x020270B6 + (0x800D * 2)

                          This is my first routine, and I've only been at this for a few hours so I figured the problem lies in the routine. However, I made a script in XSE to call the routine to check if the gender data was greater than or equal to 20. The rest of the script is pretty self explanatory

                          Code:
                          #dynamic 0x800000

                          #org @start callasm 0x852828 compare lastresult 0x20 if 0x4 goto @girl if 0x0 goto @boy end

                          #org @girl msgbox @gender2 0x2 end

                          #org @boy msgbox @gender 0x2 end

                          #org @gender = You're digimon is a boy!

                          #org @gender2 = You're digimon is a girl!

                          I know the gender information is different for all pokemon, but this is only a test to see if the routine actually works. It didn't work, it simply restarted the rom. Like I said, I'm pretty sure the problem lies in the routine.

                          __________________

                          I'm Epitaph and I plan on releasing the first full-fledged Digimon hack of Pokemon Fire Red. We're getting close to the first release so come check it out in the Progressing hacks, and see how you can help us with the project.

                            #6640    
                          Old March 21st, 2012 (4:49 PM).
                          Death_Mande's Avatar
                          Death_Mande Death_Mande is offline
                          Avenged Sevenfold.
                             
                            Join Date: Jul 2007
                            Location: The Island of Enchantment.
                            Age: 23
                            Gender: Male
                            Nature: Modest
                            Posts: 196

                            Quote:
                            Originally Posted by PokeYaeesh View Post
                            thanks :D

                            and yes, that's what I meant by "give".

                            One more question:

                            How do I make someone walk inside during an event.

                            What I'm trying to do is to make a 3rd person walk in when Prof. Oak is giving the pokedex to me and gary. How do I make the "!" appear over the head? How do I make his come in?

                            As DrFuji said, you could add #raw 0x62 to the hero/heroine's movements before the third guy walks in. #raw 0x11, If I'm not mistaken, will make the third guy move. An example of that would be:

                            Spoiler:

                            applymovement 0x(Person Event No. of the sprite you'd like to move) @thirdguy
                            applymovement 0xFF @hero

                            #org @thirdguy
                            #raw 0x11 [repeat as necessary; moves the sprite up]
                            #raw 0xFE [ends movements]

                            #org @hero
                            #raw 0x62 [exclamation mark]
                            #raw 0xFE

                            To learn how to create the movement script itself, I suggest reading this XSE tutorial. If you require any more help, feel free to post here again or PM me. Hope this helps you.

                            __________________

                            Endless sorrow.

                              #6641    
                            Old March 21st, 2012 (5:59 PM). Edited March 21st, 2012 by fatmanjumprope.
                            fatmanjumprope's Avatar
                            fatmanjumprope fatmanjumprope is offline
                            黒雷 神 エネル
                               
                              Join Date: Nov 2010
                              Location: The Grand Line
                              Age: 24
                              Gender: Male
                              Nature: Serious
                              Posts: 20

                              Quote:
                              Originally Posted by DrFuji View Post
                              In generic trainerbattle scripts, the script ends once you have finished the battle. For a script to continue after you have won, you need to use the trainerbattle type 0x1 rather than 0x0 like you are using now. 0x1 typed trainer battles also need an extra pointer added so the script knows where to continue once the battle is over. Here is what your script should look like if you want it to function like you want:

                              Code:
                              #dyn 0x740000
                              #org @begin
                              trainerbattle 0x1 0x15F 0x0 @intro @defeat @later // The battle is now 0x1 typed and the [email protected]' pointer tells the ROM where to continue once the battle is over

                              #org @intro = Message

                              #org @defeat = Message

                              #org @afterwards = Message

                              #org @later message @afterwards // I made this message use the 'afterwards' pointer as it wasn't going to be used anywhere else boxset 0x6 fadescreen hidesprite 0x800F // Variable 0x800F will affect the last person you talked to, so if you ever change the grunt's 'Event Number' you won't have to alter this script setflag 0xYYY // More on this later release end

                              You will also have to set a flag during your script if you want the grunt to disappear forever. Chose the flag you want to use, edit it into the script and then put it in the OW's 'Person ID'.

                              Sorry to bother you again D: after reading your message this is what I got from it all:

                              Spoiler:

                              #dyn 0x740000
                              #org @begin
                              trainerbattle 0x1 0x15F 0x0 @intro @defeat @later

                              #org @intro
                              = hi

                              #org @defeat
                              = hi

                              #org @afterwards
                              = hi

                              #org @later
                              message @afterwards
                              boxset 0x6
                              fadescreen
                              hidesprite 0x800F
                              setflag 0x01FE
                              release
                              end

                              I read what you wrote about the flag. After searching a little I decided to use a flag marked as "unused" so I put it in, made the changes, and compiled the script. After I finished assigning the script to the rocket member I went to test the game.

                              As soon as I talk to the sprite the screen goes black and a bunch of random green colors start flashing and the game crashes. Again I apologize for my stupidity in figuring this out but if you could yet again give me a hand by telling me what I did wrong I would appreciate it. Thanks

                              -fats-

                              __________________

                                #6642    
                              Old March 21st, 2012 (7:25 PM).
                              Death_Mande's Avatar
                              Death_Mande Death_Mande is offline
                              Avenged Sevenfold.
                                 
                                Join Date: Jul 2007
                                Location: The Island of Enchantment.
                                Age: 23
                                Gender: Male
                                Nature: Modest
                                Posts: 196

                                Quote:
                                Originally Posted by fatmanjumprope View Post
                                Sorry to bother you again D: after reading your message this is what I got from it all:

                                Spoiler:

                                #dyn 0x740000
                                #org @begin
                                trainerbattle 0x1 0x15F 0x0 @intro @defeat @later

                                #org @intro
                                = hi

                                #org @defeat
                                = hi

                                #org @afterwards
                                = hi

                                #org @later
                                message @afterwards
                                boxset 0x6
                                fadescreen
                                hidesprite 0x800F
                                setflag 0x01FE
                                release
                                end

                                I read what you wrote about the flag. After searching a little I decided to use a flag marked as "unused" so I put it in, made the changes, and compiled the script. After I finished assigning the script to the rocket member I went to test the game.

                                As soon as I talk to the sprite the screen goes black and a bunch of random green colors start flashing and the game crashes. Again I apologize for my stupidity in figuring this out but if you could yet again give me a hand by telling me what I did wrong I would appreciate it. Thanks

                                -fats-

                                My apologies for "butting in", but I noticed that:

                                #dyn 0x740000
                                #org @begin
                                trainerbattle 0x1 0x15F 0x0 @intro @defeat @later

                                Doesn't contain the following:

                                Code:
                                #dyn 0x740000
                                #org @begin
                                lock
                                faceplayer
                                checkflag 0x[your flag of choice]
                                if 0x1 goto @yourstring
                                [you could insert a msgbox, perhaps?]
                                trainerbattle 0x1 0x15F 0x0 @intro @defeat @later
                                end

                                Try adding that to the script and see if it works properly.

                                __________________

                                Endless sorrow.

                                  #6643    
                                Old March 21st, 2012 (7:53 PM).
                                fatmanjumprope's Avatar
                                fatmanjumprope fatmanjumprope is offline
                                黒雷 神 エネル
                                   
                                  Join Date: Nov 2010
                                  Location: The Grand Line
                                  Age: 24
                                  Gender: Male
                                  Nature: Serious
                                  Posts: 20

                                  Quote:
                                  Originally Posted by Death_Mande View Post
                                  My apologies for "butting in", but I noticed that:

                                  #dyn 0x740000
                                  #org @begin
                                  trainerbattle 0x1 0x15F 0x0 @intro @defeat @later

                                  Doesn't contain the following:

                                  Code:
                                  #dyn 0x740000
                                  #org @begin
                                  lock
                                  faceplayer
                                  checkflag 0x[your flag of choice]
                                  if 0x1 goto @yourstring
                                  [you could insert a msgbox, perhaps?]
                                  trainerbattle 0x1 0x15F 0x0 @intro @defeat @later
                                  end
                                  Try adding that to the script and see if it works properly.

                                  No please feel free! Any help is very appreciated.

                                  If you haven't already noticed I'm new to scripting... I've worked with mapping and tiles in the past but just recently moved to scripts so please bare with me here.

                                  This is what I've come up with after reading your post.

                                  Spoiler:

                                  #dyn 0x740000
                                  #org @begin
                                  lock
                                  faceplayer
                                  checkflag 0x01FE
                                  if 0x1 goto @afterward
                                  trainerbattle 0x1 0x15F 0x0 @intro @defeat @later
                                  end

                                  #org @intro
                                  = hi

                                  #org @defeat
                                  = hi

                                  #org @afterwards
                                  = hi

                                  #org @later
                                  message @afterwards
                                  boxset 0x6
                                  fadescreen
                                  hidesprite 0x800F
                                  setflag 0x01FE
                                  release
                                  end

                                  Unfortunately this script comes up with the same black screen crash issue Also after running this script I've come up with a new issue which is the sprite the script is assigned to disappearing when the game is ran. I'm guessing this is part of the remove sprite going wrong somewhere in my script.

                                  __________________

                                    #6644    
                                  Old March 21st, 2012 (9:31 PM).
                                  Death_Mande's Avatar
                                  Death_Mande Death_Mande is offline
                                  Avenged Sevenfold.
                                     
                                    Join Date: Jul 2007
                                    Location: The Island of Enchantment.
                                    Age: 23
                                    Gender: Male
                                    Nature: Modest
                                    Posts: 196

                                    Quote:
                                    Originally Posted by fatmanjumprope View Post
                                    No please feel free! Any help is very appreciated.

                                    If you haven't already noticed I'm new to scripting... I've worked with mapping and tiles in the past but just recently moved to scripts so please bare with me here.

                                    This is what I've come up with after reading your post.

                                    Spoiler:

                                    #dyn 0x740000
                                    #org @begin
                                    lock
                                    faceplayer
                                    checkflag 0x01FE
                                    if 0x1 goto @afterward
                                    trainerbattle 0x1 0x15F 0x0 @intro @defeat @later
                                    end

                                    #org @intro
                                    = hi

                                    #org @defeat
                                    = hi

                                    #org @afterwards
                                    = hi

                                    #org @later
                                    message @afterwards
                                    boxset 0x6
                                    fadescreen
                                    hidesprite 0x800F
                                    setflag 0x01FE
                                    release
                                    end

                                    Unfortunately this script comes up with the same black screen crash issue Also after running this script I've come up with a new issue which is the sprite the script is assigned to disappearing when the game is ran. I'm guessing this is part of the remove sprite going wrong somewhere in my script.

                                    I have revised your script, and tested it on my ROM. It worked fine, here's the script:

                                    Spoiler:
                                    #dynamic 0x800000

                                    #org @begin
                                    lock
                                    faceplayer
                                    checkflag 0x1FE
                                    if 0x1 goto @done
                                    trainerbattle 0x1 0x15F 0x0 @intro @defeat @later
                                    end

                                    #org @intro
                                    = hi

                                    #org @defeat
                                    = goodbye

                                    #org @afterwards
                                    = lost

                                    #org @beforeleaving
                                    = We will meet again!

                                    #org @later
                                    msgbox @afterwards 0x6
                                    setflag 0x1FE
                                    release
                                    end

                                    #org @done
                                    lock
                                    faceplayer
                                    msgbox @beforeleaving 0x6
                                    setflag 0x1F4
                                    release
                                    end

                                    Did you check "Trainer?" in A-Map on the grunt's sprite? If you did, that was the cause of your black/red screen. As DrFuji explained to you earlier, hidesprite 0x800F hides the last sprite you interacted with. With this script, you simply set your grunt's Person ID to 01F4 or any other unused flag.

                                    The Person ID section can be found under the "Script Offset:" box in Advance Map. I have modified your script a bit. You may have to leave the map and come back for him to be permanently gone. If you don't understand a certain part of the script or if you're still having a bug, please let me know! I hope this helps you!

                                    EDIT: Also, if you find my "typing" pattern funny, I'm sorry! It's 1am where I live and I have a migrane headache XD! Can't think straight!

                                    __________________

                                    Endless sorrow.

                                      #6645    
                                    Old March 22nd, 2012 (8:52 AM).
                                    Mana's Avatar
                                    Mana Mana is offline
                                    • Platinum Tier
                                     
                                    Join Date: Jan 2009
                                    Location: UK
                                    Gender: Female
                                    Posts: 10,008

                                    Quote:
                                    Originally Posted by fatmanjumprope View Post
                                    Unfortunately this script comes up with the same black screen crash issue Also after running this script I've come up with a new issue which is the sprite the script is assigned to disappearing when the game is ran. I'm guessing this is part of the remove sprite going wrong somewhere in my script.

                                    If the sprite isn't showing at all that means that the Flag is already set in game, try using a flag such as 0x800 (and changing the ID to 800). Generally flags over 800 aren't used by the game and so are definitely safe to us.

                                      #6646    
                                    Old March 22nd, 2012 (1:50 PM).
                                    pokemaniaco pokemaniaco is offline
                                       
                                      Join Date: Jun 2006
                                      Gender:
                                      Nature: Adamant
                                      Posts: 30

                                      Hi everybody!
                                      I'm sorry but I'm a noob here and I don't know where to post this question:

                                      I'm using Advancemap and pksv as script editor.
                                      I've made so far 3 talking scripts (using script generator of pksv) on the same map, and they work perfectly.
                                      But when I create a 4th talking script on the same map, the person with that script only says the 2nd or 3rd script.
                                      What it's happening and how should I correct this?
                                      Thank you so much in advance for your answer.
                                      Best regards,
                                      Pokemaniaco :P

                                        #6647    
                                      Old March 22nd, 2012 (7:32 PM).
                                      DrFuji's Avatar
                                      DrFuji DrFuji is offline

                                      Heiki Hecchara‌‌

                                      • Crystal Tier
                                       
                                      Join Date: Sep 2009
                                      Location: Downia-upside
                                      Age: 24
                                      Gender: Male
                                      Nature: Jolly
                                      Posts: 1,328

                                      Quote:
                                      Originally Posted by pokemaniaco View Post
                                      Hi everybody!
                                      I'm sorry but I'm a noob here and I don't know where to post this question:

                                      I'm using Advancemap and pksv as script editor.
                                      I've made so far 3 talking scripts (using script generator of pksv) on the same map, and they work perfectly.
                                      But when I create a 4th talking script on the same map, the person with that script only says the 2nd or 3rd script.
                                      What it's happening and how should I correct this?
                                      Thank you so much in advance for your answer.
                                      Best regards,
                                      Pokemaniaco :P

                                      It sounds like the 4th person event you've created is sharing the same 'Person Event Number' as somebody else on that map. Check if it is the same as anybody else's and then change it to an unused number if that is the case.

                                      __________________

                                        #6648    
                                      Old March 23rd, 2012 (12:38 AM).
                                      jhay21's Avatar
                                      jhay21 jhay21 is offline
                                         
                                        Join Date: Jan 2010
                                        Nature: Timid
                                        Posts: 21

                                        Quote:
                                        Originally Posted by Epitaph93 View Post
                                        I want to make a gender check of the first pokemon in the party. I found where the party offset is: 0x02024284, then from there found the gender of the first pokemon in the party: 0x02024289. I made the following routine to load the information into a temporary variable:

                                        Code:
                                        .text
                                        .align 2
                                        .thumb
                                        .thumb_func
                                        .global gendercheck1

                                        main: push {r0-r1, lr} ldr r0, .FIRSTDIGIMON_GENDER ldr r0, [r0] ldr r1, .VAR ldrb r0, [r0, #0x5] strh r0, [r1] pop {r0-r1, pc}

                                        .align 2 .FIRSTDIGIMON_GENDER: .word 0x02024284 .VAR: .word 0x020270B6 + (0x800D * 2)

                                        This is my first routine, and I've only been at this for a few hours so I figured the problem lies in the routine. However, I made a script in XSE to call the routine to check if the gender data was greater than or equal to 20. The rest of the script is pretty self explanatory

                                        Code:
                                        #dynamic 0x800000

                                        #org @start callasm 0x852828 compare lastresult 0x20 if 0x4 goto @girl if 0x0 goto @boy end

                                        #org @girl msgbox @gender2 0x2 end

                                        #org @boy msgbox @gender 0x2 end

                                        #org @gender = You're digimon is a boy!

                                        #org @gender2 = You're digimon is a girl!

                                        I know the gender information is different for all pokemon, but this is only a test to see if the routine actually works. It didn't work, it simply restarted the rom. Like I said, I'm pretty sure the problem lies in the routine.

                                        well from what i read here http://bulbapedia.bulbagarden.net/wiki/Personality_value

                                        gender is part of the pokemon's personality value, wouldn't it be somewhere on the first 4 byte?

                                        here's how i understand it at least(im not totally sure but here goes):
                                        lets say my bulbasaur in my FR save has a personality value of C5CA4F52 which is 11000101110010100100111101010010 in binary. the lowest byte which is 01010010 (82) determines its Pgender value you then compare this value to the gender threshold of bulbasaur(look at YAPE) which is 31 if its greater or equal than the threshold value it is a male otherwise it is a female.

                                        but before all that you need to perform a check for 100% male/females and genderless just to be safe
                                        please someone correct me if im wrong >.<

                                          #6649    
                                        Old March 23rd, 2012 (2:13 PM).
                                        Epitaph93's Avatar
                                        Epitaph93 Epitaph93 is offline
                                        Intermediate Digidestined
                                           
                                          Join Date: Oct 2011
                                          Location: Texas
                                          Age: 24
                                          Gender: Male
                                          Nature: Calm
                                          Posts: 119

                                          Quote:
                                          Originally Posted by jhay21 View Post
                                          well from what i read here http://bulbapedia.bulbagarden.net/wiki/Personality_value

                                          gender is part of the pokemon's personality value, wouldn't it be somewhere on the first 4 byte?

                                          here's how i understand it at least(im not totally sure but here goes):
                                          lets say my bulbasaur in my FR save has a personality value of C5CA4F52 which is 11000101110010100100111101010010 in binary. the lowest byte which is 01010010 (82) determines its Pgender value you then compare this value to the gender threshold of bulbasaur(look at YAPE) which is 31 if its greater or equal than the threshold value it is a male otherwise it is a female.

                                          but before all that you need to perform a check for 100% male/females and genderless just to be safe
                                          please someone correct me if im wrong >.<

                                          Hmm for some reason I thought it was set to the 6th byte... Okay, so the value isn't actually set to a particular byte. Instead, it's set to the lowest byte. So in this example : FC6A446D 44 would be the gender byte?

                                          The routine still shouldn't have made the game crash though right? It should return a value of some sort and the value will either be greater than 20 or less than 20, regardless of whether the particular value is the gender value. So I still need to figure out the problem with the routine itself.

                                          __________________

                                          I'm Epitaph and I plan on releasing the first full-fledged Digimon hack of Pokemon Fire Red. We're getting close to the first release so come check it out in the Progressing hacks, and see how you can help us with the project.

                                            #6650    
                                          Old March 23rd, 2012 (3:20 PM).
                                          YouListeningROMs's Avatar
                                          YouListeningROMs YouListeningROMs is offline
                                             
                                            Join Date: Mar 2012
                                            Gender: Male
                                            Posts: 24

                                            Okay, so I want the Rival who you just battled for the first time, walk up three steps, left three steps, stop, and turn. I want the player to watch him go, but I don't know how I'd arrange the whole "Follow him with your eyes" sort of thing. Any help?

                                            Closed Thread
                                            Quick Reply

                                            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 6:20 PM.