Mucho Macho DromEd Reference
Compiled by Chibboleth
Converted to HTML by A Little Mouse
Ok, I'll be the first to admit that this thing is ugly.  I wrote almost none of it, except the texture thing.  This reference is culled from the TEG forum.  I compiled this by the scientific method of browsing through the forum and collecting everything that seemed useful and informative. -Chibboleth

Table of Contents:
 Lockpicking ... By Ishy
 Meta Properties ... By Blutch
 Ambient Sound ... By Willard
 Flamage ... By Khalid
  How's it going? Guards ... By Trimfect
 Aligning Objects ... By Spire
 Pausing On Patrol ... By Koobze and Trimfect
 The Pyrite Door ... By Abysmal and Hoga
 Path On The Grass ... By Sajon and Bed
 The Escape Objective ... By Phoenix
 Dissapearing Objects ... By Hoga and Trimfect
 More On The Sky ... By Datoyminatah, Catalyst, and EvilSpirit
 Thoughts On Doors ... By Trimfect
 Non-Hostile Guards ... By Trimfect and boojum
 The Three Save Files ... By EvilSpirit and boojum
 Adding New Textures ... By Chibboleth
 Keeping Garrett Mortal ... By Goose and EvilSpirit
 AI Debugging ... By Trimfect, EvilSpirit, and Tom L
 Lights How-To ... By Cleaner
 Elevator How-To ... By Cleaner
 Directionless Guards ... By Kraken
 Even More Sky ... By Datoyminatah
 Pissing Around With Models And Skins ... By Datoyminatah
 Menu Customization ... By Datoyminatah
 Stupid Texture Tricks ... By KGoodsell
 Lantern Guards ... By Datoyminatah
 The Word On Carpet ... By Datoyminatah
 Koobze Being Dangerously Insane ... By Koobze
 Candle Flames ... By Khalid and Chibboleth
 Area Brushes ... By Chibboleth

--Lockpicking, by Ishy-

I've spent about 1/2 an hour working this out so I thought I'd share it. First, give Garrett the lockpicks (Doh!). Use LockPickSM and LockPickLG rather than BothLockPicks. Then, make the door, chest or whatever you want to be picked. Select it and press the "properties" button. Add "engine features: Locked" and check the box, then add "Dark gamesys: PickCfg" Now edit PickCfg. There are 3 different possible stages of the lock, and each has 4 settings. If you leave all of these settings on a stage blank, that stage will be ignored.

An Example:
For a lock on which you have to change picks once, and the second stage takes longer than the first:

-- Meta-Properties, by Blutch -

Ok, I'll try to explain but my English is not good, so...
Meta property are characteristics that you can enable or disable after a certain event. For example, add the meta M-HeardAlarm to a guard, so he will react only when the alarm is ringing.  Here is an exemple:

Now, if you press the alarm, the guard comes and investigate. But if you hadn't removed the meta-property M-HeardAlarm after the guard heard the alarm for the first time, he would continue to go to the marker without stopping (the AI makes a loop).

(Converter's Note: Still original message, though I fixed up some spelling and grammar. Blutch, your English is still alot better than most. ;] )

-- Ambient Sound, by Willard -

What you have to do is first create a marker, like the one used for Garrett's starting point. Then, in it's properties do: add: A:
AmbientHack. Click on the newly formed catagory, and edit the settings. Put the name of the sound you want to use in the schema line, and edit the other properties to your liking.

-- Flameage, by Khalid -

Check the Object Hierarchy:
Under SFX=>FireFX there are some choices there.

-- "How's It Going" Guards, by Trimfect -

Solution is not in the AI-settings, but a Meta-Property. Try adding Meta-Property called "M-Front Gate Guard" for the guard and see if that helps.

-- Aligning Objects, by Spire --

Unless I'm mistaken, there's no automatic or easy way to do it. Here's what I do:

Tedious, but it works (at least for walls that are perpendicular to either the X or Y axis). If anyone has a better way, I'd be really happy to hear about it!

-- Pausing on Patrol,  By Koobze and Trimfect --

How do you make anyone walk around from patrol point to patrol point, but instead of going right to the next one, just waitin a while, and then continuing?

Use AIWatchOBJ -link.

Link the guard to the waypoint with an AIWatchObj and make it "self entry".

-- The Pyrite Door, By Abysmal and Hoga --

I apologize, but I'm still confused on doors. ConVict was loaded, but the door still didn't open, it just lit up. I even put a door in mid-air and it didn't open.

What do I do?

Make sure that you have selected a specific door type, and not the one named "Door." That one doesn't open or close.

-- Path on the Grass, By Sajon and Bed --

I want to have a portion of a courtyard with a dirt path. Does anyone know if it's possible to overlay a texture over a grass texture to achieve this kind of effect? I don't remember anything like this in the game, but I could be wrong.

I believe this is done with a 2D brush (zero height) on the grass.

-- The Escape Objective, by Phoenix --

Ok, I figured it out. You have to create a new room. Open Object Heirarchy(sp??) and in the top box select Rooms. Then click Add - Give this new type of room a name and click ok (Yes you want a concrete room.) Then Highlight your new room and click create. This will automatically select the Rooms Option on the bottom. Make your room in the normal manner. Edit its properties and add the script "WelcomeRoom" and you have it all set up. When Garrett enteres that room it will mark
the appropriate quest as finished. 8)

