The PokéCommunity Forums

The PokéCommunity Forums (
-   Tools, Tutorials & Resources (
-   -   Tutorial In depth Advance Map tutorial (

link12552 November 29th, 2008 7:09 PM

In Depth Advance Map
1 Attachment(s)
link12552's In Depth Advance Map Tutorial


Getting Started:

· Creating Maps
· Areas
· Movement
· Events

(Events cont.)-
· Warps
· Sprites
· Scripts
· Signposts-
· Wild Pokemon
· Map Connections
· Deleting Maps
· Tile Events


· Creating Bridges
· Disappearing/Reappearing Sprites
· Common Problems

Before we begin:
Remember to always back up your rom!

1. Open your rom

2. Under "File" goto "Map" then "New map"

3. Fill out the required information;

Map's name: What you wish to name your map
Width & Height:
§ For rooms usually it's width13 height 10
§ For towns usually it's width24 height 20
§ For cities usually it's width48 height 40
§ For forests usually it's width54 height 69
§ For caves usually it's width48 height 40
Tile-set1 & Tileset2:The combination for different tile-sets to draw your map


Areas are the places that make up the world in your game. They can be forested, mountained, towns, cities, deserts or anything else you can come up with. They are literally what makes a game interesting. Sometimes though people can make locations that really turn you off from a game

For Example:

Considering the two forest areas above, which one looks better?

The right one of course!
While the right gives a more natural feel, the left just sort of hurts your eyes.

A few tips when making areas are:
§ Avoid placing objects in straight lines
§ Ponds and lakes aren't square
§ Neither are naturally formed patches of vegetation
§ Trees tend to not grow in perfect columns


Known in Advance Map as "Movement Permissions" this is what is going to tell the game when and where players can or cannot move. This is easily editable through the movement permission tab.

Some of the basic movement types are:

§ C : Able to move through
§ 1 : Unable to move through
§ 4 : Surf required (Water)
§ D : Jump or one way movement (Small Hill)
§ 10 : Can only be entered or left by going through 0 (Change in elevation)
§ 0: Stairs and Default



Events are one of the most important things when making a game, but what exactly are they?
I define an event as something that changes or has the potential to change and display other events or information.

The types of events are: Warps: Sends the character to other maps Signposts: Standard, stationary, request event Person: Movable, changeable, request event Script: Stationary, changeable, collision event

The number of events can be changed by adding or subtracting from the number of events. To add new events increase the event type by however many you want to add. The same can be done for removing events


Warps, in a simpler term, are blocks that when stepped on will send your charecter to another map.

They are set up as folows:

No: This is the invidual selected Warps ID number
Pos (X/Y): The location where the selected warp exists
Unknown: For doors and caves unknown: 3, for ladders unknown: 4
To warp number: Transfer warps ID number
Map bank: Transfer map's location bank
Map: Transfer map's number

In the warp bellow, we see that the player will be sent to Pallet Town, warp no. 0 :


What exactly is a sprite?

A sprite can be many things. It can be a blazing fire, a boulder blocking the way, a sighn, just a person, or almost anything else you can come up with! In other words, a sprite is an animated, moving, event.

Sprite Properties:
Sprites unlike other events contain many properties. These are all needed to tell the game how to display the sprite.

Person Event No: The current sprites ID number.
Picture number: The OverWorlder that will be shown for the sprite (The animated image)
Pos (x)(y): The spites x y coordinates.
Movement Type: The pattern the sprite will follow (move up & down, left & right, ect.)
Movement: in my opinion best to just leave at 00.
Trainer & View Radius: If the sprite is a Pokemon trainer, and if so how far they can see.
ScriptOffset: The location of the script that will run when the sprite is talked to.
Person ID: Used to change the visibility of the sprites with the corresponding flag.


OK, some of you may be saying to yourselves, "I thought this was an Advance Map tutorial, so what does scripting have to do with this?"

Yes, true; this tutorial is for advance map, but one type of event is a script

Scripts are activated when stepped on.

Unknown: Stays at 0003 98% of the time.
Var number: The script's variable ID, used when removing scripts.

Script offset: The location of the actual code behind the event

A basic talking script might look like this:

#org 0x17184A
msgbox 0x81A303B MSG_SIGN '"It's impossible to SURF between th..."

' Strings
#org 0x1A303B
= It's impossible to SURF between the\nislands around these parts.\pThe tides are too fast and\ntreacherous.

In this script when stepped on, a box will appear saying, "It's impossible to SURF between the islands ..."

The offset $17184A would be put in the offset property of the script.


A sighnpost is the most generic of the events. It's usually just used as its name implies, as a signpost. Although... A signpost can also be used as a hidden item!
(or secret base in ruby, sapphire, emerald)

Normal| Hidden Item

Talking level: if the sighn can be read from top, bottom, left, right, or in any direction.
Sighnpost type: If it's a script hidden item or secret base (RSE only)
*Item ID: The type of item found, if in hidden item mode.
Amount: How many items hidden


Anyone who has ever played a pokemon game knows about wild Pokemon. The game practically revolves around them, but how exactly are they set up?

In the area above, how would you catch wild pokemon?

§ walking in the grass
§ By surfing on the water
§ By fishing

The Pokemon seen on each map can be edited through the wild Pokemon tab.

Type: The current location you are editing
Encounter ratio: The chance of encountering a wild Pokemon out of 255
Pokemon#: Set up as the lowest level possible, the highest, and the Pokemon's name

Displays form below, used for adding or deleting encounter locations.
Please don't ask about trees, as I'm at not really sure.


Map connections are used to create smooth transitions from one map to another automatically during game play.

Clicking the arrows will take you to the connected map

Direction: The current connection's direction
Offset: How far to position the map relative to the middle

Offset set to 1, moves the connection map over 1 space.

Mab bank and no: The transfer map's map bank and number


Once in a while you may come across time when you want to completely remove a map from your game. Ordinarilly this can't be done, but this is how.

-Before continuing make sure you back up your rom!-

First of all there are two ways this can be done. The safe way or the complete way depending on the intention.

Safe way:
Just reuse the map! Turn it into something completely different instead of completely removing it. All that really has to be done is change the size and tile-sets, and then your ready to recycle.

Complete way:
Sometimes a map can just go bad for one of many reasons, and the best thing to do is completely obliterate it! This method, although, can be pretty messy.

For this to work the map you want to delete must be at the end of the bank.

If the map is not at the end of the bank, save all of the good maps in the same bank somewhere. Then delete all the maps in the bank. When your done insert the good maps back into your game.

For this example 13.1 is the last map in bank 13 so this will work

Open the map you're going to delete.
Then go to file> map > insert map
Click "Map bank header"
Scroll down to the map's bank and in the text box type -1
Press "Accept changes"

Finnaly replace the map with itself.

Many errors will show up, this is normal. Just keep pressing Ok.
Finnaly if all goes well, the map will have been removed from the game.


Tiles, like most other things, are able to be interacted with in the game. Examples of which include: the tall grass, the PC and even warps.

Tile events are edited in the first text-box of the Behavior byte:

People ask me alot why a warp on their map isn't working and it usually comes back to a tile issue. A warp will not run if the tile it's on does not have the behavior byte 61 00.
If you look, the byte 61 means use warp.

Some Behavior Bytes:


00 ???

01 ???
02 Grass animation (Pokémon)
03 High grass animation
04 ???
05 ???
06 Sand foot prints (with sandheaps)
07 Animation micro grass
08 Bridge with ground underneath
09 ???
0A ???
0B ???
0C ???
0D Warp into pyramid. Floor 51
0E ???
0F ???
10 Reflection on water with waves trailing
11 ???
12 ???
13 Waterfall/with falling down
14 ???
15 Jump with mach bike, splashing water
16 Reflection on water, splashing water, waves
17 Lasting water on feet
18 ???
19 ???
1A Reflection (Background byte=20)
1B Water on feet
1C Water on feet + arrow down
1D ???
1E ???
1F ???
20 Slide like on ice
21 Foot prints
22 Diving animation bubbles
23 ???
24 ???
25 Sand foot prints
26 ???
27 ???
28 Hero halfway underwater
29 ???
2A Diving animation bubbles
2B ???
2C ???
2D ???
2E ???
2F ???
61 Use warp

69 Use door warp
70 Bridge with water underneath
83 PC

85 World Map

There's a lot more just can't list them all here


Some people have a lot of trouble when it comes to making bridges, so here is an explanation.

A bridges movement permission is 3c. There must be 10's though, at the ends, to show the bridges' elevation.

The next part is what usually confuses people. The actual bridge tile's behavior has to be set to 08 00 for overland brdiges or 70 00 for bridges over water.


At some point in your game you're going to want to make a person leave the map right? Well here's how.

Remember is sprites I briefly mentioned a sprites person ID and that was used to make a sprite disappear or reappear.

Set the sprite's Person ID to a flag in the game ie flag 0x250 would be ID# 0250
When the corresponding flag is set using the setflag comand the sprite will disappear. Releasing the flag will make the sprite reappear

The below code would make any sprite with the person ID 0250 not be displayed.

#org 0x800000
setflag 0x250


There are many issues people might have when making a map. So here is a list of some common ones and their solutions. AdvanceMap Freezes when ever I load a rom is this a problem? AdvanceMap isn't frozen hopefully, it just sometimes takes a while to load. My warp isn't working what's wrong? In order for a warp to work, it has to be on a tile that has the behavior set to use some version of warp (61 00) see tile events. My map connections aren't working what's wrong? Make sure the connection has the correct map bank and number. Also both maps should have connections with each other. Open your map and the connection manager and press the arrow in the direction to see if it works. My map's border in game is using different tiles then the ones i selected. How do i fix this? This is a tile sharing issue. Refrain from using tiles in the second part of your tile-set as borders. Try using the black tile in the top left corner or a tree as your border. I get an error whenever loading this one map. what should I do? If you really think you can't fix it, try deleting the map the complete way. My game isn't working! This is usually not because of advance map,but in the folder with the rom there should be a file with the same name as your rom *.bak. Change the extension to *.gba. Also you should have been backing up your game regularly!

Any suggestions for other topics?
PM and I'll try to add them to the tutorial

Got any questions or need help? Post the issue as well as info as to whats going on, and I'll try to answer!

kospear December 1st, 2008 5:40 PM

Thanks, nice tuorial!

Really helped me alot.

My first spioler:

If you took the time to read this you must be pretty awsome!

machomuu December 1st, 2008 5:45 PM

Yeah, this is a good tutorial for newcomers.

link12552 December 1st, 2008 5:47 PM

I'm glad you liked it!

I'll try to update it as soon as I've made 15 posts.

Not many people have posted.

^ Whats with all the strange raindbow colors?^

machomuu December 1st, 2008 5:57 PM


Originally Posted by link12552 (Post 4164597)
I'm glad you liked it!

I'll try to update it as soon as I've made 15 posts.

Not many people have posted.

^ Whats with all the strange raindbow colors?^

Well, as I said, it's a good tutorial for newcomers, I didn't find Advance Map too hard to understand when I started hacking a long time ago, so I never needed tutorials, it's the same case with many other people.

link12552 December 1st, 2008 6:19 PM

It was easy for me to use advance map at first as well,

I just thougt the tutorial might be usefull to someone who needed help understanding Advance Map.


Can you guess what my favorite color is?

It's red

liger66 December 3rd, 2008 12:09 AM

is there a way to compleatle remove all the maps on the rom(fire red)

Ninja Caterpie December 3rd, 2008 12:20 AM

Why? Just cover them in grass or rock and restart..easy!

Korronensu December 3rd, 2008 9:14 AM

Naw. Liger is asking the same question I'm wondering. Covering them in grass doesn't get rid of their pre-existing scripts. If anybody knows how to delete maps and banks, that would be good info to share.

Sweet Speed December 3rd, 2008 9:21 AM

Nice tutorial, link12552 the content is very good and probably good for newcomers.

Some points though, first of all if you want to present your pictures, always use the .png sufffix as It's probably the best and clearest file type of the pictures. Apart from that you did well and I'm sure this will help a lot of people.

link12552 December 3rd, 2008 12:41 PM

Thanks, glad you think it's good.

I'll try to fix the images later, I guess...

link12552 December 3rd, 2008 12:55 PM

3 Attachment(s)

Originally Posted by Korronensu (Post 4167491)
Naw. Liger is asking the same question I'm wondering. Covering them in grass doesn't get rid of their pre-existing scripts. If anybody knows how to delete maps and banks, that would be good info to share.

See tutorial

Try clicking on the scripts and selecting "deleate script"
Then go into the header, under map scripts click remove under every single one. This should leave the map competely blank, except for tiles.


Note: does not really deleate simply erases data

Deleating Map Attachment 43950
Deleating scripts pt. 1Attachment 43952
Deleating scripts pt. 2Attachment 43951

Or try creating a new map then inserting it in the same header.
Depends what your using it for.

Hope it helps!

kospear December 3rd, 2008 4:26 PM

How big can you make a map in Firered

I'm making this huge mountian, and I want it to be as big as possible.

HeavensNightSH December 3rd, 2008 4:28 PM

You're awesome. I'll definitely be using this!

link12552 December 3rd, 2008 4:29 PM


Originally Posted by kospear (Post 4168438)
How big can you make a map in Firered

I'm making this huge mountian, and I want it to be as big as possible.

It's width = 70 height = 106


Bigger isn't always better.



Originally Posted by HeavensNightSH (Post 4168442)
You're awesome. I'll definitely be using this!


I need all the support I can get...

I'm still sort of new.

kospear December 3rd, 2008 4:36 PM

Wow, that was fast!

Thanks, hopefully you'll update and add more things to your tutorial soon.


My second spioler:
Have you read my first? If you did than you know what this means!

ONECSM December 3rd, 2008 4:37 PM

wow! one of the best tutorials ive seen so far! advance map is pretty easy to understand but im sure is will help some people out there. so great job!

link12552 December 4th, 2008 4:19 AM


I'm glad you think it's good

I updated the tutorial

chrisdurer December 4th, 2008 8:43 AM

Hey well i was wondering how you put new maps on and not have them part of another map. every time i make a new map it puts it pallet town. and i want it on route 1?

great stuff really helpfull

link12552 December 4th, 2008 12:38 PM

1 Attachment(s)

Originally Posted by chrisdurer (Post 4169702)
Hey well i was wondering how you put new maps on and not have them part of another map. every time i make a new map it puts it pallet town. and i want it on route 1?

great stuff really helpfull

  1. Click new map
  2. Insert the pallete header ect...
  3. Draw you map
  4. Click insert map
  5. Under replace map put in header = 3 bank = 19
This should insert the map in route 1

Cuation: Make sure that the number of trees before the opening is the same as before.

Attachment 43959

Hope it helps

Nice to see people like it!

s0nido December 4th, 2008 1:00 PM

How do I edit the inside of a mountain that I build? I know how to make the entrance, but I want to be able to edit the inside of it.

link12552 December 4th, 2008 3:12 PM

1 Attachment(s)

Originally Posted by kebz95 (Post 4170000)
How do I edit the inside of a mountain that I build? I know how to make the entrance, but I want to be able to edit the inside of it.

  1. Create a new map
  2. give it the cave tile-set numbers 0 & _...VV
  3. Spoiler:
    57 = lava
    38 = ice
    36 = grey
    37 = desert
    15 = light brown
    59 = white
    40 = green
  • Set the width and hieght
  • Draw map
  • Insert
  • Create warps for the entrance(s)
  • Do the same for the exit(s)
  • Save
  • Test
  • Attachment 43961

    poddish December 4th, 2008 5:57 PM


    Originally Posted by chrisdurer (Post 4169702)
    Hey well i was wondering how you put new maps on and not have them part of another map. every time i make a new map it puts it pallet town. and i want it on route 1?

    great stuff really helpfull

    to do that, select the header tab, it should say the name of the maps 2 times, click on the arrow on the 1st one, and select the new name for that map (note: if you change the name of the second one, ALL maps with the same name change) save, then either x out of a-map, or change another map's name, change maps through the map name header and when it asks you if you want to save click no, and the map should have the name you want

    amtrax December 4th, 2008 7:18 PM

    hi i know a couple of other movement permissions that might be worth adding:
    10 = height 3 (compared to C being height 2)
    0 = height change (eg. C to 10)
    for example around a bed

    0 C 0
    0 10 1 10 0
    0 C 0

    chrisdurer December 4th, 2008 8:41 PM

    How do you delete a map that you may have accedently put into the rom? or is it really complicated?

    All times are UTC -8. The time now is 8:55 AM.

    Like our Facebook Page Follow us on Twitter © 2002 - 2015 The PokéCommunity™,
    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, The Pokémon Company or The Pokémon Company International. We just love Pokémon.
    All forum styles, their images (unless noted otherwise) and site designs are © 2002 - 2014 The PokéCommunity / Poké
    PokéCommunity™ is a trademark of The PokéCommunity. All rights reserved. Sponsor advertisements do not imply our endorsement of that product or service. User generated content remains the property of its creator.

    Use of PokéCommunity Assets