NOTES
There are different kinds of debris we can set up. These include:
ELECTRIC DOORS these doors open after the power is turned on
SLIDING DOORS these doors slide in a direction we set and don't despawn
ROTATING DOORS these doors rotate in a direction we set and don't despawn
REGULAR DEBRIS models that fly into the sky and then delete themselves
All doors and debris we set up are mostly just KVP's we set in Radiant. Only a small portion of this tutorial requires scripting. The SCRIPT_FLAG you see below is what you need to keep in mind, as this SCRIPT_FLAG is what we'll be replacing in our mapname.gsc when we first set up ZONES.
Each door and debris are at least one of the following:
THE DEBRIS/DOOR SCRIPT_MODEL OR SCRIPT_BRUSHMODEL
THE DEBRIS/DOOR CLIP SCRIPT_BRUSHMODEL
THE TRIGGER TRIGGER_USE_TOUCH
The only exception to this is a SCRIPT_STRUCT. Only the regular debris uses these.
In order to get these things, we can open the ENTITY_BROWSER and search for them and just drag them into our map.
You can place multiple models/brushmodels to make your debris/door as detailed as you want, and the same goes for the clip. For the trigger, we can place multiple to have one debris/door open up multiple debris/door.
The map FIVE from BO1 is a good example of this in the starting room - it doesn't matter which door or trigger you activate, both open up.
ELECTRIC DOORS
Model/Brushmodel KVP's:
Set DYNAMICPATH to true
Required - (for rotating power doors) "script_string" "rotate"
Required - (for rotating power doors) "script_angles" "0 0 0" (< add your rotation x y z)
Required - (for sliding power doors) "script_string" "move"
Required - (for sliding power doors) "script_vector" "0 0 0" (< add your distance x y z)
Required - "targetname" "NAME" (must be the same name as the triggers target)
Optional - "script_transition_time" "TIME" (TIME = a number value (higher = slower))
Clip KVP's:
Required - "script_noteworthy" "clip"
Required - "targetname" "NAME" (must be the same name as the triggers target)
Trigger KVP's:
Required - "targetname" "zombie_door"
Required - "script_noteworthy" - "electric_door"
Required - "target" "NAME" (must be the same name as the script model/brushmodel & clip targetname)
Required (for zones) - "script_flag" "enter_zone_name" (add your zone flag here to activate zones)
Optional - "script_sound" "alias_name" (plays a sound once triggered)
SLIDING DOORS
Model/Brushmodel KVP's:
Set DYNAMICPATH to true
Required - "script_string" "move"
Required - "script_vector" "0 0 0" (< add your rotation x y z)
Required - "targetname" "NAME" (must be the same name as the triggers target)
Optional - "script_transition_time" "TIME" (TIME = a number value (higher = slower))
Clip KVP's:
Required - "script_noteworthy" "clip"
Required - "targetname" "NAME" (must be the same name as the triggers target)
Trigger KVP's:
Required - "targetname" "zombie_door"
Required - "zombie_cost" "PRICE" (PRICE = any number for your doors cost)
Required - "target" "NAME" (must be the same name as the script model/brushmodel & clip targetname)
Required (for zones)- "script_flag" "enter_zone_name" (add your zone flag here to activate zones)
Optional - "script_sound" "alias_name" (plays a sound once triggered)
ROTATING DOORS
Model/Brushmodel KVP's:
Set DYNAMICPATH to true
Required - "script_string" "rotate"
Required - "script_angles" "0 0 0" (< add your rotation x y z)
Required - "targetname" "NAME" (must be the same name as the triggers target)
Optional - "script_transition_time" "TIME" (TIME = a number value (higher = faster))
Clip KVP's:
Required - "script_noteworthy" "clip"
Required - "targetname" "NAME" (must be the same name as the triggers target)
Trigger KVP's:
Required - "targetname" "zombie_door"
Required - "zombie_cost" "PRICE" (PRICE = any number for your doors cost)
Required - "target" "NAME" (must be the same name as the script model/brushmodel & clip targetname)
Required (for zones)- "script_flag" "enter_zone_name" (add your zone flag here to activate zones)
Optional - "script_sound" "alias_name" (plays a sound once triggered)
REGULAR DEBRIS
Models/Brushmodels KVP's:
Required - "targetname" "NAME" (must be the same name as the triggers target)
Required - "target" "NAME" (NAME = same as struct targetname)
Optional - "script_fxid" "large_ceiling_dust" (plays fx when debris delete)
Optional - "script_firefx" "poltergeist" (plays lightning fx when debris moves)
Optional - "script_noteworthy" "jiggle" (makes debris jiggle when moving)
Clip KVP's:
Required - "script_noteworthy" "clip"
Required - "targetname" "NAME" (must be the same name as the triggers target)
Trigger KVP's:
Required - "targetname" "zombie_debris"
Required - "zombie_cost" "PRICE" (PRICE = any number for your doors cost)
Required - "target" "NAME" (must be the same name as the script model/brushmodel & clip targetname)
Required (for zones)- "script_flag" "enter_zone_name" (add your zone flag here to activate zones)
Optional - "script_sound" "alias_name" (plays a sound once triggerd)
Script_Struct KVP's:
Required - "targetname" "NAME" (NAME = Same as model/brushmodel target)
OPTIONAL KVP'S
Model/Brushmodel - Optional - "script_fxid" "large_ceiling_dust" (plays fx when debris delete)
Model/Brushmodel - Optional - "script_firefx" "poltergeist" (plays lightning fx when debris moves)
Model/Brushmodel - Optional - "script_noteworthy" "jiggle" (makes debris jiggle when moving)
Model/Brushmodel - Optional - "script_transition_time" "TIME" (TIME = a number value (higher = slower))
Trigger - Optional - "script_sound" "alias_name" (plays a sound once triggerd)