As some of you may already be aware, we have begun construction of a new forum as a rebirth of PHO and continuing on into future projects.
This forum is called Silph Co., and can be found by clicking the banner below. We are in the process of transferring some of our old resources, and the forum is open for posting. It will be sad to see PHO go, but we look forward to a bright future with Silph.
The forums here will be moved to an archive, and the url will redirect to the new site in the coming days/weeks.

Generation 3 (Traditional)Traditionally, Generation 3 is hacked using tools, hex editors and patches. This is for you if you do that.

Hey again guys. Ever since I've gotten back into hacking I've been making all sorts of little 'discoveries' and whatnot and here's a good one that I managed to somehow pull off a long time ago but ever since then totally forgot how. I've noticed there's a few guides out there for this kind of thing but they either require ASM (assembly language) or a different ROM like FireRed. Some of us don't prefer having to use ASM, some aren't hacking FireRed. Basically, I needed to figure this out through trial and error - especially since I already knew it was possible. I think this is a different method than the one I used before... but whatever works, right? It's easy, here's how you do it:

----------
Make a trainer battle script that uses this format, and fill in the "?"s with what you want. All bold parts are very important things that seem to have to be in that order (just to make sure the song plays at the same time the battle does). In Italics are the comments (you can leave them there if you copy-paste), and the red parts are things you may/may not need to change:

*= About the setflag commands... This script was mostly made for special trainer battles (ones where they don't challenge you on sight like the average route trainer). I tested it without the setflag and with a typical trainer ID and the battle could be repeated over and over without them, likely because of the additional commands in this script that aren't in normal battles.

Now, Special 0x3E is the real key here. It's purpose is to simply start a trainer battle that can be customized somewhat as long as things are in the right order. If you don't use it, as far as I know it will never give you the right results. It has specific equivalents in the other games (Ruby, FireRed), and you can find those in their special lists which have been publicized already.

EDIT: The values you use for "playsong" can be found in Advance-Map's "Musik_??.ini" files (be sure to find the correct game code: BPEE for the US Emerald ROM), and in Sappy's song list - though Sappy displays them in decimal instead of hex.

You should be able to pull off this same thing the same way with other types of trainer battles (double, gym), although it could work a little differently. Go ahead and experiment though, make things work for you. Thanks for reading.

Thank you very much, I was actually gonna look into this soon I love you for this

I'm glad you like it. As soon as I remembered how to do this trick, I couldn't wait to share it, especially because of how hard it is to find stuff like this. I plan to post some more guides in the near future.

Since I'm not hacking Emerald and that whole ASM thing gives me a headache, is there any way for this to work in Pokemon FireRed and LeafGreen?

Crocky from PC wrote a tutorial like this for FireRed. Here it is. Anyway, the only real difference should theoretically be the value for 'special' in the script. Anything else is just possible differences in the script structure between the games.

Crocky from PC wrote a tutorial like this for FireRed. Here it is. Anyway, the only real difference should theoretically be the value for 'special' in the script. Anything else is just possible differences in the script structure between the games.

Thanks. I couldn't figure out ASM at all. Glad there are alternatives here and there.

So I've been trying this (in a script tile, rather than a normal trainer) and the battle repeats itself. Know how to fix?

Wierd, when I copied this script over to a tile it doesn't repeat once the custom flag is set (although for some reason with a script tile it makes the player face downwards after... May need 'applymovement' to fix that one). What var number + value are you using with the script tile? I may need to see the script also so I can find out what's going on.

Hello again, thanks for your help before by linking to Crocky's guide for this in FireRed.

Now, is there any way to do something like this for regional wild battle music without ASM?

Unfortunately, I don't know of any way to do that without ASM. The only place I've seen it is in Jambo51's trainer music controlling guide (it includes changing the wild battle theme by region), which is with ASM and is for FireRed so I've never done it before.