Originally posted here: www.planetavp.com/modmaker/
Created by: William "modmaker" Bostjan and Coty
Mirrored here for archival purposes
Coty's MissionsMod FAQ's
Most Common DEdit Questions Asked
DEdit and the Processor
Q: How do I install DEdit?
A: You need to do this stuff for it to run right:
You needed to do a FULL install of the game.
You need the 18.104.22.168 or better upgrade patch.
You need at least 700 megs of free disk space.
Download and run the tools just like an upgrade. Go to the tools folder and double click the unrez.bat. It will take about 10 or 15 minutes to unrez all the files.
Avp2.dep is now in the Avp2 folder. Run DEdit and open the project avp2.dep.
Now you need to set the processor and DEdit for the correct folder.
FOR DEDIT RUN OPTIONS:
In the Edit\Options\Run commands you should have something similar to this:
C:\Program Files\Fox\Aliens vs. Predator 2\lithtech.exe
C:\Program Files\Fox\Aliens vs. Predator 2
-rez Avp2 +runworld %WorldName%
Processing a Map (Processor Settings)
The processor setting is a DOS path to the avp2 folder, so you need to check that path in dos.
When you process the map, it asks for a working directory.
If AVP2 is installed in a folder with long file names, you will
need to use the 8-character DOS shortcut for the name. For
instance, if you installed the game to the default directory,
you would want to put the following in this field:
DOUBLE CHECK THIS LOCATION IN DOS if you have the demos installed because the path could change to
c:\progra~1\fox\aliens~3.pre\avp2 or something else.
You can get the 8-character DOS shortcut for the path names
with the "dir" command in the Windows Command Prompt window.
Q: How do I Rez a map?
A: Lithrez is a DOS program. You have to give it an argument. i.e.:
lithrez cv mymap.rez C:\PathToMyMapFolder
You need to have a directory structure just like in your project in MyMapFolder.
You can't use the rez option in DEdit. It tries to rez your whole project. You either have to build a project folder with the same directory structure as your project with only your created stuff in it, or learn to use Winrez from Black Angel. Winrez is a very nice program, especially if you can't do DOS.
Get Winrez here.
Example: I make a map ready for release. It's DM_Mine.dat in the DM folder. I would then create and put my dat in this structure: C:\Mine\Worlds\Multi\DM\DM_Mine.dat
Now I go to the tools folder and type this in dos:
"lithrez cv DM_Mine.rez c:\Mine" (without quotes) and it should create a rez file in the tools folder called DM_MINE.REZ from the contents of the Mine folder.
Optionally, you can create a batch file (.bat) to do the same thing in the tools folder with the same contents: Lithrez cv DM_Mine.rez c:\Mine and all you have to do is double click on it in Windows.
Q: How do I set up a single player map so it will show up in the single player custom levels?
A: From The Docs that came with the tools:
1) Create a folder named "Custom" inside your
2) Insert the desired .dat files here. You can also place .dat
files in subdirectories inside this "Custom" folder.
3) Run avp2.exe.
4) Click the "Options" button in the launcher window.
5) Type "-rez avp2" in the "Command-Line" field.
6) Check the "Always specify these command-line parameters" box
if you want levels to show up on the "Custom Level" screen each
time you run the game.
...* NOTE: As of AVP2 version 22.214.171.124, the Custom Level menu does not
show levels which are inside .rez files. Future versions of AVP2
may add the ability to load levels inside .rez files through the
Custom Level screen.
...*Added by Coty for 126.96.36.199+: You would place the dat file in the Worlds\Custom\ folder INSIDE THE REZ. Ex: Worlds\Custom\Example.dat. To run the rez, all you should have to do is place the rez file in your ROOTGameFolder and point to the rez in the command line. ex: -rez Example.rez
Q: My map runs great and looks good. I can play it from the command line as a single player game. But how can I get it to recognize my map as a multiplayer map?
A: Place the map in a directory structure like what is in the game. Let's say it is a DM map. ROOTGameFolder is the folder that holds your Aliens vs. Predator2 game. Place the map in ROOTGameFolder\Maps\Worlds\Multi\Dm\Dm_example.dat and add the command "-rez Maps" (without quotes) in the command line options when you start the game.
Q: How do you change the grid size?
A: I always use the + and - keys on the keypad.
Q: I keep getting the "Couldn't Load Level" message! What does this mean?
A:Make sure your EDIT\OPTIONS\RUN parameters are correct here. Don't replace %WorldName% with your map name. The engine does that for you. Make sure it is %WorldName% with capitals as shown
Q:When I start the DEdit tools that came with the AvsP2 Toolkit and try to open avp2.dep, I get an error message saying "Cannot find class module Object.dll". How can I fix this?
A: The tools should have put the avp2.dep and the object.lto together in the same folder, which should have been your Aliens vs. Predator2\Avp2 folder by default. Did you move your avp2.dep? They must be in the same folder (project directory) to get all your object (resources) in the game.
Q: I'm totally in the dark! Whether I add a light source or the ambientlight thingy, it's still just pitch black What am I doing wrong?
A: You need to place a WorldProperties object somewhere inside your map. Also make sure your map is sealed. By sealed, I mean that there should be Detail0 brushes separating the inside of the map from the outside with NO gaps, or cracks (leaks). Read more about sealing a map here.
Q: I just keep falling through my floors and die on the way down?
A: Place your gameStartPoint at least 128 units above the floor.
Q: I get the following message during processing, " Couldn't find any textures, (Is project path set?)."
A: The processor couldn't find any textures, and is asking you if the path is set correctly. This happens if 1) You didn't texture any brushes, or 2) your path isn't set correctly for the processor to find the textures. My guess is 2. Now the processor needs a DOS path. If you installed a demo of this game before the retail version than your path would probably be wrong.
c:\progra~1\fox\aliens~1.pre\avp2 would probably be
c:\progra~1\fox\aliens~2.pre\avp2 or even something else.
Try going to c:\progra~1\fox in dos
How many do you see and which one is it?
My guess is the first one is a demo, SP perhaps. It might look like this:
ALIENS~1 PRE (could be a demo)
ALIENS~2 (could be the old avp game)
ALIENS~2 PRE (could be the one you want, the avp2 game)
dir a* (right one? You will see the avp2 folder, and the Aliens vs. Predator2 will probably be displayed. But what if it's another demo?)
Hummm.... Looks like it.... (back up one folder and see if tools are there)
Yep that's it! c:\progra~1\fox\aliens~2.pre\avp2
Useful DOS Commands
D: (Change to DRIVE D)
DIR (Directory listing, can use wild cards ex: dir a*)
CD Directory Name (Change directory ex: cd avp2)
CD .. (backup one folder)
CD ..\Maps (backup one folder and go into the Maps folder)
Q: I just tried a full optimization process of my map and it turned out to take
about 270 hours to finish. The map works fine with fast approximation,
but I eventually have to do the full thing. Any Ideas?
A: The processor can't handle whatever you got in there. You must simplify it (help the processor out). Set brushes that's not bound to an object and not a ceiling, wall, or floor (doesn't block vis) to detail 1 in their properties. Make sure the map is sealed. Read more about sealing a map here.
Q: I'm stuck trying to get a working sky box. I've followed the tuts as far as I can tell, and all I get is a black sky. I've even tried importing the sky stuff from the sample maps and no luck.
So, does anyone have their own skybox working yet?
A: It's your "In-Game" Display Settings. You're going to have to turn it up a notch or 2. The "Very Low" settings is just that. It doesn't draw the sky.
Q: My rooms are leaking. How do I Block VIS?
A: Put your GameStartPoint in one room. Make a brush and put it in the doorway. Doors don't block vis. Make sure you cover doors and windows where there is an opening to the outside of the room. Now place the OutsideDef on the outside of the room and process the map. See if you get a leak. A line will go from the inside of the room to the outside. Where this line breaks through, on that wall or floor will be a small crack or gap. Fix it, then move your brushes and GSP to another room and do that one. Finally, move the OutsideDef to the outside of the map. When a level or room is sealed, a line will not be drawn from the GSP to the OutsideDef and "Can't find a path from inside to outside, or the map is sealed correctly" will show in the processor window.
Brushes need to butt together on the ends, no overlap or crack. The engine is trying to think ahead of you and draw what it thinks your fixing to see. It doesn't know the difference between a small crack or a window. If there is a crack between the walls, it will go ahead and draw the other room thinking you might be fixing to go there.
For a room to be sealed, it needs to have detail 0 brushes all around it, walls, floor, and ceiling. The engine will see right through a detail 1 brush.
Doors don't block vis either. For a door to block vis you make a single sided brush in geometry mode, give it an OCCUR texture, and make all it's properties FALSE except solid and Portal (maybe nosnap too). Give the brush a special name. And put the name of the brush in the door's PORTAL box. The portal brush needs to cover the door opening area (inside the door) with NO gap between the portal and the door frame.
Q: Why can't I get my .rez files to work through the command line?
A: What version are you running? The original version wouldn't let you run rez files through the custom folder as in SP games "Custom Level." There is also a limit to the amount of -rez commands you can use in the command line. You may have to remove one of the commands. The only other reason I can think of, is that the dat file needs to be in the Worlds\Custom folder INSIDE the rez to show up in the SP Custom Levels.
You put the .rez file in your ROOT game folder and you put -rez NameOfMap.rez in the command line in the startup screen Options menu. Make sure you spell the rez file correctly. If you have any other rez files in that command line then temporally remove them. They could be causing the problem.
You need version 188.8.131.52 or better.
Q: IS there a way to turn .rez maps into .dat maps? I hate having to waste my limited command line on maps.
A: Make one big rez file with all your rez files in it.
Step 1) Unrez to a map folder:
Lithrez xv myMap.rez c:\pathToMapFolder
Repeat as many times as necessary for all your rez files.
Step 2) Combine all the dats into one big rez file:
Lithrez cv myBigMapFile.rez C:\pathToMapsFolder
Or extend your Command Line:
Note- I take no responsibility for your mistakes!
Inside your game folder is a file called "avp2cmds.txt." This file loads all the game rez files, does some other things like disable joystick, and then has your command line list tacked on the end! Make a copy of this file and rename the COPY "myStart.txt." Load the file in notepad, erase everything in it, and add this:
lithtech.exe -cmdfile myStart.txt
Now SAVE AS, and at the bottom of the save dialog box is a text field SAVE AS TYPE. Change it to ALL FILES, name your new file "myStart.bat", and save. Notice I want it to be a .bat file (batch)... Now right click on the file and make a shortcut. Move this shortcut to the desktop. Rename it whatever you want. Now whatever you tack on the end of myStart.txt will load when you double click on the batch file on your desktop
Note- myStart.txt and myStart.bat are in the root game folder. myStart.bat (shortcut) is on the desktop... I believe the myStart.txt file is limitless as to how many rez files to load. From what I can remember now, DOS had a 80 character limit on a string, and Windows had 256. I think XP eliminates it all... I would say you have at least 256 characters to play with now.
Here is what mine looks like:
-windowtitle "Aliens vs. Predator 2" -rez AVP2.rez -rez sounds.rez -rez Alien.rez -rez Marine.rez -rez Predator.rez -rez Multi.rez -rez AVP2dll.rez -rez AVP2l.rez -rez custom -rez AVP2p.rez -rez AVP2p2.rez -rez AVP2SP.REZ -rez AVP2P1.REZ +DisableMusic 1 +DisableSound 0 +DisableMovies 1 +DisableJoystick 1 +EnableTripBuf 1 +DisableHardwareCursor 0 -rez Custom\S2.rez -rez Maps
Notice it's all one string. Also notice my new -rez stuff is after DisableHardwareCurser 0. Of course, yours may be a little different. If you change any settings or upgrade versions, you may need to copy and paste the modified avp2cmds.txt to your myStart.txt.
Q: What's all this talk about -nosnapnocsg?
A: The -nosnapnocsg is a very powerful tool used to create better maps, however; I suggest for beginners not to use it for their first maps. It is highly likely that you can destroy a map with it. Even I am being very cautious at this new way to make maps. I would suggest you get some time experimenting and learning first. I feel the need to stress this, because map making is not easy in the first place. Many will fall by the wayside, and this -nosnapnocsg thing will no doubt increase your chances for failure. Many a map have been built in NOLF without this feature. All of them that I know of have never used -nosnapnocsg. It makes better maps, but you need to be experienced at map building in the first place. I would call this highly advanced map building. And if you're not careful, you could get in over your head. I would hate to see anyone loose a map, or interest in mapping because of it.
If you're really interested in -nosnapnocsg mapping, I suggest you read some advanced tutorials on it. I know Red Riot has one, and both Red Riot and Nerotrobe have left messages on it in the AvPNews mapping forum. Do a search there for -nosnapnocsg. And may I stress SAVE AS often?
There may be one here.
Q: What programs do you use to make your maps?
A: I do everything in this game from DEdit except for Terrain. I use MilkShape3D for terrain editing. MilkShape can save in Wavefont.obj which DEdit can use under "Import Worlds." Some people use other programs for importing terrain and stuff, but I find Milkshape has a lower poly count than anything else I've tried. It can also build caves that other programs can't make, like Leveler, Landmaker, or Landscape3d. I also use Micrografix Picture Publisher7 for creating textures.
Q: Why do my brushes seem to disappear as I move around in the editor?
A: You can adjust the far clipping plane in DEdit by holding down the "C" key while moving the mouse up and down. As long as one vertex is in the clipping plane the editor will draw the entire brush.
Q: How do I make breakable doors break when damaged and not touched?
A: (Modmaker) Click on the door's damage properties. The last flag has "Never Destroy." It defaults as true. Set it FALSE. Now, when you shoot the door, it will break apart.
Q: As for door creation and movement, I am more stuck than sticky the stick insect with a bad head cold.
A: You create a brush, highlight it, marker to selection, right click, and bind to objectDOOR. In the doors properties you set open wait time to "4" for SP or "6" for MP (without quotes). For doors that close automatically, Open Wait Time is the amount of seconds before closing. You need to set the door's move direction in "x y z" format. Ex: (1 0 0). Set the speed, and the amount of movement (in units). In the door's "State Flags" have some options that may need setting also...
Hinged Doors are different. You need to put the hinged door object where the hinge will be, and copy/paste the POS to the ROTATION POINT in the door's properties. The rotation angles are in degrees in x y z... (not 0 1 0 but like 0 -45 0). There is an open away flag that could throw that off too. Open away should be FALSE to have the door open at the same direction every time.
Q: Someone please tell me how to make switches and triggers for doors?
A: Make a small brush by the door. press the Marker to Selection button. Right click. Bind to object switch in a sub directory of the door objects. In the switches "On Target" properties put the name of the door. Put TRIGGER in the "On Command." Do the same for the OFF Target and Command.
To have the door open by a trigger:
Add a trigger in front of the door. Change the DIM in the trigger's properties so it covers the area you want to activate the trigger. It would be a good idea to make the DIM big enough to cover both sides of the door. The trigger has a target option. Look in the trigger's properties. In one of the target's options put the door's name, and the message, "TRIGGER." Set "Number of Activations" to ZERO in the trigger's properties. It defaults to 1. Zero is unlimited. The door receives TRIGGER, TRIGGERCLOSE, LOCK, and Unlock. The "State Flags" properties on the door can set the door for Player Activated or not. Make it FALSEso player will not get the USE icon when he gets close to the door. The door defaults to close automatically. The OPEN WAIT TIME is the seconds before the door closes automatically. Set it to about 6. Set the door's move direction in x y z (ex: 1 0 0 )and distance (in units).
Q: how do you make a button that moves and that is also triggered?
A: You bind brushes to door objects. The door object has a place for attaching other objects. You put the name of the switch, or whatever object, in the door's attachments text box. Say you had a brush bound to a switch to make the door open and close. I would put the name of the switch in the door's attachments. The switch brush belongs to the switch, so there is no need to bind those brushes to the door. This is mostly used for elevators and stuff like that (keyframers)...
Q: How do I place a torchable door that opens once you torch the bolt (or padlock, or weld or whatever)?
A: The torchable object is in the object list. You place one in the map where you want the bolt to be (like a door edge). You have the door start locked and send it a message "msg Door (UNLOCK; TRIGGER)" in the torchable object's "on cut" command. There is also an option in the torchable's properties to use both the torch and the welder. You may have to turn that on too.
Q: When I bind a door to a torchable object it disappears?
A: A torchable object is simply a padlock or a weld spot depending on the properties of the object. You don't bind anything to it. You use a torch on it, and it sends a command when its torched. The command could be to unlock the door. I want to also add that they disabled the Welder part of the torch in the SP game. So you won't see it in SP. What I did in Stranded2 was swap the skins and models around in the torchable's properties. So this depends on what type game you are making a map for. DEdit treats the run option as an SP game.
The hackable works the same way as the torchable. It sends a command when it is hacked. You don't bind anything to it. It shows a hack icon when you point to it . You use the hacking device on it, which can be added in the map through an ammo box or a pickup command.
Q: Why are doors so laggy in MP?
A: (ModMaker) door and elevators can have problems in MP because the information that "the door is now opening" has to be sent to all the other computers online. So which ever is the slowest computer, or the one with the worst ping, is the weakest link... Doors should be designed in confined areas, and portals should be used as well, to block vis. The design and placement of doors in MP is critical. You shouldn't have them in wide open areas...
Q: How do I bind multiple doors to the same switch?
A: You don't bind doors to switches. You bind a brush to a switch, and have the switches ON and OFF command trigger the doors. This will work in the switch if both doors automatically close.
ON Target: NULL
ON Command: msg Door0 (TRIGGER); msg Door1 (TRIGGER)
OFF Target: NULL
OFF Command: msg Door0 (TRIGGER); msg Door1 (TRIGGER)
Doors also have a DoorLink text box. You could put the name of one door in the other one's Door Link, and the door with the link will trigger the second door. You would just use the message from the switch to trigger one door: msg Door0 (TRIGGER) and door0 will trigger door one if door1 is in door0's link.
Q: How do I make a door open by pressing on a computer (a brush textured like a computer?)
A: Bind the computer brush to a switch and have the switches ON and OFF messages trigger the door. On Target: NULL. On Command: msg computerDoor (TRIGGER)
Q: Can someone, anyone give me the proper vector to make a hinged door object open down and toward the rotation point, so that when open, the door is at a 90 degree angle to the floor?
A: (Modmaker) It will be either in the x or z axis, and it will have a negative in it.
So rotation is:
(-90.0 0.0 0.0)
(0.0 0.0 -90.0)
Q: I didn't find an error, but behind a door is a corridor. That small corridor leads to a room. But after processing it, everything behind the door disappears. why?
A: You have portals in your doors that block vis, and there is no leak in the room, so the engine doesn't draw it. Try putting an insideDef in the corridor if this is the case, or remove the portal.
I would suggest you remove the portal rather than add an insideDef. Not that it matters much, but if that door is leading to a corridor that really has nothing in it, and other rooms are on down the hall, than the door don't really need a portal. Sometimes we can overkill on portals and such. It may even be wise to remove one of the other door's portals at the other end of the corridor too, so the engine will have a link to draw the corridor.
You see, if a space is completely blocked off, then the engine thinks it will never be used, or player can never see that place, and it throws it out as unused space and doesn't draw it.
Portals can hinder you sometimes, because there may be a big pause when you open the door and all that info on the other side hits you in the face at once. I would suggest that you use portals only to block certain problem areas where several rooms are in the vis from a certain spot, and the engine will lag you because its trying to draw ALL the rooms as you move, or even where the engine is trying to draw 2 big rooms where only one is necessary. Example: A hallway in a motel where many rooms are close together, use portals.
InsideDef is just an object that tells the engine, "This closed in space is in the world. You may need to draw it if player gets close."
Q: How do I make a door with glass like a patio door open?
A: Make a door, Marker to Selection, right click, bind to object Door. Split the door where you want the glass to be. Move the glass brush inside the door towards the center a couple of units on both sides. Bind the glass brush to a TranslucentWorldModel. Choose the invisible texture and texture the glass. Choose a glass texture and texture the front and back of the glass. Make translucent TRUE in the TWM's properties. Put the name of the TWM in the Door's attachments box.
Q: How do I make an elevator using doors?
A: Make a door. Set the direction of movement (0 1 0 for moving in the y+). Set the other options, like amount of movement, speed, and set State Flags to NOT "Player Activated." Make sure "Can Move Player" is TRUE, and make it not close automatically. The door is a lift. Make a brush. Bind it to a switch. Have a switch at the top, bottom, and on the lift. Make the doors on the bottom and top floors shut automatically at about 6 seconds. Put the name of the Switch on the lift in the Lift's (door's) attachments box.
ON and OFF message to trigger the lift.
ON and OFF message to triggerclose the lift
The lift could send a message to trigger the top doors on the Opened Command, and trigger the bottom doors on the Closed Command.
For more floors than two, you would need to create a keyframer to move to each floor.
Q: Please explain Switches and EventCounters to me.
A: In the "add objects\door" folder is a switch. The switch acts like a toggle. It has an ON and an OFF.
It is used as a light switch like this:
ON Target : LightGroup1
ON Command: ON
OFF Target: Door1
OFF Command: TRIGGER
ON Target NULL
ON Command: msg LightGroup1 (ON); msg LightGroup2 (ON)
OFF Target: NULL
OFF Command: msg Door1 (UNLOCK; TRIGGER); msg LightGroup0 (OFF)
To use a switch to open a door just set both the ON and OFF to TRIGGER (OFF to TRIGGERCLOSE if the door doesn't close automatic) the same door...
The switch is tripped on, and then off on the next trip (the USE key)
The event counter receives a message INC or DEC
Command: msg EventCounter (INC)
You can set the event counter to 6. Then you can DEC the event counter to 5 by sending it a DEC message. If the event counter has a message in the DEC to Value it will send whatever message to whatever target in there..
Q: How do I get the vision modes to work?
A: Open the Worlds\Multi\Evac\Sample_Evac_Events.ed. In your nodes view find 00- World Objects and select the StarLightView folder. Press CTRL-C (Copy). Open your world and paste it (CTRL-V). This should give you the effect you are looking for. Save Selection as Prefab, because you will need it on other maps. Check "Light Animations" in the Processor settings when you process the map. You will also need the Night Vision glasses for the Marines to see in the dark. You can get the night vision either in an ammo box or as a pickup message.
Q: How do I create the Rays of Light in mid air?
A: The light ray is a one sided brush bound to a translucent world model with alpha about .3. There is a group of textures with alpha mask that look like waves of color that I used for the texture. The textures are in the root "Detail" textures. The easiest thing you could do is grab one from a sample map. I forget which map name I saw some in, but it's the one that looks like Leadworks. It has the piston doors. Around the doors and lights are these things that I call "AirLights." It gives the effect of light shining through dust. You need the brush and the TWM its bound too.
Q: Does anyone know any good tips for lights and what levels of brightness to set for good all around lighting?
A: Make sure the AmbientLight isn't too bright. I usually use between 28 and 98. 28 is like moonlight. 98 is like daylight.
AmbientLight 48 48 48 in the World\World Info dialog box.
My lights are usually between .3 and .9 with .3 being a small desk light, and .9 being a fully bright hall light (bulb without a shade kind of light). Higher than .9 may be too bright. Be careful there... Also not be in very low graphics. Set the lights with a good graphic setting, something like medium in the game. Keyframer lights, LightGroups, StarLightViews, and other things like FX lights need the Light Animations checked in the processor to show up. Adjusting the lights to suit your needs, you can make a sharp bright light or soft light by moving the radius. Directional lights may need the FOV adjusted . They're like spotlights. A .2 light with a big radius would be a common soft light.
FX lights are more of a cop light thing. They flash, flicker, or whatever. You can control them with settings in the light's properties. They also eat up "in game" processing time (slow the game down). DirLights are just like regular lights, but by rotating the POS, you can change the direction they shine in. The FOV can be narrowed or widened. Lights and dirLights don't eat up in-game processing time unless you bind them to a light group. Binding them to a lightgroup will let you turn them on and off with a switch or make them breakable. You should also make "Light Models" FALSE on a regular light or dirLight when it is bound to a lightGroup, and just let the lightGroup light the models.
Look at the lights in the 030- Stairwell in one of the samples to see how to set up a LightGroup, or just copy it as a prefab.
Q: Why do my models appears like shadows until I light them with the marine's shoulder light?
A: There is an "object light" that lights stuff like APCs and props. Normal lights don't light models like that.
Q: How do I change the "Surface Flags?"
A: When you double click on a texture under the DEdit "Textures" tab, the top box says "Flags." You put a number in there, and according to the number, it changes every surface that was done in that texture. You shouldn't change the ones already there from the original game. If you add a new "Custom" texture, you will need to put something in the Flags box for the sound and bullet holes to correspond to, like metal, wood, or glass. You can look at other textures to see the different ones. You should also think about compressing the new texture 8x, or 4x if it has an alpha mask.
You can change just one surface that a certain texture is on that will not effect the other surfaces with the same texture. In geometry mode, with nothing else selected, you can right click on a surface that is highlighted in red. You will see an "Edit Surface Flags" option. You can put your number in there, and it will only change that one surface.
Q: How do you change textures on walls, etc...?
A: CTRL-T changes the whole brush in brush mode if its selected. You can change any single face of a brush in geometry mode. In geometry mode, with nothing selected, the face will highlight in red when the mouse moves over it. You can apply the texture by pressing CTRL-T. If you right click and choose "Select Texture" on a brush in geometry mode, you can call up the texture under the texture tab. "K" aligns the texture to one side. Holding "R" and moving the mouse moves the texture. The left mouse button will resize the texture. The right mouse button rotates it. Also in geometry mode you can right click and use "Map Texture Coords. or Reset Texture Coord."
Q: How to animate my textures and\or flickering light effect?
A: Sprites are *.spr files that take a series of textures and flip them like in the movies. You can add one easily by choosing a "Scale Sprite" in the "Add Object" option when you right click. You need to give the scale sprite a filename.spr in it's properties. You can see the different sprites under the sprite tab by double clicking on them. The sprite will show the textures it uses. That sprite name will be the filename you would use in the sprite properties of the scale sprite. You will probably want to do other things, like change the size of the scale sprite in the x and y,and there is another set of properties in there that changes the zBios and stuff.
You can just have a texture, or brush texture rather, move like water. In the brushes properties, you put "PAN" in the effects, and numbers like "4 4" in the effects parameters (without quotes). The texture on the brush will move 4 pics by 4 pics in the x and y every second. There is an online help option which is often quite useful. It may can answer some of your questions when you click on the names of stuff in object's and brushes properties.
You can add a sprite to a single face by going to the sprite under the sprite tab and highlighting it. Then on the face of a brush (highlighted in red, geometry mode) you use CTRL-T, and the sprite texture will go on the brushes face. You can adjust the texture using the "Map Texture Coordinates," and when you run the game, the face should be an animated sprite.
There are sprites that make good lights like the runway lights, and there are lights in "Add Object\ClientLightFX" that are like keyframed lights ... Some lights, many different lights, are in the ClientLightFX objects. You might just want to add some of those objects to your test map and look at them. You will also need "Light Animations" checked in the processor settings.
Q: When I run my level from within the editor everything seems fine, but when I run my level from the game, none of my custom texture show up. Why is this?
A: For the custom textures to show up in a game instead of DEdit run, you need to rez the custom textures with your map in a rez file in the same structure as it shows up in DEdit.
Q: How is a texture set up to be bright?
A: When you double click on the texture in DEdit, you can see the dtx settings. They have an alpha mask with the "Full Brights on Alpha" checked.
Q: For some reason I just cannot get the brush I've selected to split or anything, even with Ctrl+S, or Space, or S on its own.... My option to Split is always grayed out on the menu bar? Is it supposed to be like that?
A: In brush mode, all you need to do is select a brush. It will highlight yellow. Now move your arrow to one side of it and press the space bar, then move the arrow to the other side and press the space bar again. A line should have followed your arrow when you moved it to the other side. Now press S. The brush should not be highlighted anymore, and a line should have been drawn through it. You should now have two brushes.
Q: After I processed, I noticed it said I have eight problem brushes, with the locations given for each one. What should I do?
A: First, see if they show up in WORLD\DEBUG\Find Concave Brushes. If they don't, then you will have to either track them down using the coordinates in the processor, or do the process of elimination. Leave the processor window open for now. Copy and Paste one of the brush coordinates from the processor window into the "Marker to Location" toolbar button. Its a a little green button beside the "Marker to Selection" button. These buttons may be hid depending on the way you got DEdit set up. Click OK. The cross hairs should go to the corner of the bad brush. Sometimes you can't see this brush in the Perspective view, and you need to select the brush in the Nodes view to be able to see and delete it. If you still can't find the brushes, you may have to do what I call "The Process of Elimination," that is; hide half the map (folders) and process. Look for problem brushes during the process. Keep hiding until you have no problem brushes. Now start unhiding folders and processing. Continue the "unhide, process" until you track down the folders and eventually the brushes. Delete the bad brushes and make another.
It's always a good idea to keep your brushes organized in folders. At the end of a session, after I have processed my map and found no bad brushes, I organize my brushes in folders. The next time I process the map and find a problem brush, I know its one of the newly ones created that is not in a folder (bottom of the "Nodes View" window). That makes it easier to find problem brushes.
Most of the time bad brushes are caused by splitting a brush on a vertices. Don't use carve, use split. Carving usually gives you bad results in DEdit anyway. And don't split a brush on a vertices (corner). This can create zero thickness brushes that may not show up unless you select it in the nodes view. Move the brush out past the corner you're going to split first. If the other end has an angle on it, you need to move both ends of the brush past where you're going to cut. That way you can cut both ends off perfect.
Q: How do I get blood on the floor where a man was supposedly killed?
A: In geometry mode, make a zero thickness brush. Apply the blood texture to it. Place the blood about 1 unit from the wall or where ever you like, and bind it to a TWM with cromakey TRUE or translucent TRUE, and set nosnap TRUE. The Savage Potato said to look in Sprite Textures - MarBld6 for the blood texture.
Q: The help files mention a zero-thickness brush for things like chromakey objects such as the hanging cables, etc...?
A: In geometry mode, you make zero thickness brushes just like regular brushes. DEdit won't ask you for a thickness. You must set the nosnap TRUE and detail1 in it's properties, or bind it to a TWM and set detail0.
Q: What brushes should be detail1?
A: The outside box, walls, floors, and ceilings should be detail 0 because the processor can't see through a detail 0 brush. This will block the processor from trying to see what is in the other room. The furnishing like small boxes, tables handrails, the kitchen sink, etc... should be detail 1 because it doesn't really block anything, plus, the processor has to draw it from different angles. Setting it to detail 1 tells the processor to ignore it. Any brushes bound to doors, TWMs, volumes (OBJECTS), should be set to detail 0.
Q: How do you make a bounding box? Is a bounding box a brush?
A: A bounding box is an invisible box (shield) around objects. It's mostly used for collision detection. When your bounding box touches a triggers bounding box, it "triggers" the trigger. You usually can see the bounding box of objects like triggers in DEdit (white box). the DIM in the properties can sometimes adjust it...
I have also heard that a bounding box is interpreted as an object and the brush that is bound to it. For instance, if a complex wall is bound to a TWM and "Block Light" is set to true in the TWM's properties, then the whole wall will block light. Thus the wall and the twm both are considered the twm's bounding box.
You're probably wanting a blocker brush to keep Player from walking through props and stuff. They are usually brushes with an invisible texture around the prop. They are usually bound to a TranslucentWorldModel. Just look in the samples around the props like the dropship.
Q: How do I make windows transparent?
A: You need an invisible texture where the glass touches the wall. Select the invisible texture. Make a brush where the window will be. Bind the brush to a TranslucentWorldModel. Set the properties of the TWM to Translucent=TRUE. Go to geometry mode and apply a glass texture to the front and back of the glass.
Q: Is there an efficient way of making rounded rooms? Like making a sphere and hollowing it out? Some way that would NOT lag up a game or something. If I make a sphere, and then hollow it out, and I go outside of the sphere, it looks all mangled and broken, like broken glass and metal. Why is this? Is there a way to fix this?
A: Try NOSNAP=TRUE on the brushes. Sometimes this helps. When they snap to the grid it sometimes does this with brushes that are not built on the grid.
Set it detail1 for less complexity to the processor. You could build a detail0 hull around it to block vis with a hullmaker in the doorway.
Cutting the door out probably caused that too. You might can try removing one of the brushes and rebuilding a fancy doorway rather than cutting through an already complicated shape.
Q: I have some sloping surfaces which will have doors and blast shutters in them. I want to put black and yellow warning stripes around the edges of the holes. I can't put the stripes on a brush easily 'cause of the odd angles. Is that the only way?
A: Go in geometry mode and make some brushes in the top view and drag the vertices about 1 unit from the wall with the angle you want. Make them NOSNAP TRUE and detail 1 in the properties. You can work with the vertices more easily that way and not get a compiler error. Triangles are easier to work with also. Three edges don't create concave brushes like 4 edges do.
It takes some practice...
Another option I would do sometimes: If I knew the angle of the wall... Or find the angle like this: Highlight wall, marker to selection... Then rotate the wall until it's strait up again and write down the angle, like -30 in a certain view. Then I would build whatever to it, highlight the wall and the extra brushes, and rotate it back 30... Making sure NOT to move the crosshairs between the rotates.
Q: What is the difference between a regular map and one built with -nosnapnocsg?
A: In a -nosnapnocsg map, the face of a detail1 brush can't lay flat with a detail0 brush. You have to remove it.
Example: I have a box laying on a detail0 floor. I make the box detail1. For a -nosnapnocsg map, I need to make the box nosnap=TRUE and remove the face on the bottom of the box laying flat on the floor, or I could just raise the box one unit from the floor and use the invisible texture on the unseen face. With a regular map I would just set the box detail1 and put an invisible texture on the face that touches the floor.
You can move the mouse over the face in geometry mode and PAGE-DOWN to easily remove the face. Removing the face makes the brush complex. In a normal map we would have to bind such a brush to a world model and set detail0. With -nosnapnocsg you have less objects, and the map runs and compiles faster. The engine draws both sides of a detail1 brush even if they're not seen, and draws the floor under it as well. We could even make the Detail0 floor invisible and put a complex detail1 floor above it. We can build more detailed maps by manually removing the faces that are not seen on our detail1 brushes and joining such brushes, or faces together to form more complex structures inside our Detail0 hulls. The -nosnapnocsg map looks better because by removing the unseen faces ourselves, we can make more complex geometry that compiles faster.
Q: What is a vis blocker brush?
A: This is the way I look at it. When you set a brush Detail 1 in it's properties, you are telling the processor to ignore the brush when it calculates what it can see. In a sense, the brush becomes invisible to the processor. If you and I were standing in two separate rooms, and the wall between us was detail 1, the processor draws everything in both rooms because it doesn't see the detail 1 wall. I am standing in a room. The room has four walls, a floor, and a ceiling. These should be the default detail 0 because detail 0 will try to block the processor from drawing what's in the next room (blocking visibility to the processor). Drawing everything would slow us down. But the other stuff in the room like the pool table, pool sticks, beer bottles, pictures on the walls, and the lamp could be set to detail 1 so the processor doesn't have to calculate them, or worry about if we can see them or not. This may not be the true nature of it, but this is how I look at it. Setting a wall to detail 1 is like stripping the sheet rock off the wall, so all you see are the studs (to the processor). If a whole house was this way, you could see from one end to the other, but if the walls are detail 0 then we have to move through the house to see the next room. Generally, the walls, ceiling, and floor are detail 0 (hull) and everything else is detail 1. Brushes bound to objects should be detail0 also. Objects don't block vis, but setting a brush detail1 and binding it to an object could cause problems with vis leaks that are hard to find. Brushes not bound to objects and set detail 0 are vis blockers. It is the default mode of a newly created brush.
Q: Objects are invisible!?
A: Check Full Op and Fast Approx in the processor settings. Full op will let you see objects in the game. Fast approx will make the compile faster, but you should uncheck Fast Approx for the final compile before releasing the map to the public.
Q: Why do my marines look like blank posts (just stand there)?
A: If the AI is not a simple AI, you will need to place AI volume brushes on the map for him to run around in, and give the AI the initial command to TRG Player. For more information, please read the AI docs in the tools folder.
Q: Do you know how to set it so the AI keep respawning after you kill them?
.....A: You need a multispawner object for that.
Q: I want to add a few pulse rifles and some windows to smash, but I don't know where to look in the samples or what to do?
A: Make a brush where you want your glass to be. Bind it to a Translucent World Model object and set the translucent to TRUE. Choose a glass texture. You should have an invisible texture on the face of the glass where the glass touches a wall.
The pulse rifle, or weapons, can either come from an ammo box, pickup object, or be sent to the player in a pickup message. Example for pickup message: In the gameStartPoint TRIGGER TARGET: NULL. In the TRIGGER MESSAGE: msg player (pickup_notell weaponName). Replace weaponName with the name of the pickup weapon. Look at the weapon names in an ammo box if you don't know it exactly. It IS case sensitive...
Q: I can't make the weapons show back up after I pick them up.
A: (Modmaker) Respawns are coded in the engine. The lithtech.exe that run with the tools emulates single player, so the pickups you placed don't seem to respawn. But once you test it in the game by placing your created .dat file in your worlds/multi/dm folder, they should respawn without you changing anything.
Q: What is the relationship between AI volume brushes and nodes?
A: (Modmaker) The AI volume brushes are just that, the acceptable space in which an AI can move around in a level. The nodes are the waypoints that help the AI navigate and perform various tasks, or more specifically, goals. since the AI can't actually "see," AI volumes shouldn't pass through geometry like walls, because the AI will get stuck when it clips into the wall. Wallwalk nodes are specifically used for Aliens to traverse more complex geometry.
Q: From what I can gather, text in AVP2 is unnecessarily complicated. The entities that can bring up texts (such as the prop_PAD) refer to an outside file that I've yet to find. So, if anyone DOES know how to do this (or at least knows a workaround), I'd be interested to hear it.
A: Work Around...
Solution 1: Have a cinematic trigger show a pic with text painted on it. Works for SP, but I suspect in MP everyone will see it.
Solution 2: I guess you would have to put it on a computer or something like a sign and let each player go up and see it, also like the above...
Solution 3: You can hack into the cres.dll and add your messages. The reason the messages are in the Cres.dll is so they can be used in other "Real World" languages. The intention was not to hinder you...
(Modmaker) Use a story object (subset of the props, you'll find it there). Place it into your map. While highlighted, click the properties tab. In the properties there are three options, COMPUTER, PDA, and MEMO. Choose one. There is a field called text id. You punch in a number reference to text that is stored in the cres.dll.
Example: 20181 the dropship is two minutes out.
You need something like Visual C to read the resources stored in the cres.dll. Though not recommended, you can use ResHack to add your own text to the cres.dll and compile a new cres.dll.
Q: How do I place water in my map?
A: (Modmaker) Create a brush the size of your water. Put your cursor centered on selection. Bind to a "Volume Brush" object, and in the submenu select water. Now you'll still have a problem, because the water object defaults to a sprite for the surface, which is not part of the AvP2 resources. So you open up the "Surface Stuff" flag in the water object's properties, and near the bottom of the list you'll see sprite, use the browse button to the water sprites. #4 was the one I used in Crashland.
(Coty) When you bind a brush to a water volume, the brush becomes part of the object, thus the online help on visible is a bit misleading. Visible TRUE means the dtx texture on the volume brush. For instance, if you wanted to see the green water in a fish aquarium, you would set Visible to true and give the volume brush a green texture. The Surface Stuff setting is the sprite that is shown on top of the water. If set to true, a water sprite can be used. You can see this sprite texture in the SPRITE tab when you double click a sprite. You use the browse to get the filename of the sprite. The TINT is the color of the volume brush once your inside the water. If both Visible and Sprite Surface is set to FALSE the water brush will be invisible from the outside. Sometimes you may have two bodies of water next to each other that don't wave in sync. Another example is where the water brush isn't square.One solution is to turn the water sprite off and just use a texture for water. You can eliminate the offset wave because the textured water don't wave. To do this, make Show Surface FALSE, and set visible TRUE. You may have to set the brushes translucent TRUE to use the water's alpha mask.You can use a PAN in the effect and something like "4 4" (without quotes) in the effect parameters. It might be a good idea to also make the water's other sides invisible with the invisible texture and just use the top of the water for the moving water texture. Play with it :). It's the best way to learn.
Q: I cant bind things to objects. I have tried, and its all going pear shaped. How do I do this?
A: (Modmaker) Brushes get highlighted (selected), and then you bind them to an object, usually a TranslucentWorldModel or a door. There are various kinds of objects, but almost all objects never get bound to other objects. One exception to this is binding lights to a LightGroup.
Q: How do I make my Facehugger move?
A: (Modmaker) Use a simple AI_Facehugger, and he'll be on you like a bad teen movie. (Coty) To have a Facehugger come out of an egg, you add object PROP\EGG..
Q: How do I move Objects?
A: Go to object editing mode (CTRL_H) and select an object. You can move the object by dragging it with the mouse while holding the "M" key down.
Q: My model is a ghost, I mean why can I walk straight through it?
A: Brushes called BLOCKER brushes are used to keep you from walking through objects. These brushes are usually just brushes with an invisible texture. Most likely all properties are FALSE except SOLID=TRUE, and bound to a TWM. They're placed around the object to stop you from going through them. If you look in the Single Player folder you will see a vehicles.ed file that has the apc and other props in there. They have a blocker brush on them. This is usually an invisible complex brush bound to a TWM. Clicking on the apc in brush editing mode will reveal it. They have a black texture which gives a metal effect. You can grab the whole APC folder, copy and paste it to your map, or just the TWM with the complex blocker brush in it.You can also just make a simple one yourself. But this is how you stop player from walking through your props.
Q: My APC turrets are missing. Where are they?
A: Turrets are Prop objects. The easiest way to add them to your map and have the turret placed in the proper location on the APC is to copy and paste the APC with turret from the vehicles.ed file that came with the tools. It should be in the Single Player levels folder in DEdit.
Q: How do I make a ladder?
A: A ladder consist of two parts, the part that moves you, and the part you see. The part that moves you is called a ladder volume brush. You make a 64 x 64 brush, and make it very tall, like 256 units. Make sure the brush is highlighted (yellow), Marker to Selection, right click, and bind to object Volume Brushes\LADDER. That's the part that moves you when you go inside it. The other part is simply a brush that looks like a ladder. Just make a brush about 8 x 64 units, and make it about 32 units shorter than the ladder volume brush. Put it right beside the ladder volume brush. Now make sure the brush is highlighted, click "Marker to Selection" to center the crosshairs on the brush. Right click, and bind to a TranslucentWorldModel. In the TWM's properties make translucent TRUE. Its simply a fake ladder you see... Of course, give it a ladder texture, and also give the ladder volume brush an invisible texture.
Q: How do I include respawn points? And how do I tell my map who is what species, and where they return?
A: The GameStartPoints are your respawn points. You can change them to whatever species you want in their properties They respawn in MP. DEdit treats your map like an SP, so you will need to run it through the game to respawn. You should put plenty in your map, like 16... You will need some spectator objects if it is an EVAC map. Player uses spectator objects to move around while waiting on other players to show. You may need about 8 of them.
Q: I'm working on a large terrain area. How and where should hullmakers be placed throughout a map?
A: Look at the terrain_tutorial.doc for good examples of TerrianOCCUR and hullmakers. I used both of them in Stranded2. TerrianOCCUR is an invisible wall that is really non-solid. You can walk through it and see through it, but it blocks vis. Set the brushes properties to all FALSE except SOLID and OCCUR, or for hullmakers (one sided brush, detail0) SOLID and HULLMAKER. I used OCCUR like walls around the outside sections of the map. Where you would walk through, like in the passageways, I used hullmakers. Hullmakers don't block vis, they are used to try to make the engine block vis, but if you're standing where you can see through them to the other side the engine will still draw that area. I use hullmakers like in U turns, and long S turns, to make the engine try to block vis. Like I said, look at the terrain tutorial's pictures for good examples of using HULLMAKERS and OCCURS.
Picture of Stranded2's Terrain Ocular and Hullmakers:
Yellow shows the terrain occur and hullmakers in Stranded2. Hullmakers are the thin single sided brushes.
Hullmakers "suggest" to the engine that you can't see what's on the other side, however; as you walk closer and closer to a hullmaker, at some point the engine will decide for itself that you can see through the hullmaker to the other side and draw it.
Q: How do I set up a teleport?
A: I add a teleport object. I name it BlueBasePort.
I add a trigger. I set "Player Triggerable" TRUE.
I Set "trigger touch" TRUE.
In "Message Touch" I type "Teleport BlueBasePort" (without quotes).
I set "Number of Activations" 0.
I set the DIM (bounding box).
Whenever player's bounding box touches the trigger's bounding box he will be teleported to BlueBasePort.
Q: How do I use the OutsideDef and InsideDef objects?
A: You are DEFINING the outside and inside of the map to the processor. Since the processor knows where the outside of your map is, it will remove the outside faces because it knows you will NEVER see the face from the inside. OutsideDef is mostly used for checking to see if the map is sealed. You place an OutsideDef outside your map a good ways, at least 500 units. You add "-leakfile myFile.lek" in the processor's extra parameters box. After processing your map, you should see a line like this, "Couldn't find a path from inside to outside, or the map is sealed correctly." If you don't see this line go to Worlds\Debug\Load Leak File, and open myFile.lek. You will see lines drawn from the inside to the outside of your map. You use the SHIFT-  keys to jump from intersection to intersection. Where the line crosses the outside wall of your map is the brush where the leak is.
The insideDef is actually in the GameStartPoint, so one isn't necessary, however; there are certain conditions where you may want the processor to draw the area, like inside of a completely closed (boxed in) area, inside a hollow box for example, or another section of your map that is not attached to the main one. A teleporter could teleport you to another closed in section, and you may want to define that section as inside your world.
Q: How do I place a Dead Guy and Facehugger in my map?
A: They're both props...
You add object PROP, and in the filename and skin you browse to the model DeadGuy.abc. The skin is a little different. I can't explain it without looking at DEdit, but there are two skins for the dead guy, it's like DeadGuy_torso; DeadGuy_head, and you will have to give it the correct path too. It may help to find something like this in the prefabs. I suggest you look at the model and skin on the cocooned guy in one of the samples for a reference.
The Facehugger is easier, one skin... You may even find him in the proptype objects...
Q: How do I set up cameras in my map?
A: The easiest way to do it if you're a novice is to get a camera and it's associated switch from the vehicles.ed file.
***** Almost anyone can make a beautiful map, but it's worthless if it can't be played. This is where the true art of mapping comes in. There is a force we all battle. It's always there. There is a limit to the amount of detail we can put into a map. We have to get clever, remove what won't be seen. Doors, rotating world models, sprites, keyframers, ClientLightFX, Keyframer Lights, and LightGroups have to be placed with caution and consideration. Portals, Terrain Occur, and Hullmakers help us out, but they won't solve our problem. To make a beautiful map that runs well is an art indeed.
Beginners will do well to read EVERYTHING that comes with the tools, three times... The DEdit docs and the Terrain docs are a MUST, and need not be taken lightly. The maps I've looked at all have overlapping brushes in them which are explained in the docs, big mistake. And all are unorganized, and usually have no OutsideDef in them, so I know they've never been checked for leaks.
We have to start thinking about lag from the very beginning. Make our Detail0 hull first, and walk through the map with a force on the computer. We may can set the graphics higher to achieve this. We don't have the comfort of console commands, so by pointing player at an area and walking (listening to your footsteps can help) we can find problem areas. Block the area off and see if it helps, then build portals, hullmakers or occurs to fix it. We may even need to rearrange the rooms for a different strategy.
It's an art to mix the detail with the amount of framerate we experience and come out with a beautiful map that runs like the wind. Almost everything we put into the map other than the hull will be detail 1 unless it's bound to an object. Without -nosnapnocsg we need to put an invisible texture on every face of the detail 1 brush that cannot be seen, because the engine draws every side of a detail 1 brush. For -nosnapnocsg we can remove the unseen face and set nosnap TRUE.
It's an art indeed. That's why we don't see maps from the professionals layered with detail, with moving sprites, lit up like a Roman Gothic Cathedral. There is a reason, and the reason becomes clear as we try to create maps ourselves. Level Designing is not as easy as it looks. It takes much time and patience, and a very strong will to get there.
Copyright 2002 Coty and the MissionsMod. All Rights Reserved