Pipe Valve: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
m (Put image on right, and add witty thumbnail text)
m (Unicodifying, replaced: [[Image: → [[File: (2))
 
(2 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[Image:ValveWheel1.png|thumb|[[Valve|Open your pipes.]]]]
[[File:ValveWheel1.png|thumb|[[Valve|Open your Pipes.]]]]
==Introduction==
==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:
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 ''+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...
* 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.
* With the '''Toggle (Disable Auto Return)''' Flag '''un-checked''', the valve object will automatically return to closed position.
== Required entities and objects ==
== Required entities and objects ==
1) '''MOMENTARY_ROT_BUTTON''' (This is a brush-model entity.)  
1) '''MOMENTARY_ROT_BUTTON''' (This is a brush-model entity.)  
Line 14: Line 14:
:e) Select and apply the brush-texture: "Invisible" to the entity.  
:e) Select and apply the brush-texture: "Invisible" to the entity.  
:f) For ''vertical position'' of the valve, set the following flags:
:f) For ''vertical position'' of the valve, set the following flags:
::*Not Solid Checked  
::* Not Solid Checked  
::*Toggle Unchecked (optional)  
::* Toggle Unchecked (optional)  
::*X Axis Checked  
::* X Axis Checked  
::*Y Axis Checked  
::* Y Axis Checked  
::*Use Activates Checked  
::* Use Activates Checked  
:g) For ''Horizontal position'' of the valve, set the following flags:
:g) For ''Horizontal position'' of the valve, set the following flags:
::*Not Solid Checked  
::* Not Solid Checked  
::*Toggle Unchecked (optional)  
::* Toggle Unchecked (optional)  
::*Use Activates Checked  
::* Use Activates Checked  




Line 28: Line 28:
:a) Place a new prop_dynamic entity on your map.
:a) Place a new prop_dynamic entity on your map.
:b) Choose and select its world model skin from one of the following, as:  
:b) Choose and select its world model skin from one of the following, as:  
::*[models\props_pipes\valvewheel001.mdl]
::* [models\props_pipes\valvewheel001.mdl]
::*[models\props_pipes\valvewheel002.mdl]
::* [models\props_pipes\valvewheel002.mdl]
::*[models\props_pipes\valvewheel002a.mdl]  --- ''Note: This model is larger.''
::* [models\props_pipes\valvewheel002a.mdl]  --- ''Note: This model is larger.''
:c) Name the entity as "W1"  
:c) Name the entity as "W1"  
:d) Select its Parent as [Func_for_Valve]  
:d) Select its Parent as [Func_for_Valve]  
Line 38: Line 38:
:a) Place a new prop_static entity on your map.  
:a) Place a new prop_static entity on your map.  
:b) Choose and select its world model skin from one of the following, as:  
: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\valve001.mdl] --- ''Note: Best if used with the larger wheelvalve model.''
::*[models\props_pipes\valve002.mdl]   
::* [models\props_pipes\valve002.mdl]   
:c) Naming this entity is not required  
:c) Naming this entity is not required  
== Set Inputs/Outputs (I/O)==
== Set Inputs/Outputs (I/O)==
1) Set the following output trigger(s) in the (FM1) brush's I/O.  
1) Set the following output trigger(s) in the (FM1) brush's I/O.  


[[Image:I O WheelValve.png]]
[[File:I O WheelValve.png]]
==Place, Align, and Group the objects==
==Place, Align, and Group the objects==
Follow these steps:
Follow these steps:


*Center the origin of the prop_static entity (pipe system).
* Center the origin of the prop_static entity (pipe system).
*Place the prop_dynamic entity '''"W1"''' into the desired position on the 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".   
* Set the desired Pitch Yaw Roll (Y Z X ) values for entity "W1".   
*Center the origin for "W1".
* Center the origin for "W1".
*Align "W1"'s origin with the prop_static's origin ''as close as possible''.
* 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.  
* 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".
* Center the origin for "FM1".
*Align "FM1"'s origin with "W1"'s origin ''as close as possible''.   
* 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.'')
* 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)  
* Group all the objects. (You can also save the finished group as a pre-fab)  


'''''From "The PaperDog"'''''
'''''From "The PaperDog"'''''
[[Category:Tutorials]]

Latest revision as of 01:50, 7 January 2024

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"