Setting Up Doors & Debris

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)




ENDING

That's pretty much it for doors and debris. Just keep in mind that each door and debris that is DIFFERENT have different TARGETNAMES, unless you want them to open together.


Also remember to change the SCRIPT_FLAGS and the ENTER_FLAG_NAME in your mapname.gsc!

Related Posts

See All

Pack a Punch Camo Index

This the full list of all 138 Camos we can use when defining the Pack a Punch camo for our weapons. 1 = Jungle tech 2 = Ash 3 = Flectarn 4 = Heat Stroke 5 = Snow Job 6 = Dante 7 = Integer 8 = 6 speed

Change Pack a Punch Camo

SCRIPT Open your mapname.gsc and find the following line: zm_usermap::main(); Anywhere underneath that, but still within function main(), insert the following line: level.pack_a_punch_camo_index = 138

Setting up Starting Weapons

SCRIPT Open your mapname.gsc and find the following line: zm_usermap::main(); Anywhere underneath that but still within function main(), insert these lines: level.start_weapon = GetWeapon( "pistol_sta