Creating an incinerator

From Valve Developer Community
Revision as of 20:08, 30 December 2009 by Alice Margatroid (talk | contribs)
Jump to navigation Jump to search
Broom icon.png
This article or section needs to be cleaned up to conform to a higher standard of quality.
For help, see the VDC Editing Help and Wikipedia cleanup process. Also, remember to check for any notes left by the tagger at this article's talk page.
Portal Level Creation

Introduction

In this tutorial you will learn how to make an Aperture Science Emergency Intelligence Incinerator which when an object is thrown in, a door or another event will occur.

the incinerator setup

The first thing to do is to make the incinerator, which when activated, causes an event to occur, in this tutorial a door will open.

the incinerator

create a prop_dynamic with the World Model set to "models/props_bts/glados_aperturedoor.mdl". make sure that under model, you have it as idle. Name it "incinerator" for now. make a room under it with the textures as "metal/metalwall048c_gradient" for the walls and "lights/light_orange001" for the floor of it. now make a 2 unit tall brush (that is as wide the long as the bottom of your room) using the "tools/toolstrigger" texture. tie it to a trigger_once entity with the following properties:

Property Name Value
Name trigger_door1
Filter Name (name of box)

make it solid

unfortunately, if you leave it as is, it is not solid. so what i did in my map is that i placed invisible brushes all around and on it. this may take a while, but it looks really cool in-game.

the door

now we must create a door for our incinerator to open.

the door frame

Create a prop_static in your door way. The World Model should be set to "models/props/door_01_frame_reference.mdl" or "models/props/door_01_frame_wide_reference.mdl" (which ever one floats your boat).

the doors

Create a prop_dynamic with the following settings:
Property Name Value
World Model models/props/door_01_lftdoor_reference.mdl
Name door_l(that's an L, not a 1)

put it in the left side of the door frame.

2. Create a 12Wx56Lx104H block brush with texture nodraw centered and inside the door model. Tie it to a func_door entity with the following settings:

Property Name Value
Name door_1(this time it's a 1, not an L)
Speed 250
Stop Sound Doors.FullClose8
Delay before Reset -1
Lip 12
Move Direction (This will be different for which way your door is facing)

Also make sure that you un-check Touch opens under Flags.

The best way to ensure you have the correct Move Direction is to first mark the direction on the circular indicator, then round to the nearest 90 degrees (so long as your doors are intended to be square with the Hammer coordinate system).

Note.pngNote:You can also put a blocking damage if you don't want the player to get stuck inside it. Also, you can turn on Forced Closed for it to close even if the player tried to jam it open with a camera or cube.
Final door.

3. Repeat steps 1-3 but change the following: For the prop_dynamic:

Property Name Value
World Model models/props/door_01_rtdoor_reference.mdl
Name door_r

And for the func_door:

Property Name Value
Name door_2

4. Set the parent of door_l (the prop_dynamic) to "door_1". Also set the parent of door_r to "door_2".

now you must choose between a trigger or a switch to open your incinerator.

the trigger

create a brush with the "tools/toolstrigger" texture. Place it where your player will have to go to turn on the incinerator. Tie it to a trigger_multiple entity with the following settings:

Property Name Value
Name trigger_incinerator
Delay Before Reset anywhere inbetween 5-10 seconds

and the following outputs:

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnStartTouch incinerator SetAnimation Open 0.00 No
Io11.png OnStartTouch incinerator SetAnimation Close 4.00 No

OPTIONAL the switch

create a prop_dynamic with the following settings.

Property Name Value
Name button_incinerator.mdl
World Model models/props/switch001.mdl

Now create a 16Lx16Wx12H brush textured with either the "tools/toolsinvisible" texture or the "tools/toolsnodraw" and place it right on top of where the player will have to press. Tie it to a func_button entity with the following settings:

Property Name Value
Name button_incinerator

and make it have the following outputs:

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnPressed incinerator SetAnimation open 0.00 No
Io11.png onPressed incinerator SetAnimation close 4.00 No

still not done... i'll edit it again when i have time.

See also