Pipe Valve

From Valve Developer Community
Jump to navigation Jump to search

Introduction

During the game, players will encounter various scenarios, where they will need to turn a pipe on and/or off to achieve an effect or desired progress in the game. This page will describe steps on how to build a functional piece valve prop for a custom map, where:

  • The Player can +USE the valve object and it will turn (to open position).
  • The Player can repeat the +USE action and the valve object will toggle back (to closed position)...OR...
  • With the Toggle (Disable Auto Return) Flag un-checked, the valve object will automatically return to closed position.

Required entities and objects

1) MOMENTARY_ROT_BUTTON (This is a brush-model entity.)

a) Create a new texture brush on your map.
b) Use your editor's 'MOVE SELECTED TO:' feature to convert the brush from World to Entity.
c) Set the entity's class as a momentary_rot_button.
d) Name the entity as "FM1"
e) Select and apply the brush-texture: "Invisible" to the entity.
f) For vertical position of the valve, set the following flags:
  • Not Solid Checked
  • Toggle Unchecked (optional)
  • X Axis Checked
  • Y Axis Checked
  • Use Activates Checked
g) For Horizontal position of the valve, set the following flags:
  • Not Solid Checked
  • Toggle Unchecked (optional)
  • Use Activates Checked


2) PROP_DYNAMIC (This is a point entity (Wheelvalve prop).)

a) Place a new prop_dynamic entity on your map.
b) Choose and select its world model skin from one of the following, as:
  • [models\props_pipes\valvewheel001.mdl]
  • [models\props_pipes\valvewheel002.mdl]
  • [models\props_pipes\valvewheel002a.mdl] --- Note: This model is larger.
c) Name the entity as "W1"
d) Select its Parent as [Func_for_Valve]


3) PROP_STATIC (This is a point entity (Pipe-valve prop))

a) Place a new prop_static entity on your map.
b) Choose and select its world model skin from one of the following, as:
  • [models\props_pipes\valve001.mdl] --- Note: Best if used with the larger wheelvalve model.
  • [models\props_pipes\valve002.mdl]
c) Naming this entity is not required

Set Inputs/Outputs (I/O)

1) Set the following output trigger(s) in the (FM1) brush's I/O.

I O WheelValve.png

Place, Align, and Group the objects

Follow these steps:

  • Center the origin of the prop_static entity (pipe system).
  • Place the prop_dynamic entity "W1" into the desired position on the pipe system.
  • Set the desired Pitch Yaw Roll (Y Z X ) values for entity "W1".
  • Center the origin for "W1".
  • Align "W1"'s origin with the prop_static's origin as close as possible.
  • Place the momentary_rot_button brush entity "FM1" over "W1", making sure that "FM1" completely encloses "W1". Allow enough extension of "FM1" for the player to touch it.
  • Center the origin for "FM1".
  • Align "FM1"'s origin with "W1"'s origin as close as possible.
  • Set the (Y) value for "FM1" equal to the (Y) value of "W1". (Note; If you move and/or re-orient these objects to a different position in the map, repeat this step.)
  • Group all the objects. (You can also save the finished group as a pre-fab)

From "The PaperDog"