View Single Post
Old October 18th, 2012 (5:55 PM).
DrFuji's Avatar
DrFuji DrFuji is offline
Helfen, Wehren, Heilen
Crystal Tier
Join Date: Sep 2009
Location: Downia-upside
Age: 22
Gender: Male
Nature: Jolly
Posts: 1,322
Originally Posted by CrystalStatic View Post
I have a question. Hope someone can answer :)

My question is this: How can I make the "BF1" titles go away in Pokemon Fire Red? What I mean is, in the Team Rocket hideout, when you go from place to place, the map title that pops up every time you go into a new map is something like "ROCKET HIDEOUT" but then there is another string of text that says "BF1" or "BF2", which stands for bottom floor. How would I go about getting rid of these strings of text?

Thank you for your time in advanced.
I know PunsAreFun answered your question, but from the sounds of this post it seemed like you wanted to retain the 'ROCKET HIDEOUT' text but get rid of the B1F part. Its an easy thing to do, but I'm also going to explain how (both types of) the floor numbers are activated in case you or anybody else ever needs to edit them/ add them back in :P

The floor number is determined by the third and second last bytes in the map header - The map header can be viewed by going into the header tab of Advance Map and pressing Ctrl+H. Here is a comparison of the main Celadon City map, the first floor of the Department Store and the first floor of the Rocket Hideout respectively.

The bytes in the red and blue boxes are the ones we're interested in (though more-so the red one). The blue boxes are highlighting a feature that is already present in the header setting - It is actually the 'Show name on entering' option which is available in the default header tab. I'm just highlighting it here since it needs to be set to 4, 5, 6 or 7 in order for the drop down box to be displayed.

The game determines whether it should designate a floor number to the map based on the second byte. If you're climbing a tower the byte ascends in a pretty logical fashion: 0x1 = 1F, 0x2 = 2F, 0x3 = 3F etc, all the way up to 0x63 (99F) because the game can't display a third digit pushing it over into the 100's.

The basement floors have another system entirely which is slightly less apparent. They begin at 0xFF and start to descend, making the pattern: 0xFF = B1F, 0xFE = B2F, 0xFD = B3F etc. Essentially, the basement floor numbering is exactly the same as regular flooring, except in reverse. It also stops at 0x9D (B99F) because once again the display would require an extra character to be displayed, causing it to glitch slightly.

With this information there are two options which are now open to you: Remove the map name display entirely (by changing whether it should be displayed or not) or just get rid of the numbering. Since you want the latter, just change the byte in the red box to 00 and those pesky floor numbers should never trouble you on that map again :D

Originally Posted by PunsAreFun View Post
I wrote a level script that will show certain sprites if certain flags are set. The first time I visited it set the sprites correctly. But now when I go back there, nothing shows up! Why is that? Is there a way to write a level script to make sprites appear/disappear every time you enter?
The 02 type of level script will only activate when the chosen variable is set to a chosen value (What you've put into the Flag and Value boxes), but simultaneously the variable's value needs to be changed within the script to prevent it from repeating forever. Essentially this means that the script will only be played once upon entering the map but the variable's value will need to be reset in order for it to activate a second time when you enter again. Its very finicky and awkward to have a type 02 script activate every time you enter a map, especially if the player can fly to that exact map.

If you want a script that plays every time, you can use level script numbers 03, 05 and 07, whose descriptions are shown in A-Map. They don't need a variable/ value combination to be activated and checkflag commands should work so they're great for the kind of thing you're talking about. Hopefully this helps.