When your map is getting too big OR it's time to change major locations, you can link multiple maps together. How you chop up your maps is up to you, but you can look at the real Deus Ex maps for lots of examples.
This tutorial is geared toward creating "two-way" links using where the player can go back and forth between maps, like the way the New York City maps were set up. To create transitions between major locations where you'd like to see Jock's helicopter take off and that sort of thing, you would use a MapExit and a PlayerStart instead of multiple Teleporters. Stay tuned for a MapExit tutorial.
IMPORTANT: You MUST name your maps with a .dx extension for teleporters
to work properly. When loading any maps saved with a .dx extension,
you'll need to either type in the full filename of the map, or type *.dx for
the filename, hit enter, and then select your map.
IMPORTANT: In order for the state of the maps to be properly saved during gameplay, you must also name your maps starting with the mission number. You only care about retaining the state of a map when you are using 2-way teleporters (see below). So if the mission number of the maps was 66, your map names might be something like 66_Map1.dx and 66_Map2.dx. The map name in the DeusExLevelInfo's MapName property must also match. So if your maps's file name is 66_Map1.dx, the MapName value in that map's DeusExLevelInfo item would be 66_Map1. If you do not name your maps correctly, items that the player picks up will re-appear when the player goes back to that map. ALSO: For the state to be saved correctly, both maps need to be the SAME mission number.
If you're setting up a link to another map because it's time for the player to go to an entirely new location (such as a new mission), you can skip this step.
If the new map is a continuation of the same area, you might want to have a hallway or something which you can duplicate so that the player feels that he/she is in the same area; see some of the Deus Ex maps for examples. Generally, you'll want to repeat only a very small section of the other map. In this common area, you'll be placing items called Teleporters in both maps.
All of your maps will need to have a DeusExLevelInfo item. Add them now if you need to (they look like this: ). They are available under Actor -> Info.
Pull up your DeusExLevelInfo properties and make sure that the MapName value is filled in for all of your maps. Be sure to also set a mission number in the missionNumber value and name your map starting with that number and then a "_".
IMPORTANT: Do NOT use any spaces for the MapName values. If you do, you'll get an error when the maps start.
Pull up one of the maps you want to link to/from, it doesn't really matter which one. If you want to set up a one-way link, pull up the "from" map. Expand Actor -> NavigationPoint and select Teleporter. Go to the area on the map where you want the link to happen and add a Teleporter there; this will be your "send" Teleporter for this section of the map. It will look like this in the editor: .
Right-click on it and pull up its properties. Expand the Teleporter category and fill in the URL value with the name of the map you want to link to, followed by a "#", and then the name of a teleporter that you will put in that map. This will be the "send" teleporter on this map, so we'll leave bEnabled set to True for this one. We'll also leave its Events -> Tag name as None.
NOTE: If you want to set up a one-way link (if your level is progressing to a new mission or major area and you don't want or need the player to be able to backtrack), then you only need one Teleporter on this map, so you can skip the rest of this step.
Now we'll add a SECOND Teleporter to the same map. Why? While it's possible to have a single Teleporter act as both the "send" and the "receive" point in a map, if the player accidentally backs up even slightly after teleporting, the other map will load up. That's just not very nice!
So add a "receive" Teleporter that will be the point where the player appears when coming from the other map. Position this one so that the player is not likely to run into your "from" Teleporter. Point the red arrow coming out of the Teleporter symbol away from your other Teleporter and toward where the player should go. (the red arrow defines which direction the player will be facing when he appears)
This time we don't want this to act like a "send" Teleporter, so pull up its properties and set bEnabled to False. You can fill in the URL value if you want, but it won't do anything.
You also need to set its Events -> Tag value to something identifying this location.
Now pull up your other map and repeat Step 2, but this time do everything in reverse.
Add your "receive" Teleporter. In this example, your "receive" Teleporter would have bEnabled set to False a Tag value of "theline". It doesn't matter what the URL value is.
NOTE: If you're setting up a one-way link, you only need a "receive" Teleporter on your second map, so you're done!
Now add your "send" Teleporter. For this example, the "send" Teleporter on the second map would have a URL value of "70_Disneyland_Pirates#serviceentrance", a bEnabled value of True (the default) and it doesn't matter what the Tag value is.
That's it, try it out.
NOTE: You can also use Teleporters to instantly zap to another part of the same map. Though Star Trek style transporter beams don't fit in with the world of Deus Ex, your levels may have a different theme than Deus Ex or you might think of some other reason to do that. To teleport within the same map, just put in the Tag name of another Teleporter on that map as the URL value, without any map name or "#".
If all of these URL and Tag values have you confused, maybe the following illustrations will help. If you had two maps called Map1 and Map2, here's how you could set up the Teleporters to link them together.
For a one-way link from Map1 to Map2:
For a two-way link between Map1 and Map2:
Back to main page