I thought I'd already cleared this up. I'm almost 100% sure the cmda06 command has nothing to do with the snowy tiles, and instead has something to do with Soot Sack. This is based on a video I saw stating that cmda06 is a way to make tiles do certain ASM code. I do not know in what way this work, but it is not relevant. The snowy/ash grass instead works like a setmaptile command on each grass tile. When you step on it, it changes the snowy grass to the not-snowy grass, and adds a little puff on ash for realism. It won't work right if its got something on the layer above it. This is supported by the original game, where none of the ash grass tiles are behind any trees. The only solution you can do is either turn the ash grass into a tile animation like the tall grass, or not put snowy grass behind a tree. Both of these are easily do-able, as I've seen a post somewhere on the research and development on making different grass animations.

Well I looked at the tutorial for cmda6, and there was nothing mentioned about the soot sack specifically. My guess is this particular tile with the particular tile behavior reacts to the cmda6 script. I tested these tiles on a map without this script and there was no animation and no finding of wild pokemon. And it also does work when theres something on the top layer as well. The problem I was having with it was that I don't know how to link specific tiles together for the script to change them how I need them to. The snow covered grass always changed to the grass with the snow shaken off. Every other block in the tileset that i give this behavior byte to always switches to a certain other block in the tileset, which I put one half of the tree on. So basically, half of the tree with grass behind it works. What I need to know is if theres a way to manually link the blocks together so that I could have a certain block always change to a certain other block, like how the normal snow-covered grass always changes to the grass with the snow shaken off, when I have this script active.

Well I looked at the tutorial for cmda6, and there was nothing mentioned about the soot sack specifically. My guess is this particular tile with the particular tile behavior reacts to the cmda6 script. I tested these tiles on a map without this script and there was no animation and no finding of wild pokemon. And it also does work when theres something on the top layer as well. The problem I was having with it was that I don't know how to link specific tiles together for the script to change them how I need them to. The snow covered grass always changed to the grass with the snow shaken off. Every other block in the tileset that i give this behavior byte to always switches to a certain other block in the tileset, which I put one half of the tree on. So basically, half of the tree with grass behind it works. What I need to know is if theres a way to manually link the blocks together so that I could have a certain block always change to a certain other block, like how the normal snow-covered grass always changes to the grass with the snow shaken off, when I have this script active.

Sorry if I'm just missing something, but I don't think you quite understood what I was asking with that, and I might not have explained it as well as I could have.

Of course it's possible I was wrong. The only reason I assumed cmda06 wasn't necessary was because the tutorial for unlocking it in Firered made no mention of it. My assumption of the background bytes not working was because of the same tutorial, which only has a spot for inputting the ashy grass, the grass with ashy background, and the normal grass, and nothing else, but that may be because of the script.

I assume (not like my assumptions seem to ever hold true) that there's a sort of table in the rom, which cmda06 calls. assuming that you could find this, you could write another ASM script which would handle the background tree tiles, and put it in the table in question. The simplest way, in my opinion, would be to add setmaptile scripts to each place underneath the tree, and play the animation involved with the puff of ash. All of these things I believe you can access in a script. setanimation and doanimation can play the puff of dust. (0x7 is the ashgrass dust cloud, but the list I have also says it does a setmaptile part, so 0xA should also work [0xA is the dust cloud when the player jumps off a ledge])

And you explained it perfectly clear, i was just being stupid, so no hard feelings?

__________________

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

Did you need to change the starting amount? I know there is a program. If not I might be able to find the offset here somewhere...

It's not that I need to change the starting amount, I just need it for a "secret word" type script. I want to make the word in question depend on some random factors, like the amount of money the player has. Although I really hope it isnt one of those protected offsets...

__________________

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

