Jedi Outcast Doors Tutorial

Author: Craig "UGG" Urquhart (ugg_boot@yahoo.com)

Example: door_tutorial.zip (http://www.massassi.net/tutorials/jo_doors/door_tutorial.zip)


Sliding Door

1. Create the door entity using one of these methods:

2. Press "N" to popup the door's properties.
3. Add an angle key, or just press one of the direction buttons. The door will not move unless it has a valid opening angle.
4. Add a soundset key to hear sounds when the door moves. The names of Jedi Outcast's door soundsets are listed below.

Top ViewDoor Properties
Top ViewDoor Properties

Double Sliding Doors

1. Make two sliding doors and change the opening angle of one so that it moves in the opposite direction.
2. Add a team key to both doors. The name must be the same for each door if they are to move together.

Top ViewUpper Door PropertiesLower Door Properties
Top ViewUpper Door Properties Lower Door Properties

Rotating Door

This is only possible in Return To Castle Wolfenstein, and in mods that have added a func_rotating_door entity to the game code, like Urban Terror. Also, it's unlikely that a rotating door can be made using func_pendulum or func_rotating because those entities can not be triggered.

Trigger Activation

1. Create the trigger entity using one of these methods:

2. Resize the trigger to fit inside the walls. Make sure it's large enough for the player or npc to walk through.
3. Create an activation link from the trigger to the door by using one of these methods:

4. Add a wait key to the trigger and make it slightly longer than the door's wait time. This stops the trigger activating while the door is open.

Top ViewDoor PropertiesTrigger Properties
Top ViewDoor Properties Trigger Properties

Push Button Activation

1. Create a button entity using one of these methods:

2. Position the button so that is does not go all the way through the wall when activated. Increase its lip property to prevent this.
3. Set the button's moving angle so that it moves into the wall when activated.
4. Create an activation link from the button to the door, like in the example above.

Top ViewDoor Properties Button Properties
Top ViewDoor Properties Button Properties

Switch Panel Activation

1. Create a trigger entity that the player can stand in while touching the switch.
2. Create an activation link between the trigger and the door, like in the example above.
3. Check the trigger's PLAYERONLY, FACING, and USE_BUTTON spawn flags. Also, make the trigger's angle point towards the switch.
4. Create two panels for the switch using one of these methods:

5. Add a targetname key to each panel, using the same name as the trigger's target key.
6. Check the STARTOFF spawn flag for one panel so that it remains hidden until the other panel is activated. This will be the "on" panel.
7. Position both panels over each other so that they can change while appearing to be a single switch.
8. Add a brush behind the switch to ensure that the level won't leak if both panels are hidden.
9. This switch, like most in Jedi Outcast, does not change back after the door closes. That type is better handled by a script.

Top ViewPanels Separated Door Properties
Top ViewPanels SeparatedDoor Properties
Trigger PropertiesOff Panel PropertiesOn Panel Properties
Trigger Properties"Off" Panel Properties "On" Panel Properties

Security Panel Activation

1. Check the door's LOCKED spawn flag. The door will only open once if it isn't locked first.
2. In the entity menu, select misc_security_panel from the misc group to create the panel.
3. Also, select item_security_key from the items group to create the key. It has to be a security key because a supply key does not work.
4. Create an activation link from the panel to the door, like in the example above.
5. Set the panel's front facing direction so that its back is aligned with the wall.
6. Add a message key to the panel and security key. The names must be the same for the key to work.

Top ViewDoor PropertiesSecurity Panel Properties
Top ViewDoor Properties Security Panel Properties
Security Key Properties
Security Key Properties

Door Properties

Spawn Flags
START_OPENMoves to its destination when spawned, and operates in reverse.
FORCE_ACTIVATECan only be activated by a force push or pull.
CRUSHERDoes not reopen if blocked.
TOGGLEWaits in both the start and end states for a trigger event.
LOCKED Starts locked, with the shader animmap at the first frame and inactive.
GOODIEOnly opens if activator has a "goodie" supply key in his inventory.
PLAYER_USEPlayer can use it with the use button.
INACTIVEMust be used by a target_activate before it can be used.
Keys
targetFires when door starts moving from its closed position to its open position.
opentargetFires after door reaches its open position.
target2Fires when door starts moving from its open position to its closed position.
closetargetFires after door reaches its closed position.
model2MD3 model to also draw.
angleDetermines the opening direction.
targetnameName of the remote button or trigger field which activates the door.
speedMovement speed (default is 100).
waitSeconds to wait before returning (default is 3, never return is -1).
delaySeconds to wait before moving (default is 0).
lipLip remaining at end of move (default is 8).
dmgDamage to inflict when blocked (default is 2, set to negative for no damage).
colorColor of light emitted by door.
lightRadius of light emitted by door.
healthAmount of damage to door before it will open.
soundsetSound set to play when door moves.
linearSet to 1 for the door to move linearly rather than with acceleration (default is 0).

Door Sound Sets

impdoor1impdoor2droid_doordoor1door2door3
door4door5door6door7door8door_large1
door_large2door_large3door_large4door_medium1door_medium2 door_medium3
door_medium4door_medium5door_small1door_small2door_small3 door_small4
door_small5door_small6stone_doorhuge_doorlarge_door

Troubleshooting

1. Door does not move.
Set an opening angle in the door's properties. There should be an arrow in the center of the door.

2. No sounds play when the door moves.
Add a soundset to the door's properties.

3. Only one of the double doors opens.
Check that both doors have the same name for their team key.

4. Trigger does not work.
Check its size. Make sure the player or npc can touch it.

5. Push button slides along wall.
It's using the default moving angle because none was given in its properties.

6. Switch panel does not work.
Check that the trigger has an arrow facing the switch. Also check the spawnflags and targetnames.

7. Switch panel flickers when activated.
The trigger needs a wait time greater than it's default of 0.

8. Key does not unlock door.
Check that it's a security key with the same message name as the panel.

9. Door will not open again after using the security panel.
The door must be locked first. The purpose of the security panel is to unlock it, not open it.

Other Door Tutorials

Gothic's Double Doors Tutorial (http://www.planetquake.com/gothic/tutorials/door.html)
Bubba's Double Doors Tutorial (http://planetquake.com/bubba/door1.html)
Bubba's Door Button Tutorial (http://planetquake.com/bubba/butt1.html)
FNF's Door Tutorial (http://fnf.20m.com/q3rtut4.html)
Kev's Door Tutorial (http://members.iomartdsl.com/~paul.rich/kev/mapping/door.htm)
Q3Empire's Door Tutorial (http://www.planetquake.com/q3empire/data/tutorials/q3r/basics_doors/door.htm)
Surface's Door Tutorial (http://www.planetwolfenstein.com/surface/tutorials/sliding_doors.html)
Q3Workshop's Trap Door Tutorial (http://planetquake.com/qworkshop3/tutorials/trap_door_floor/index.html)


Copyright © 2002 Craig Urquhart.