• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

[ARCHIVE] Simple Questions (SEARCH BEFORE ASKING A QUESTION)

Status
Not open for further replies.
34
Posts
13
Years
  • Seen Jun 14, 2016
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:

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?
 

Ultimate Uchiha

Switchin' It Up
51
Posts
11
Years
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.
 

redriders180

Mastermind of Pokemon Glazed
314
Posts
13
Years
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.

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:

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:


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.
 
34
Posts
13
Years
  • Seen Jun 14, 2016
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:

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:


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. :)
 

Renegade

Time for real life...
995
Posts
12
Years
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.
 
88
Posts
14
Years
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
 

redriders180

Mastermind of Pokemon Glazed
314
Posts
13
Years
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.

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.
 
Last edited:
34
Posts
13
Years
  • Seen Jun 14, 2016
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.
 

redriders180

Mastermind of Pokemon Glazed
314
Posts
13
Years
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.
 

Renegade

Time for real life...
995
Posts
12
Years
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?
 
Last edited:

redriders180

Mastermind of Pokemon Glazed
314
Posts
13
Years
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.

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.
 

redriders180

Mastermind of Pokemon Glazed
314
Posts
13
Years
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.
 
34
Posts
13
Years
  • Seen Jun 14, 2016
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.
 

redriders180

Mastermind of Pokemon Glazed
314
Posts
13
Years
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...
 
34
Posts
13
Years
  • Seen Jun 14, 2016
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?
 

redriders180

Mastermind of Pokemon Glazed
314
Posts
13
Years
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 @_@
 
34
Posts
13
Years
  • Seen Jun 14, 2016
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 @_@

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.
 
3
Posts
14
Years
  • Seen Sep 10, 2012
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.
 
Status
Not open for further replies.
Back
Top