If you're talking about Birch's lecture and stuff, then it uses a different compression method (and I can't remember which), and you're going to have to look that up.
----------------------------
ARRIGHT MY QUESTION

Yeah, so I was wondering, how far can a bl instruction reach? I need to go from 0x6840 to 0xEC0000 or so. Will it be able to reach that far?

Hi I'm new to hacking and I have two questions if anyone could possibly answer them for me. One, can anyone tell me how to script in a double battle where you and a random character fight two wild pokemon/trainers? And the second, it'd be nice to know the command/how to script in so that the system registers a fainted pokemon/egg in your party. For XSE, not PokeScript. Thanks in advance.

Hi I'm new to hacking and I have two questions if anyone could possibly answer them for me. One, can anyone tell me how to script in a double battle where you and a random character fight two wild pokemon/trainers? And the second, it'd be nice to know the command/how to script in so that the system registers a fainted pokemon/egg in your party. For XSE, not PokeScript. Thanks in advance.

In emerald I believe there is a part where you and Steven battle together (in the museum I think?). I would open up that script in XSE and have a look. And I don't understand your next question...if you mean to not automatically get sent to the Pokemon center when all your Pokemon faint, I have no idea. I think in pokemon prism there was something like that, but I'm not positive.

And the second, it'd be nice to know the command/how to script in so that the system registers a fainted pokemon/egg in your party. For XSE, not PokeScript. Thanks in advance.

I don't know what you mean, but I interpret that as you want to put a fainted Pokémon through the givepokemon command.

First, give a Pokémon as usual, through the givepokemon command. Then what you should do is set the HP to 0 using the callasm command.

How do you do that? Well...you'll have to findout foryourself. I would share it to you, but you seem like a capable young lady (woman, developing senior, etc.) and I think you wouldn't mind using your basic math skills, would you?

Besides, it's fun and satisfying.

Basic Party RAM Data:

Spoiler:

Ruby: 0x03004360, end at +600b for all these offsets
Sapphire: 0x03004360
Emerald: 0x02024190, 0x020244EC for US games
FireRed: 0x02024284
LeafGreen: 0x020241e4

Oh actually the second question stems from the first. Say, you want someone to not double battle you because a Pokemon in the party has fainted and you have one Pokemon that still has its health and is able to fight. What I want is basically to have the game register these things to avoid the double battles when you only have one capable Pokemon in your party so that it avoids the "cloning" Pokemon glitch.

I only use the simple script where if you have one Pokemon, they refuse to battle you but it still counts when you have two or more Pokemon in your party and all but one has fainted...So yes, that's what I meant. Sorry for not being clear the first time.

hey everyone i really need an answer to this question because ive been researching all day and ive found nothing.. i was wondering if there was a way to use existing programs like ADVANCED MAP or ADVANCED MART on IPS PATCHES of games. if this is not possible with these programs, then WHAT ARE PROGRAMS THAT CAN DO THIS? im kinda new to hacking so i thought this would be a good place to ask. mainly for 3rd generation hacks by the way.

Oh actually the second question stems from the first. Say, you want someone to not double battle you because a Pokemon in the party has fainted and you have one Pokemon that still has its health and is able to fight. What I want is basically to have the game register these things to avoid the double battles when you only have one capable Pokemon in your party so that it avoids the "cloning" Pokemon glitch.

I only use the simple script where if you have one Pokemon, they refuse to battle you but it still counts when you have two or more Pokemon in your party and all but one has fainted...So yes, that's what I meant. Sorry for not being clear the first time.

The tag battle in Emerald is based on a special, so I don't know of any way to do a tag battle in any other game. And in any case, it wouldn't do wild battles either.

Quote:

Originally Posted by droomph

I don't know what you mean, but I interpret that as you want to put a fainted Pokémon through the givepokemon command.

First, give a Pokémon as usual, through the givepokemon command. Then what you should do is set the HP to 0 using the callasm command.

How do you do that? Well...you'll have to findout foryourself. I would share it to you, but you seem like a capable young lady (woman, developing senior, etc.) and I think you wouldn't mind using your basic math skills, would you?

Besides, it's fun and satisfying.

Basic Party RAM Data:

Spoiler:

Ruby: 0x03004360, end at +600b for all these offsets
Sapphire: 0x03004360
Emerald: 0x02024190, 0x020244EC for US games
FireRed: 0x02024284
LeafGreen: 0x020241e4

Actually, you don't even need ASM to change stats of a Pokemon, in a party or even in a wild battle. You can find the data structure of a Pokemon here. All thats required is a "writebytetooffset" command, and you can change the Pokemons stats, its current HP, status ailments, and plenty of other stuff. However, stuff like moves and IVs are protected in a different way.

Quote:

Originally Posted by itman

In emerald I believe there is a part where you and Steven battle together (in the museum I think?). I would open up that script in XSE and have a look. And I don't understand your next question...if you mean to not automatically get sent to the Pokemon center when all your Pokemon faint, I have no idea. I think in pokemon prism there was something like that, but I'm not positive.

It was at the Mossdeep Space Center, but it's no matter. And the command you're talking about is trainerbattle 0x9 [Trainer Number] 0x0 [Text when opponent is defeated] [Text when rival is defeated].
Irrelevant, but I just wanted to help

Quote:

Originally Posted by aradatm

Oh actually the second question stems from the first. Say, you want someone to not double battle you because a Pokemon in the party has fainted and you have one Pokemon that still has its health and is able to fight. What I want is basically to have the game register these things to avoid the double battles when you only have one capable Pokemon in your party so that it avoids the "cloning" Pokemon glitch.

I only use the simple script where if you have one Pokemon, they refuse to battle you but it still counts when you have two or more Pokemon in your party and all but one has fainted...So yes, that's what I meant. Sorry for not being clear the first time.

Like one of the answers above me, the offsets for the Pokemon data are easily accessable without ASM. With a little math, you can insert the commands "comparefarbytetobyte [OFFSET OF CURRENT HP] 0x0.

Quote:

Originally Posted by BLACK0UT

hey everyone i really need an answer to this question because ive been researching all day and ive found nothing.. i was wondering if there was a way to use existing programs like ADVANCED MAP or ADVANCED MART on IPS PATCHES of games. if this is not possible with these programs, then WHAT ARE PROGRAMS THAT CAN DO THIS? im kinda new to hacking so i thought this would be a good place to ask. mainly for 3rd generation hacks by the way.

Whats wrong with just patching the IPS patch to a rom and editing the patched rom?

__________________

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

hey everyone i really need an answer to this question because ive been researching all day and ive found nothing.. i was wondering if there was a way to use existing programs like ADVANCED MAP or ADVANCED MART on IPS PATCHES of games. if this is not possible with these programs, then WHAT ARE PROGRAMS THAT CAN DO THIS? im kinda new to hacking so i thought this would be a good place to ask. mainly for 3rd generation hacks by the way.

Well, if you're talking about those picky-picky hacks who don't want people "cheating their way past the storyline", then what you do is find which game it was based on, and then copy the header (the first three hundred bytes or so) of a clean ROM it was based on onto the one you want to edit, and you've successfully unlocked it.

I'd like to find out how to adjust the music that plays during certain battles in Emerald version.

I've found out so far that it seems to depend on the trainer's title (for trainer battles), or the species (for wild Pokémon), and what I'd like to do is adjust a few of these that don't already have different music (i.e. adjust Articuno so that it plays the FR/LG legendary music, or adjust the Schoolboy trainers to play the FR/LG music).

Since Emerald already has all of FR/LG's music, I'm glad I don't have to mess around with importing new music, but I'd really like to figure out how to adjust the above. I've searched around for some answers for a couple days, but I've had no luck.

If none of that is possible, is there any other way to trigger a particular track of music during a wild/trainer battle?

I still need that offset for the amount of money the player founds, but I also have another question. Basically, I need to make a box similar to the showmoney and showcoins box. But I need this box to display a certain string when its called in a script, in my case. I'd use a showpokemonpic command or something like that if i could, but I want the box to be smaller than 64x64. I'm hacking Firered, version 1.0, with JPANs hack engine. If someone could point me to a tutorial or something, I'd be most obliged.

__________________

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

I'm making a hack, and I have one problem...
Marill, to breed Azurill, needs to have Sea Incense while breeding, but I don't want Marill to breed Azurill in that way. I want it to breed in regular way.
Same with others Pokemon that need Incenses to breed to lowest evolution stage.
Do I need to modify it in hex?
Or derp in ASM?
Or there's a simple tool to modify this?
Please help.

I'd like to find out how to adjust the music that plays during certain battles in Emerald version.

I've found out so far that it seems to depend on the trainer's title (for trainer battles), or the species (for wild Pokémon), and what I'd like to do is adjust a few of these that don't already have different music (i.e. adjust Articuno so that it plays the FR/LG legendary music, or adjust the Schoolboy trainers to play the FR/LG music).

Since Emerald already has all of FR/LG's music, I'm glad I don't have to mess around with importing new music, but I'd really like to figure out how to adjust the above. I've searched around for some answers for a couple days, but I've had no luck.

If none of that is possible, is there any other way to trigger a particular track of music during a wild/trainer battle?

Its a bit complicated but this may help. Its for Ruby however so may not work.

Quote:

Originally Posted by redriders180

I still need that offset for the amount of money the player founds, but I also have another question. Basically, I need to make a box similar to the showmoney and showcoins box. But I need this box to display a certain string when its called in a script, in my case. I'd use a showpokemonpic command or something like that if i could, but I want the box to be smaller than 64x64. I'm hacking Firered, version 1.0, with JPANs hack engine. If someone could point me to a tutorial or something, I'd be most obliged.

I'm still not sure where to access the money offset. Couldn't it be related to the PokeMart script in which your money is shown? As for your second question, I've been working on this on right now. As far as I can say right now you need to create your own ASM routine.

Quote:

Originally Posted by Flame

I'm making a hack, and I have one problem...
Marill, to breed to Azurill, need to have Sea Incense while breeding, but I don't to Marill breed Azurill in that way. I want it to breed in regular way.
Same with others Pokemon that need Incenses to breed to lowest evolution stage.
Do I need to modify it in hex?
Or derp in ASM?
Or there's a simple tool to modify this?
Please help.

I'm not exactly sure but I'll take a peek around to see what I can find.

Quote:

Originally Posted by Jay the penguin

is there a way in Amap to expand the tileset count?

Yes but only for the secondary tileset though. Go into A-Map, select a map, click the purple puzzle piece near the top, once the window opens click "Blocks," scroll to "Change amount" and select the max amount.

Something I've always wondered but never really looked into; the door animations of Pokémon Ruby (and Emerald, if you like).

The animations that show when the player walks through a door in Pokémon Ruby and Emerald take up two tiles; the door itself, and the tile above it. This is not the case in FireRed or LeafGreen, where the doors' animations only use one tile. This means that in FireRed, doors can be interchangable between buildings and so on, but you can't get away with that in Ruby or Emerald, seeing as the tile above the door will always show, and so the tiles will be mismatched.

I'm aware that there are various tools out there to edit the door animations, but what I want to know is if anyone's managed to make an RSE door animation use just one tile? If I recall correctly, editing the animation so that the top tile is 'transparent' doesn't work, but I may be mistaken. Thoughts?

__________________

I'm working on an album of Pokémon-inspired music. Check out the Soundcloud link if you're interested!

I assume this is where this goes. This is driving me up the wall. I've found the dozens of map editors etc....but is there a program that allows you to edit the pokemon directly? Like their evolution levels etc. PokemonAmplifier does it for all the GBA games, but I can't for the life of me find one for second gen games. The ONLY thing I want to edit is that...so I can maybe have a Kadabra that evolves, or Haunter etc. It'd amazing if it existed or if there's a way.

I assume this is where this goes. This is driving me up the wall. I've found the dozens of map editors etc....but is there a program that allows you to edit the pokemon directly? Like their evolution levels etc. PokemonAmplifier does it for all the GBA games, but I can't for the life of me find one for second gen games. The ONLY thing I want to edit is that...so I can maybe have a Kadabra that evolves, or Haunter etc. It'd amazing if it existed or if there's a way.

The PokéCommunity

Meta

Pokémon characters and images belong to The Pokémon Company International and Nintendo. This website is in no way affiliated with or endorsed by Nintendo, Creatures, GAMEFREAK, or The Pokémon Company International. We just love Pokémon.