Swinging doors are a nice touch when a blocker happens to be a door. What happens is, when purchased, the door will swing on a hinge axis instead of just disappearing or flying away.


Preparation

Items needed

First you must create the door in Radiant. A swinging door blocker consists of these items:

  • One or more trigger_use brushes
  • One or more door script_brushmodels or script_models
  • One or more clip script_brushmodels which prevent players from walking through the closed door

If you need help creating any of the items, refer to the  Creating Brushes in Radiant page.

Setting the KVP's


Triggers

Select the trigger_use brush(es) and give them the following KVP's:

Key

Value

targetname

zombie_door

zombie_cost

<any number>

script_noteworthy

<value>

  • Items highlighted in green are optional.
    By default, doors can be opened regardless of the power-switch status on the map. If you would like the door to be un-buyable until the power-switch is activated, set the script_noteworthy and replace "<value> with "electric_door" (*quotes included!).
  • By default, zombie_cost sets itself to 1000. If you would like to set a custom price, set the zombie_cost key and replace '<any number>' with a numerical value.

Door

Select the door script_brushmodel(s) or script_model(s) and give them the following KVP's:

Key

Value

script_string

<door_type>

script_transition_time

<any number>

script_sound

<soundalias>

  • Items highlighted in green are optional.
    By default, doors will default to the "rotation" move type. If you wish to change the door to a "sliding open" type, set the script_string key and replace '<door_type>' with "move" (*quotes included!).
  • By default, "door_slide_open" is played when a door opened. If you would like to use a custom sound, set the script_sound key and replace '<soundalias>' with a valid soundalias name.
  • By default, doors take 1.0 seconds to transition from closed to opened. If you would like to use a custom transition time, set the script_transition_time key and replace '<any_number>' with a numerical value (measured in seconds).

Clips

Select the clip script_brushmodel(s) and give them the following KVP:

Key

Value

script_noteworthy

clip

Targeting in Radiant

Now that you have created all of the necessary items and given them the correct KVP's, it is time to link the items together using targeting.

In this case, the root entity is the trigger_use. If you have more than one trigger_use, just pick one to link all entities to. Later we will include the remaining trigger_use's.
The children of the trigger_use are the clip(s) and door model(s). Link them to the root entity using the instructions above.

Once you have linked all the entities to the root trigger_use, copy the target KVP from the root trigger_use to each of the remaining trigger_use's. The lines should now be going from all trigger_use's.

Finishing Up

Creating copies of the Door

Now that you have created one working zombie_door blocker, you can copy/paste it as many times as you want. Since we used targeting, the targetnames of the children are dynamic and will be regernerated for every copy. If you used multiple trigger_use's, you will need to manually edit the target KVPs for every copy, just as you did in section 1.3. Be sure to update the script_flag value if you copy the doors for a new zone volume.

Troubleshooting

The UGX Modtools Patch has a developer HUD which will help you identify script errors that may be preventing the doors from working. If after following this guide the doors do not work:

  • Load your map.
  • Type "developer 1" (without quotes) into the console.
  • Pause the game using ESC and press "Restart Game".

Now you should see "UGX Modtools Patch Developer Help Center" on the left side of your screen. It will list any errors it could identify. If nothing listed is relevant to the doors, then you need to re-read the guide and find your mistake manually. Be meticulous!

Credit: Treminaor