-- Dissappearing Objects, By Hoga and Trimfect --

I had the idea of creating a sword with holy properties (for my hamerite missions). I create it, link it to Garrett and try it out in game mode with no problem at all. I saved the mission, then exited Dromed. When I loaded up the mission again, Dromed couldn't find the sword! Why?

Thief makes some changes to your level sometimes when you start it up.

For example you have an item that has property of physics->model->dimensions (or something like that), it automaticly adds
the rest of the physics->model -properties. I think that if you have added property "immobile", it deletes the object.

-- More on the Sky, By Datoyminatah, Catalyst and EvilSpirit --

Click on the "Editors" menu, and select "Mission Parameters". On the dialog that comes up, select "Sky Rendering Mode" and press OK. Choose "Textures" rather than "Stars".

And there I'm stuck looking at the Jorge texture on the sky. I think I got this working once but can't remember how now.

(Ed's Note: The below appears to be a response to the section above.)

In addition to the thing you say, you have to load a sky texture. I believe the command is "load_sky (filename)".
As with all commands in DromEd referring to filenames, you don't have to give the extension (probably .pcx). DromEd will figure that out for itself.

I have not gotten load_sky to work yet. I've tried loading many textures this way, it always says sky loaded but I still see jorge. I'll keep working on it.

The stars are quite interesting though. Seems they are not just a boring texture after all. With set_star_count ## you can set the number of stars you see. With set_star_rate ## you can set how fast they move across the sky. Yes, that's right. Now, has anyone ever noticed them moving in game?

I thought I'd post right away, these are the star commands I have not gotten too yet:

-- Thoughts on Doors, by Trimfect --

Doors are tricky, that much is certain. The amount they rotate is not related to the world, but the door itself. If your door is rotated 90 degrees (when its closed), its open angle could still be the 90 degrees. And if you rotate door clockwise, the angle would be 270 degrees. If door is closed, then it's closed. If its open, uh, its open. If its closing, the door is closed, but it will let light go thru it. Opening is so that the door is open, but light does not pass it.

I'm not completely sure of these things. You need to portalize and update in world them often, and it may still not be up to date. Dunno.

-- Non-Hostile Guards, By Trimfect and boojum --

I think you want to do this via metaproperties; their ai state is going to be controlled by the AI, and trying to set that by hand won't work right. The guys in Undercover, for example, have M-AlertCapZero metaproperties on them, and that gets removed when they notice problems (combat, stolen stuff). Go poke around with the patrolling guard outside Bafford and the Undercover hammerites to see how they're set up.

(EvilSpirit will probably contradict me for some sort of confusion above, since I've never been the dromed expert...)

Yes, Metaproperties is the way to go. Select the M-AlertCapZero for the person who you want to be a neutral.
What the "M-AlertCapZero" does, is prevent the target from getting angry. His alertnes can't get higher than "none".
Other way to make a non hostile is for example put the meta "GoodGuy", now he will not only be neutral, but he will attack your enemies! There is also the M-FrontGateGuard Meta that makes the target non hostile to certain point.

-- The Three Save Files, By EvilSpirit and boojum --
  Actually, technically .mis files and .cow files are slightly different. A .mis file contains a reference to the .gam file which is intended for use with the level. This .gam file will automatically be loaded when you load the .mis file. A .cow file has no such thing, and you'll get whatever default .gam file DromEd decides.

The distinction shouldn't affect you unless you want to go around using several different gamesys files: in general you'll just want to use .mis files and not worry about .cows.

-- Adding New Textures, by Chibboleth --

mods.doc actually does cover this, in a roundabout kind of way. If you create a texture .pcx with the same name as one of the existing Thief textures, with the same path as it is found in the .crf, Thief will use your file rather than the one in the .crf (mods.doc words that much better).

So, if you want to make your water orange (for some reason), just take out all the water textures for either red or green (there's like a dozen of them), paint them orange, and distribute them with the level.

-- Keeping Garrett Mortal, By Goose and EvilSpirit --

I have a starting point, convict loaded, pathfinding database etc. I have not hit the keys to have immortality (at least not conciously).

When garret dies he just goes on living. His shields are down to zero but to no effect. And this is everytime I run my level. I fall down some 70 feet and just shrug it of.

How do I fix this, 'cause I want him to be very much human.

Try adding the Scripts property to your starting point, with the script "VictoryCheck"

-- AI Debugging, By Trimfect, EvilSpirit, and Tom L --

I have a problem where the AI stops working at random patrol points. I can't figure out why they do that, but since they do it, there has to be a reason.

DromEd has all kind of advanced debugging systems, so I was wondering if someone could explain them, how to use them? In detail, if possible.

The most likely explanation is that their patrol would require them to cross terrain across which they can't pathfind, usually due to some treacherous nature in the terrain which mightn't be obvious (e.g. a step too high, a too-narrow corridor, a too-low ceiling).

To view the AI pathfinding database, use the command ai_draw_cells. This will put you in (or out) of a mode which will draw all tiles of the pathfinding database near your currently-selected object. Similarly, ai_draw_links will show lines connecting the path tiles which the AI can traverse.

Odds are good that when you see this behavior you can find some spot between the patrol points which the AI doesn't know how to find its way across. Then you have the problem of figuring out why this is so.

The AI has a slew of diagnostics you can use to understand what an AI is "thinking." The most valuable are "AI Watches," which print a running commentary to the debug log about what is going on.

To access the debug log, you need either a monochrome video card/monitor, a debugger (like Microsoft Visual C++), or you can add the line "monolog" to your user.cfg, which will tell Dromed to write the results to the file monolog.txt.

The Dromed distribution should have come with a "mini-debugger" program that can also catch debug output. If it didn't, bug Nightfall and Evil Spirit.

Once you have access to this debugging output, type the command "help watch," which will print a list of a bunch of watch commands. Watch commands take as an argument the object ID of the AI you want to watch, or "-1" to watch all AIs, or "0" to turn off the watch.

The one that is interesting for your case is: ai_flow_watch (objID) will print to the debug stream continuous information about what a given Ai "thinks" is going on. This is very handy when they don't seem to be behaving as expected.

--Lights How-To, by Cleaner--

DISCLAIMER: I make NO guarantee that this will work. Any loss or problems as a result of following these steps is your own fault. This tutorial is for people who have actually read the LG main tutorial as well as tried to actually build something in Dromed.

Notes: Since the default position of the switch is up, but the light is default off, you may want to rotate the switch 180 degrees so that the lever is at the bottom.

--Elevator How-To, by Cleaner--

DISCLAIMER: I make NO guarantee that this will work. Any loss or problems as a result of following these steps is your own fault. This tutorial is for people who actually read the LG main tutorial as well as tried to actually build something in Dromed.

TerrPt(#2) ElevatorButton(#12)
TerrPt(#1) ElevatorButton(#9)
TerrPt(#3) ElevatorButton(#6)

Following this, only the links need to be created.

FLAVOR:ControlDevice FROM:ElevatorButton(#12) TO:TerrPt(#2)
FLAVOR:ControlDevice FROM:ElevatorButton(#9) TO:TerrPt(#2)
FLAVOR:ControlDevice FROM:ElevatorButton(#6) TO:TerrPt(#2) FLAVOR:TPath FROM:TerrPt(#2) TO: TerrPt(#1)
FLAVOR:TPath FROM:TerrPt(#1) TO: TerrPt(#3)
FLAVOR:TPath FROM:TerrPt(#3) TO: TerrPt(#2)
(This must be a closed loop of links) FLAVOR:TPathInit FROM:ElevPlatform(#?) TO:TerrPt(#2)

(Don't ask me why it has to be the TerrPt before the one you want in the loop)

Notes: In order to change the orientation of the elevator, you must change the orientation of the TerrPts.
Hopefully, someone will find this useful.

(You know we will, Cleaner.  –Chibb)

--Directionless Guards, by Kraken--

For some reason no matter what direction I make them face, all people seem to face the same direction when I go to test the level in the game. In editor everything seems fine.

I actually figured out the problem, if the character models are too close to a wall (they do not have to touch it) they will always face default direction. I just posted this in case someone else will have the same problem.

--Even More Sky, by Datoyminatah--

I don't think this one was used in the actual game, but it's in fam.crf.

Try this:

This is the same way Quake 2 handles sky/horizon images. Here's a link with a tutorial (about halfway down) and some sample skies (environments):

--Pissing Around with Models and Skins, by Datoyminatah--

It's easy to simply replace a skin texture file, but that prevents you from using the original. What if you want a new type of creature? Here's how to do this.

You can now place your new creature and it will be shaped like and act like what it inherited from, but will have your new skin. I tried this, so I know it works.

--Menu Customizations, by Datoyminatah--

Did you know that all the items in the Windows menu are just links to DromEd commands? They are in "menus.cfg".
You can add often-used commands to your menu as long as they don't require parameters to be entered, or if you include the parameters.
Here's an example of what you can do. This will add a new menu item called "Other" that will have commands for creating stairs, spiral stairs, and moving the camera to the currently selected object.

Voila! New menu items next time you start DromEd.
I also removed all the "&" characters from this file. That's what puts an underline under the "hotkey" for the menu item, and since these don't work anyway, it's less confusing not to have them.

--Stupid Texture Tricks, by KGoodsell--

Don't you hate trying to find a texture in DromEd? You have to figure out a family to load, load it, display the texture screen, and pick it out based on those tiny pictures. Here's a neat Windows trick to let you view thumbnail images in folders.

Just right click on the folder and select Properties. Check Enable thumbnail view. Then open the folder, click View and select Thumbnails. So to make browsing through and finding textures easier, unpack fam.crf's the somewhat tedious part...apply this to all its subfolders. I think you'll find that it's worth the effort.

--Lantern Guards, by Datoyminatah--

You can put a light in a guard's hand, and yes, the light (and shadows) can move with the guard, but no, it does not affect the light gem or the AI's ability to see you.
I suggested editing the vision of the guard so he could see in the dark in a small area around himself.

Look up the thread that says "Default Mission". It has a link to a mission that has the guard you're looking for. I didn't write it.

--The Word on Carpet, by Datoyminatah--

Is carpet a texture or is it in the object hierarchy?
Texture. You have to make a brush the size of the carpet you want, align it with the floor, and add the texture and align it.

--Koobze Being Dangerously Insane, by Koobze--

Make a Zombie, then go under Properties > Zombie > ZombieTypes > Shape and double click on Model Name. Change it from expZOM to expserv2. Go in game, and you have a human zombie thing, perfect for freaking out ppl. Resize it, and you could have and army of living servant-zombie-midgets!

--Candle Flames, by Khalid and Chibboleth--

In the Object Hierarcy go to SFX -> FireFX -> Flame...
It will insert it with many effects like orange, yellow, smoke, and sparks. Delete all of those except for the flame itself. Resize it to your liking by manipulating the H,W,D numbers. Also, in order to have it not sound like a roaring fire, you can delete the AmbientHacked schema from the Properties.
Or, if you want it to look sort of classy, put a torch flame on there, which ends up being this orangey cloud-looking thing.  Then scale it down, it looks kina sweet.

--Area Brushes, by Chibboleth--

This is a simple topic that I guess a lot of people don't know much about, but it's extremely useful. If you've started building a level of any size at all, you'll notice that the 2d windows get real messy after a short while. This can't really be fixed by filtering, as filtering out all the "terrain" is pretty counterproductive when you're still trying to build. So, ta-da! Area brushes to the rescue!

When you've finished a certain area of your level, (say, a few rooms, or a basement or something) click on "Area" and drag out a brush that completely surrounds the bit that you're finished with. You don't want this brush to be any bigger than it has to be. After the brush is of proper size, you'll see some new options on the left side. The first thing to do is give the area a name, by clicking on "name" and typing something clever.

After that, you can play around with the buttons above. "Activate" sets the area brush (and everything inside it) as "active". "Show Hot" filters out everything but the active areas. "Me Only" filters out everything but the selected brush. Be careful with one thing though. Stuff that's filtered out no longer shows up in the 3d window and doesn't get portalized (so it doesn't exist in game mode). If you want to go through all of your level, click "show all" to show all areas and portalize. In the meantime, when you only work with certain areas, the "persistent_player_pos" command is your friend.

  Back to top ...