The PokéCommunity Forums Fan Games ROM Hacking
[ARCHIVE] Simple Questions (SEARCH BEFORE ASKING A QUESTION)

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
  #21726    
Old July 6th, 2012 (9:47 AM). Edited July 6th, 2012 by Nara567.
Nara567's Avatar
Nara567 Nara567 is offline
     
    Join Date: Dec 2010
    Gender: Male
    Nature: Careful
    Posts: 34
    Quote:
    Originally Posted by redriders180 View Post
    The image-before-you-enter type things are all based on names. If you never modified any names, for example, naming the Tanoby Ruins something else, or changed the name of any places, then it's most likely something in the display table has been overwritten. But it seems unlikely that only a few bytes would have been overwritten. I don't know what you have and haven't changed, but I'd compare your ROM to a clean Firered one, and compare locations of names and names used. I'm assuming, since Four Island already exists in-game, that you just used it's name, instead of renaming another name "Four Island"

    For pedometer-type scripts, a peek in the manual will show you how to use built-in pedometers (there's five), or even a timer if you wanted some added realism. If you don't want to deal with that, make a script that first sets the variable to zero, then increments it by one every time you take a step. In the script, check if the variable equals 500, if it does, display the *ding* and warp out, otherwise, just continue on.

    If you wanted to do that, you'll need to use alot of checkgender commands, but aside from that, it's very easy. The only thing that can't be conventionally done is flying to two different locations, depending on boy or girl.
    Ah, alright, I see what I did. I overwrote a chamber; I didn't think those were connected to the images. Thanks.

    Alright, I'm looking at it and I still don't quite understand how to set the number of steps before an event happens. Would I use compare 0x8004 0x1F4? Relatively new to scripting, sorry if this is obvious.

    They flying shouldn't be a problem for me. Where would I put the script?

    Additionally, I'm trying to replace the Hoppip line with the Piplup line. When inserting Piplup's sprite, all goes well. However, when I try to insert Prinplup's or Empoleon's sprite, it tells me that the file is too large, so I repoint it. unLZ tells me that it repointed, but if I go to a different sprite and back, the result is Skiploom/Jumpluff with Prinplup's/Empoleon's palette. I'm assuming the sprite didn't repoint correctly, but I don't know how to fix this. All the tutorials I've read tell me to do the same thing, but I get the same result.

    Relevant Advertising!

      #21727    
    Old July 6th, 2012 (9:58 AM).
    supernova651 supernova651 is offline
       
      Join Date: Feb 2012
      Gender: Male
      Posts: 5
      Hello, I'm trying to write a script for pokemon ruby that does the following

      1. stores the pokemon from my party so they can be recalled later.
      2. removes my party
      3. put in a new party
      4. After a battle stores new party in a variable
      5. remove new party and put in old party.

      I would just like to know what code would I use to store, remove and re add my party? Is it a special (such as special 0xF5 or 0xEE(battle tower)), a special2 (special2 lastresult 0xC0 (daycare)),
      or another type of command?
        #21728    
      Old July 6th, 2012 (10:41 AM).
      miksy91's Avatar
      miksy91 miksy91 is offline
      Dark Energy is back in action! ;)
         
        Join Date: Oct 2008
        Location: Finland
        Gender: Male
        Posts: 1,445
        Quote:
        Originally Posted by supernova651 View Post
        Hello, I'm trying to write a script for pokemon ruby that does the following

        1. stores the pokemon from my party so they can be recalled later.
        2. removes my party
        3. put in a new party
        4. After a battle stores new party in a variable
        5. remove new party and put in old party.

        I would just like to know what code would I use to store, remove and re add my party? Is it a special (such as special 0xF5 or 0xEE(battle tower)), a special2 (special2 lastresult 0xC0 (daycare)),
        or another type of command?
        This sounds more liken an assembly job to me and I could help you out if you were asking how to do it in G/S/C because I'd like to do the same thing myself in my own hack. Anyway, party data is stored in RAM. So basically, you've to know where the party data is stored exactly, use an assembly routine for moving data from ram address to another (old party data will be saved elsewhere) and use another assembly routine for putting the new party data where the old data originally was.
        It's not even this easy though because you also have to find a stable area for storing the old party data in but if there is a place for doing so, it won't be a big deal.

        To begin with (assuming no scripting command for this exists), start studying ASM. This handy tutorial was for example uploaded to Romhacking.net a couple of days ago: http://www.romhacking.net/documents/628/
        __________________
        Pokémon Dark Energy
        Some of my ROM hacking related stuff
          #21729    
        Old July 6th, 2012 (11:06 AM).
        redriders180's Avatar
        redriders180 redriders180 is offline
        Mastermind of Pokemon Glazed
           
          Join Date: Jun 2010
          Location: Path of Victory, Tunod
          Gender: Male
          Nature: Quirky
          Posts: 540
          Quote:
          Originally Posted by Nara567 View Post
          Ah, alright, I see what I did. I overwrote a chamber; I didn't think those were connected to the images. Thanks.

          Alright, I'm looking at it and I still don't quite understand how to set the number of steps before an event happens. Would I use compare 0x8004 0x1F4? Relatively new to scripting, sorry if this is obvious.

          They flying shouldn't be a problem for me. Where would I put the script?

          Additionally, I'm trying to replace the Hoppip line with the Piplup line. When inserting Piplup's sprite, all goes well. However, when I try to insert Prinplup's or Empoleon's sprite, it tells me that the file is too large, so I repoint it. unLZ tells me that it repointed, but if I go to a different sprite and back, the result is Skiploom/Jumpluff with Prinplup's/Empoleon's palette. I'm assuming the sprite didn't repoint correctly, but I don't know how to fix this. All the tutorials I've read tell me to do the same thing, but I get the same result.
          I recommend the following pseudo-script:

          1.Make a script tile that sets a variable, say, 0x4000, to 0x0. This script would also begin the "pedometer" script, in the way JPAN talks about in his manual
          2. In the pedometer script, add 0x1 to 0x4000 for each step. After adding, compare 0x4000 to 0x1F4, and if its true, branch to the PA saying "ding!" and warping you out, otherwise, end the script. Don't forget, with JPANs, you need to also use the specials that generate wild battles, since scripts that activate when you take a step overwrite the wild battle generator.

          You'd put the gender-checking scripts wherever a gender-dependent event occurs. For example:

          Spoiler:

          #dynamic 0x800000
          #org @start
          checkgender
          compare LASTRESULT 0x0
          if 0x1 goto @boy
          msgbox @higirl MSG_FACE
          release
          end

          #org @boy
          msgbox @hiboy MSG_FACE
          release
          end

          #org @hiboy
          = Yo, dude!

          #org @higirl
          = Yo, lady!

          That's just one small example, but all gender-dependant scripts will have the beginning in common: checking the gender, and then branching.

          3. UNLZ.gba is designed to view every compressed image in the ROM, in order. Since you repointed the image, you placed it in a different location...however, it didn't erase the previous image. Basically, the Skiploom sprite is still in the game, although nothing points to it, so it's just taking up space. If you open up UNLZ.gba and scroll through, I can garuntee you'll find the Prinplup sprite somewhere, not necessarily around the other sprites. Also, if you test it in-game, you'll see it works fine :)
          __________________


          I think I'm done with ROM hacking. I'll still pop in and visit, though.


            #21730    
          Old July 6th, 2012 (11:20 AM).
          supernova651 supernova651 is offline
             
            Join Date: Feb 2012
            Gender: Male
            Posts: 5
            Hello, I'm trying to write a script for pokemon ruby that does the following

            1. stores the pokemon from my party so they can be recalled later.
            2. removes my party
            3. put in a new party
            4. After a battle stores new party in a variable
            5. remove new party and put in old party.

            I would just like to know what code would I use to store, remove and re add my party? Is it a special (such as special 0xF5 or 0xEE(battle tower)), a special2 (special2 lastresult 0xC0 (daycare)),
            or another type of command?
            Quote:
            Originally Posted by miksy91 View Post
            This sounds more liken an assembly job to me and I could help you out if you were asking how to do it in G/S/C because I'd like to do the same thing myself in my own hack. Anyway, party data is stored in RAM. So basically, you've to know where the party data is stored exactly, use an assembly routine for moving data from ram address to another (old party data will be saved elsewhere) and use another assembly routine for putting the new party data where the old data originally was.
            It's not even this easy though because you also have to find a stable area for storing the old party data in but if there is a place for doing so, it won't be a big deal.

            To begin with (assuming no scripting command for this exists), start studying ASM. This handy tutorial was for example uploaded to Romhacking.net a couple of days ago:
            Thanks miksy91 for your help. I will look into the link you sent me but stuff like that is a bit too advance for me at the moment. I'm probably going to look into how it's done in the game with places like the daycare and see what I can get from that.
              #21731    
            Old July 6th, 2012 (11:54 AM).
            Nara567's Avatar
            Nara567 Nara567 is offline
               
              Join Date: Dec 2010
              Gender: Male
              Nature: Careful
              Posts: 34
              Quote:
              Originally Posted by redriders180 View Post
              I recommend the following pseudo-script:

              1.Make a script tile that sets a variable, say, 0x4000, to 0x0. This script would also begin the "pedometer" script, in the way JPAN talks about in his manual
              2. In the pedometer script, add 0x1 to 0x4000 for each step. After adding, compare 0x4000 to 0x1F4, and if its true, branch to the PA saying "ding!" and warping you out, otherwise, end the script. Don't forget, with JPANs, you need to also use the specials that generate wild battles, since scripts that activate when you take a step overwrite the wild battle generator.

              You'd put the gender-checking scripts wherever a gender-dependent event occurs. For example:

              Spoiler:

              #dynamic 0x800000
              #org @start
              checkgender
              compare LASTRESULT 0x0
              if 0x1 goto @boy
              msgbox @higirl MSG_FACE
              release
              end

              #org @boy
              msgbox @hiboy MSG_FACE
              release
              end

              #org @hiboy
              = Yo, dude!

              #org @higirl
              = Yo, lady!

              That's just one small example, but all gender-dependant scripts will have the beginning in common: checking the gender, and then branching.

              3. UNLZ.gba is designed to view every compressed image in the ROM, in order. Since you repointed the image, you placed it in a different location...however, it didn't erase the previous image. Basically, the Skiploom sprite is still in the game, although nothing points to it, so it's just taking up space. If you open up UNLZ.gba and scroll through, I can garuntee you'll find the Prinplup sprite somewhere, not necessarily around the other sprites. Also, if you test it in-game, you'll see it works fine :)
              Thanks again, but I'm still somewhat confused, though, it is becoming more clear. I've set the variable, but how would I go about activating the pedometer? The manual says to use flags, but I'm not entirely sure how to go about with doing that. I also don't really know what to do in order to add 0x1 for every step.. The only way I know of is to place a script event on every passable tile in A-map, and I'd rather not do that. ._.

              With the gender scripts, what I want is to have different start maps for the hero/heroine right at the beginning, like in R/S/E. Is there a way to do this without starting the hero in a blank map, then warping them depending on their gender?
                #21732    
              Old July 6th, 2012 (12:08 PM).
              Ultimate Uchiha's Avatar
              Ultimate Uchiha Ultimate Uchiha is offline
              Switchin' It Up
               
              Join Date: Jun 2012
              Location: You Don't Wanna Know...
              Age: 25
              Gender: Male
              Nature: Adamant
              Posts: 51
              Alright, so I've just inserted my first song with sappy and it works fine and all but does anybody know how to make a specific song play in a specific battle? In Fire Red, Team Rocket doesn't have their own battle theme and I want to find a way around that as well as with the new rivals I plan on entering.
              __________________
              Card Created by Ultimate Uchiha.
              ULTIMATE UCHIHA
              A Top Notch Trainer


                #21733    
              Old July 6th, 2012 (12:57 PM).
              redriders180's Avatar
              redriders180 redriders180 is offline
              Mastermind of Pokemon Glazed
                 
                Join Date: Jun 2010
                Location: Path of Victory, Tunod
                Gender: Male
                Nature: Quirky
                Posts: 540
                Quote:
                Originally Posted by Ultimate Uchiha View Post
                Alright, so I've just inserted my first song with sappy and it works fine and all but does anybody know how to make a specific song play in a specific battle? In Fire Red, Team Rocket doesn't have their own battle theme and I want to find a way around that as well as with the new rivals I plan on entering.
                It can't be done, yet. Currently, battle music is controlled via ASM, and not a table. Jambo51 is/was working on a routine that made it controlled via a table, but it isn't done yet.

                Quote:
                Originally Posted by Nara567 View Post
                Thanks again, but I'm still somewhat confused, though, it is becoming more clear. I've set the variable, but how would I go about activating the pedometer? The manual says to use flags, but I'm not entirely sure how to go about with doing that. I also don't really know what to do in order to add 0x1 for every step.. The only way I know of is to place a script event on every passable tile in A-map, and I'd rather not do that. ._.

                With the gender scripts, what I want is to have different start maps for the hero/heroine right at the beginning, like in R/S/E. Is there a way to do this without starting the hero in a blank map, then warping them depending on their gender?
                To activate it via flags, all you do is set a flag, just like in a script. JPANs hack engine has a way to make a script run every time you take a step. It's like making a script tile for every step, except without the script tiles :) you just have to optimize it so one script does the work of several. I'm not at work now, so I can provide an actual script.

                First, you would activate this example script with the following:
                Spoiler:

                #org 0x750000
                setvar 0x4000 0x0
                loadpointer 0x0 0x800000 <--this is the offset of the script that activates -----------------------------when you take a step
                special 0x81 <--this is the special that makes the script loaded with ----------------"loadpointer" activate when you step, and is required
                release
                end

                After assigning that to either a script or an OW, the script located at 0x800000 will run every time a player takes a step. That script might look something like this, for a safari zone-type script:
                Spoiler:

                #org 0x800000
                addvar 0x4000 0x1 <--adds one to the value in variable 0x4000
                compare 0x4000 0x1F4 <--compares the value in 0x4000 to 500
                if 0x4 goto @end <--if 0x4000 is greater than or equal to 0x0, goto @end
                special 0x8F <--stores your current position into vars 0x8004 and 0x8005
                special2 LASTRESULT 0x7F <--this special will see if the tile you are on is a grass or water tile, and stores 0x1 into LASTRESULT if it's a grass tile, or 0x2 into LASTRESULT if it's a water tile.
                compare LASTRESULT 0x1
                if 0x1 goto @grassencounter <--if the tile is a grass tile, make a grass encounter
                compare LASTRESULT 0x2
                if 0x1 goto @waterencounter <--if the tile is a water tile, make a water encounter
                release
                end <-- if neither, end the script

                #org @end
                loadpointer 0x0 0x0
                special 0x81 <--makes it so the script no longer activates when taking a step.
                release
                end

                #org @grassencounter
                special 0x97 <--emulates a possible grass encounter
                release
                end

                #org @waterencounter
                special 0x98 <--emulates a possible water encounter
                release
                end


                If you can't understand the above script, you might want to wait until you have a better knowledge of JPANs hack engine, and scripts in general, before going this complex.
                __________________


                I think I'm done with ROM hacking. I'll still pop in and visit, though.


                  #21734    
                Old July 6th, 2012 (1:11 PM).
                Nara567's Avatar
                Nara567 Nara567 is offline
                   
                  Join Date: Dec 2010
                  Gender: Male
                  Nature: Careful
                  Posts: 34
                  Quote:
                  Originally Posted by redriders180 View Post
                  To activate it via flags, all you do is set a flag, just like in a script. JPANs hack engine has a way to make a script run every time you take a step. It's like making a script tile for every step, except without the script tiles :) you just have to optimize it so one script does the work of several. I'm not at work now, so I can provide an actual script.

                  First, you would activate this example script with the following:
                  Spoiler:

                  #org 0x750000
                  setvar 0x4000 0x0
                  loadpointer 0x0 0x800000 <--this is the offset of the script that activates -----------------------------when you take a step
                  special 0x81 <--this is the special that makes the script loaded with ----------------"loadpointer" activate when you step, and is required
                  release
                  end

                  After assigning that to either a script or an OW, the script located at 0x800000 will run every time a player takes a step. That script might look something like this, for a safari zone-type script:
                  Spoiler:

                  #org 0x800000
                  addvar 0x4000 0x1 <--adds one to the value in variable 0x4000
                  compare 0x4000 0x1F4 <--compares the value in 0x4000 to 500
                  if 0x4 goto @end <--if 0x4000 is greater than or equal to 0x0, goto @end
                  special 0x8F <--stores your current position into vars 0x8004 and 0x8005
                  special2 LASTRESULT 0x7F <--this special will see if the tile you are on is a grass or water tile, and stores 0x1 into LASTRESULT if it's a grass tile, or 0x2 into LASTRESULT if it's a water tile.
                  compare LASTRESULT 0x1
                  if 0x1 goto @grassencounter <--if the tile is a grass tile, make a grass encounter
                  compare LASTRESULT 0x2
                  if 0x1 goto @waterencounter <--if the tile is a water tile, make a water encounter
                  release
                  end <-- if neither, end the script

                  #org @end
                  loadpointer 0x0 0x0
                  special 0x81 <--makes it so the script no longer activates when taking a step.
                  release
                  end

                  #org @grassencounter
                  special 0x97 <--emulates a possible grass encounter
                  release
                  end

                  #org @waterencounter
                  special 0x98 <--emulates a possible water encounter
                  release
                  end


                  If you can't understand the above script, you might want to wait until you have a better knowledge of JPANs hack engine, and scripts in general, before going this complex.
                  So that's what Loadpointer does! I've only been using Special 0x81, so I had no idea how to start it. This makes much more sense now, thank you. :)

                  If I wanted to make it so no wild Pokemon are able to be encountered, I would remove Special 0x8F to if 0x1 goto @waterencounter, along with #org @grassencounter and #org @waterencounter, correct? I'm planning to use this before the starter is obtained.

                  I do realize that I'm going into deep waters right now, asking about stuff I probably shouldn't be doing for my first actual hack; at least, not this early on, but this fits with the storyline better than anything else I can think of.

                  Thanks again. :)
                    #21735    
                  Old July 6th, 2012 (1:14 PM).
                  Renegade's Avatar
                  Renegade Renegade is offline
                  Time for real life...
                     
                    Join Date: Nov 2011
                    Location: United States
                    Gender: Male
                    Nature: Careful
                    Posts: 998
                    Game - Pokemon Fire Red

                    Hello, I have a question. Does anyone know how a "respawn" works in Pokemon Fire Red? Like when you lose a battle, it teleports you to the last PokeCenter that you were at. Is it possible to change where you respawn at? Thanks.
                      #21736    
                    Old July 6th, 2012 (1:20 PM).
                    NG55's Avatar
                    NG55 NG55 is offline
                       
                      Join Date: Sep 2009
                      Location: Barrie, Ontario, Canada
                      Gender: Male
                      Posts: 85
                      Pokemon FireRed: I wouldn't know how to word this is the search.

                      What is the script for when the rival walks to the Pokeball and picks it up, I want this for two other characters
                        #21737    
                      Old July 6th, 2012 (1:28 PM). Edited July 6th, 2012 by redriders180.
                      redriders180's Avatar
                      redriders180 redriders180 is offline
                      Mastermind of Pokemon Glazed
                         
                        Join Date: Jun 2010
                        Location: Path of Victory, Tunod
                        Gender: Male
                        Nature: Quirky
                        Posts: 540
                        Quote:
                        Originally Posted by Nara567 View Post
                        So that's what Loadpointer does! I've only been using Special 0x81, so I had no idea how to start it. This makes much more sense now, thank you. :)

                        If I wanted to make it so no wild Pokemon are able to be encountered, I would remove Special 0x8F to if 0x1 goto @waterencounter, along with #org @grassencounter and #org @waterencounter, correct? I'm planning to use this before the starter is obtained.

                        I do realize that I'm going into deep waters right now, asking about stuff I probably shouldn't be doing for my first actual hack; at least, not this early on, but this fits with the storyline better than anything else I can think of.

                        Thanks again. :)
                        If you want to have no wild battles, remove everything from Special 0x8F down, and just replace it with release, end.

                        Quote:
                        Originally Posted by CrystalStatic View Post
                        Game - Pokemon Fire Red

                        Hello, I have a question. Does anyone know how a "respawn" works in Pokemon Fire Red? Like when you lose a battle, it teleports you to the last PokeCenter that you were at. Is it possible to change where you respawn at? Thanks.
                        When you enter any Pokemon Center, there are two level scrips. One of them has the command "sethealingplace 0xNumber". That's responsible for deciding where you end up...and unfortunately, you can only go to twenty locations...one for each town, one for Mount Moon, and one for the Power Plant route. The coordinates, map, and map bank that appear are somewhere in the ROM, and I don't know where they're stored. JPANs Hack Engine has a modification that lets you warp to any specified location, by using three variables. If you don't want his engine, you'll need to investigate where a table of values is, and edit some ASM.

                        Edit: Just did some quick research. There's a table at 0x3EEC98 that holds that map and bank of each sethealing place, in order. It seems to be laid out like: [Bank] 00 [Map] 00. At least you can add some more, in theory. There's probably a limiting byte somewhere. I don't know where the coordinates you go are located, either.
                        __________________


                        I think I'm done with ROM hacking. I'll still pop in and visit, though.


                          #21738    
                        Old July 6th, 2012 (1:38 PM).
                        Robert Conley's Avatar
                        Robert Conley Robert Conley is offline
                        GPXPlus.net/user/Robert+Conley
                           
                          Join Date: Oct 2008
                          Location: The Anti Spiral Homeworld
                          Gender: Male
                          Nature: Docile
                          Posts: 330
                          In Fire Red how do you change the background and circle on the Oak introduction screen? I've seen some hacks that have had this changed but can't seem to figure it out.
                          __________________
                            #21739    
                          Old July 6th, 2012 (1:45 PM).
                          Nara567's Avatar
                          Nara567 Nara567 is offline
                             
                            Join Date: Dec 2010
                            Gender: Male
                            Nature: Careful
                            Posts: 34
                            Bleh, sorry to ask about this again. I created the script, and went into the hack applier. I'm assuming I have to check both the Walking Script and Special 0x81. When I check the Special, apply, and save it, everything works out fine. However, when I check the Script, after I press apply, it asks for the variable, to which I put 0x4000. The dialogue box showed up again, so I put 4000 instead. However, it keeps showing up. Any reason why, or is it bugged? The same thing happens if I try to apply character hacks.
                              #21740    
                            Old July 6th, 2012 (1:48 PM).
                            redriders180's Avatar
                            redriders180 redriders180 is offline
                            Mastermind of Pokemon Glazed
                               
                              Join Date: Jun 2010
                              Location: Path of Victory, Tunod
                              Gender: Male
                              Nature: Quirky
                              Posts: 540
                              Quote:
                              Originally Posted by Robert Conley View Post
                              In Fire Red how do you change the background and circle on the Oak introduction screen? I've seen some hacks that have had this changed but can't seem to figure it out.
                              The palette for the background is at 0x460568...Use APE to edit it. The background itself...I don't know where those tiles are located, honestly v.v. NSE 2.X has a bookmark for the circle as well.
                              __________________


                              I think I'm done with ROM hacking. I'll still pop in and visit, though.


                                #21741    
                              Old July 6th, 2012 (1:59 PM). Edited July 6th, 2012 by Renegade.
                              Renegade's Avatar
                              Renegade Renegade is offline
                              Time for real life...
                                 
                                Join Date: Nov 2011
                                Location: United States
                                Gender: Male
                                Nature: Careful
                                Posts: 998
                                Quote:
                                Originally Posted by redriders180 View Post
                                When you enter any Pokemon Center, there are two level scrips. One of them has the command "sethealingplace 0xNumber". That's responsible for deciding where you end up...and unfortunately, you can only go to twenty locations...one for each town, one for Mount Moon, and one for the Power Plant route. The coordinates, map, and map bank that appear are somewhere in the ROM, and I don't know where they're stored. JPANs Hack Engine has a modification that lets you warp to any specified location, by using three variables. If you don't want his engine, you'll need to investigate where a table of values is, and edit some ASM.

                                Edit: Just did some quick research. There's a table at 0x3EEC98 that holds that map and bank of each sethealing place, in order. It seems to be laid out like: [Bank] 00 [Map] 00. At least you can add some more, in theory. There's probably a limiting byte somewhere. I don't know where the coordinates you go are located, either.
                                Thanks, Didn't know any of this information. :)

                                I have another question...

                                Is it possible, in A-Map, to do a copy and paste? I need to copy and paste a map from one map bank to another. Is it possible to do this?
                                  #21742    
                                Old July 6th, 2012 (3:27 PM).
                                redriders180's Avatar
                                redriders180 redriders180 is offline
                                Mastermind of Pokemon Glazed
                                   
                                  Join Date: Jun 2010
                                  Location: Path of Victory, Tunod
                                  Gender: Male
                                  Nature: Quirky
                                  Posts: 540
                                  Quote:
                                  Originally Posted by Robert Conley View Post
                                  In Fire Red how do you change the background and circle on the Oak introduction screen? I've seen some hacks that have had this changed but can't seem to figure it out.
                                  Quote:
                                  Originally Posted by CrystalStatic View Post
                                  Thanks, Didn't know any of this information. :)

                                  I have another question...

                                  Is it possible, in A-Map, to do a copy and paste? I need to copy and paste a map from one map bank to another. Is it possible to do this?
                                  If your questions about Pokemon Centers are related, I'm gonna assume that you want to copy a Pokemon Center map. There are a few ways to do it, depending on what you want done.

                                  The first way is to, in A-Map, go to map view, move to the top left corner of the map, hold down ctrl, right click and drag to the bottom right corner. This'll let you "copy" sections of the map. Once you've selected the map, go to the new map, and click where you want the top-left corner of the map to be. The advantages of this are it copies movement permissions as well.

                                  The second way might be a little better. Go to the header of the first map, and enter professional view by hitting Ctrl+H. Copy the "Map Footer" offset. Enter the map you want to change, and paste that in the same location. Save, and hit F5. That map will now be identical to the first map. Advantages, or disadvantages, of this method are, if you change the first map, the second one will experience identical changes. All Pokemon Centers, for instance, have a map footer offset of 0x2D5990, for instance, so the designers of the games would only have to modify one Pokemon Center, and all other Pokemon Centers will look the same, instead of having them on individual maps, and changing them all.
                                  __________________


                                  I think I'm done with ROM hacking. I'll still pop in and visit, though.


                                    #21743    
                                  Old July 6th, 2012 (4:46 PM).
                                  Nara567's Avatar
                                  Nara567 Nara567 is offline
                                     
                                    Join Date: Dec 2010
                                    Gender: Male
                                    Nature: Careful
                                    Posts: 34
                                    Is it possible to have a battle where you're meant to lose?
                                      #21744    
                                    Old July 6th, 2012 (5:01 PM).
                                    redriders180's Avatar
                                    redriders180 redriders180 is offline
                                    Mastermind of Pokemon Glazed
                                       
                                      Join Date: Jun 2010
                                      Location: Path of Victory, Tunod
                                      Gender: Male
                                      Nature: Quirky
                                      Posts: 540
                                      Quote:
                                      Originally Posted by Nara567 View Post
                                      Is it possible to have a battle where you're meant to lose?
                                      I don't think you can garuntee a loss, but you can always step up a Pokemon's level to be something absurdly high, making the chance of winning minimal. If it's at a point in the near beginning, this is more feasible than if it's after alot of plot progression. There isn't really a way to force someone to lose anyway...I guess if you made a routine where all your hits missed or something...but aside from that, that's the only routine I can think of.
                                      __________________


                                      I think I'm done with ROM hacking. I'll still pop in and visit, though.


                                        #21745    
                                      Old July 6th, 2012 (5:16 PM).
                                      Nara567's Avatar
                                      Nara567 Nara567 is offline
                                         
                                        Join Date: Dec 2010
                                        Gender: Male
                                        Nature: Careful
                                        Posts: 34
                                        Quote:
                                        Originally Posted by redriders180 View Post
                                        I don't think you can garuntee a loss, but you can always step up a Pokemon's level to be something absurdly high, making the chance of winning minimal. If it's at a point in the near beginning, this is more feasible than if it's after alot of plot progression. There isn't really a way to force someone to lose anyway...I guess if you made a routine where all your hits missed or something...but aside from that, that's the only routine I can think of.
                                        I meant, lose to continue the story, sorry for not clarifying. So you don't get transported to a Pokemon Center directly after, it continues the script instead. I do intend for it to be in the beginning, so it probably won't happen that the player wins, but if they do, one could just write up an alternate script.
                                          #21746    
                                        Old July 6th, 2012 (5:35 PM).
                                        redriders180's Avatar
                                        redriders180 redriders180 is offline
                                        Mastermind of Pokemon Glazed
                                           
                                          Join Date: Jun 2010
                                          Location: Path of Victory, Tunod
                                          Gender: Male
                                          Nature: Quirky
                                          Posts: 540
                                          Quote:
                                          Originally Posted by Nara567 View Post
                                          I meant, lose to continue the story, sorry for not clarifying. So you don't get transported to a Pokemon Center directly after, it continues the script instead. I do intend for it to be in the beginning, so it probably won't happen that the player wins, but if they do, one could just write up an alternate script.
                                          Oh, I see. In Firered, using Trainerbattle 0x9 [Battle_Number] 0x3 [Challenge] [Defeat] will have a win/losable battle. Only downside is that Oak's speech gets in the way. You could modify the speech to say something else, of course...maybe jeering from a Rival, or the Player thinking to him or herself. If it's alot easier, of course, if it's a one-time only thing. If you have to do multiple ones, it starts getting dangerously repetitive. In Ruby, I remember scripting a losable battle once, but I can't remember it >_<

                                          There's a script at 0x1A8DFD (obtained courtesy of DavidJCobb) that is responsible for whiting out. It's unknown whether this runs in the OW, or in battles, or both. But if it does run in battles, you could make a branch that heals the players Pokemon, and ends the battle...possibly...
                                          __________________


                                          I think I'm done with ROM hacking. I'll still pop in and visit, though.


                                            #21747    
                                          Old July 6th, 2012 (5:56 PM).
                                          Nara567's Avatar
                                          Nara567 Nara567 is offline
                                             
                                            Join Date: Dec 2010
                                            Gender: Male
                                            Nature: Careful
                                            Posts: 34
                                            Quote:
                                            Originally Posted by redriders180 View Post
                                            Oh, I see. In Firered, using Trainerbattle 0x9 [Battle_Number] 0x3 [Challenge] [Defeat] will have a win/losable battle. Only downside is that Oak's speech gets in the way. You could modify the speech to say something else, of course...maybe jeering from a Rival, or the Player thinking to him or herself. If it's alot easier, of course, if it's a one-time only thing. If you have to do multiple ones, it starts getting dangerously repetitive. In Ruby, I remember scripting a losable battle once, but I can't remember it >_<

                                            There's a script at 0x1A8DFD (obtained courtesy of DavidJCobb) that is responsible for whiting out. It's unknown whether this runs in the OW, or in battles, or both. But if it does run in battles, you could make a branch that heals the players Pokemon, and ends the battle...possibly...
                                            Oh, I completely forgot about the first rival battle. I kinda want to be able to use it twice, though. Is there a way to remove Oak's text completely? If there's not, I could just change it to generic "Shoot, I'm losing." It's repetitive like you said, but I don't expect the battles to be close together, one near the beginning and one near the end.

                                            With that script, is it used with this trainerbattle?
                                              #21748    
                                            Old July 6th, 2012 (7:02 PM).
                                            redriders180's Avatar
                                            redriders180 redriders180 is offline
                                            Mastermind of Pokemon Glazed
                                               
                                              Join Date: Jun 2010
                                              Location: Path of Victory, Tunod
                                              Gender: Male
                                              Nature: Quirky
                                              Posts: 540
                                              Quote:
                                              Originally Posted by Nara567 View Post
                                              Oh, I completely forgot about the first rival battle. I kinda want to be able to use it twice, though. Is there a way to remove Oak's text completely? If there's not, I could just change it to generic "Shoot, I'm losing." It's repetitive like you said, but I don't expect the battles to be close together, one near the beginning and one near the end.

                                              With that script, is it used with this trainerbattle?
                                              ASM is the only way to completely remove the effects, unfortunately. You could change it to the generic text, but I started to wonder why you might want to have a battle that continues on no matter what. If it's because, logically, the same trainer won't challenge you if you lose, you could make a script using trainerbattle 0x9 [Trainer_Number] 0x0 [Win Text] [Loss Text], and essentially make a script that, if you lose, has the trainer waiting for you to return, and then "continues" the script as if you've won. I realize that probably isn't the best explanation, but I'm having trouble forming coherent thoughts @[email protected]
                                              __________________


                                              I think I'm done with ROM hacking. I'll still pop in and visit, though.


                                                #21749    
                                              Old July 6th, 2012 (7:14 PM).
                                              Nara567's Avatar
                                              Nara567 Nara567 is offline
                                                 
                                                Join Date: Dec 2010
                                                Gender: Male
                                                Nature: Careful
                                                Posts: 34
                                                Quote:
                                                Originally Posted by redriders180 View Post
                                                ASM is the only way to completely remove the effects, unfortunately. You could change it to the generic text, but I started to wonder why you might want to have a battle that continues on no matter what. If it's because, logically, the same trainer won't challenge you if you lose, you could make a script using trainerbattle 0x9 [Trainer_Number] 0x0 [Win Text] [Loss Text], and essentially make a script that, if you lose, has the trainer waiting for you to return, and then "continues" the script as if you've won. I realize that probably isn't the best explanation, but I'm having trouble forming coherent thoughts @[email protected]
                                                Aw, oh well.

                                                What I'm trying to do is make a trainer that will only battle you once, but you're expected to lose because of her "skill." I'm giving her Pokemon with levels that seem ridiculously high at that point in the game, and upping the AI. After you lose, the script continues, "blah blah blah now you see our (referring to the organization she's in) power," and such. In any case, she would disappear and you would warp out, so it wouldn't matter if she would be rebattleable.

                                                I think I understand what you're trying to say, though. :P It just wouldn't work the best for storyline purposes, as she's not seen in the game again.
                                                  #21750    
                                                Old July 6th, 2012 (11:31 PM).
                                                jagfillit jagfillit is offline
                                                   
                                                  Join Date: Apr 2010
                                                  Posts: 3
                                                  New guy with a question, look out.

                                                  I'm curious, is there a tool that can not only assemble a THUMB routine but also patch it to a game? XSE does something like this, though specifically for scripting. I've been hacking Super Mario World for quite some time and use a program that does this for SNES' brand of Assembly, called xkas. In that sort of format it's easier to overwrite existing addresses and keep everything organized.

                                                  It's certainly not a deal-breaker if there isn't something like that, but I'd find it pretty useful.
                                                  Closed Thread

                                                  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 9:47 AM.