User talk:Srs bsnss: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
(11 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
[[User:Srs bsnss|Srs bsnss]] 01:33, 4 July 2013 (PDT) | [[User:Srs bsnss|Srs bsnss]] 01:33, 4 July 2013 (PDT) | ||
=Vactubes= | |||
This is kinda tricky. There are three ways that it can be done. | This is kinda tricky. There are three ways that it can be done. | ||
# Animations - this is what Valve uses. There's a cube model, I forget it's name, which has animations that are designed for specific sets of pipes and so I wouldn't recommend it, unless you copy-paste some tubes from Valve maps. | |||
# A system of trigger_push entities. This is the dodgiest method, and is used only once or twice in the official game. It involves trigger_pushes pushing the cube through the pipes. It would not recommend it, unless you need to use the physical cube in the test. | |||
# Path_tracks and tracktrains. This is how I do tube cubes and have generally found it to be the easiest and best way. | |||
==How to do method #3== | |||
*Inside your pipe system, at the start, '''create a path_track entity'''. Give it a name like vac_path1. Set the 'Next Stop' to vac_path2. Duplicate it (hold shift + drag), and it should automatically re-name it and connect it to the first one. Continue this process of duplicating the one before until you have enough to satisfy your pipes (pro tip: more path_tracks in bends will make it smoother). One the last one, give it the output: | |||
OnPass > !activator > Kill | |||
*Create a prop_dynamic_override. Set it's model to metal_box.mdl. Name it whatever you want (e.g. vac_box) | |||
*Use the brush tool to create a func_tracktrain (a brush entity). It only needs to be a 32x32x32 cube, if not smaller. Align it with the center of the prop_dynamic_override. Give it the following settings: | |||
Name = vac_tracktrain | |||
First Stop = vac_path1 | |||
Max/Initial Speed = 800 is good, but whatever you like | |||
*Go back to the prop_dynamic_override's settings, set 'Parent' to vac_tracktrain. | |||
*Create a point_template entity. Name it vac_temp. Give it the following settings: | |||
Temp 1 = vac_tracktrain | |||
Temp 2 = vac_box | |||
* '''''MAKE SURE THE FLAG "PRESERVE ENTITY NAMES" IS NOT TICKED.''''' | |||
*Create a logic_timer. Give it the following settings: | |||
Name = vac_timer | |||
Temp 1 = vac_tracktrain | Random Time = Yes | ||
Temp 2 = vac_box | Min. Interval = 0.3 is good but whatever you want | ||
Max. Interval = 1.3 is good but whatever you want. | |||
MAKE SURE THE FLAG "PRESERVE ENTITY NAMES" IS NOT TICKED. | |||
Name = vac_timer | |||
Random Time = Yes | |||
Min. Interval = 0.3 is good but whatever you want | |||
Max. Interval = 1.3 is good but whatever you want. | |||
Smaller gap will mean a greater frequency of cubes. | Smaller gap will mean a greater frequency of cubes. | ||
* Give it the following output: | |||
OnTimer > vac_temp > ForceSpawn. | |||
* Simply trigger the logic_timer, and you're done! Cubes! | |||
==But what if you want different objects? This only produces one type of cube!== | |||
* Repeat the middle steps, I.E., create a new prop_dynamic_override, a new func_tracktrain, and a new point_template for your other object. | |||
But what if you want different objects? This only produces one type of cube! | |||
OnCase01 > vac_temp > ForceSpawn | * Create a logic_case. Give it a name like vac_spawner and give it the following outputs: | ||
OnCase02 > vac_temp2 > ForceSpawn | |||
OnCase03 > vac_temp3 > ForceSpawn | OnCase01 > vac_temp > ForceSpawn | ||
OnCase02 > vac_temp2 > ForceSpawn | |||
OnCase03 > vac_temp3 > ForceSpawn | |||
etc. etc. | etc. etc. | ||
*Go into the settings of the logic_timer. Remove the original output and give it this one: | |||
OnTimer > vac_spawner > PickRandom. | |||
* Ta-da! Random objects through your tubes! Make sure you give them separate names, of course, as well as re-parenting and so on. | |||
Ta-da! Random objects through your tubes! Make sure you give them separate names, of course, as well as re-parenting and so on. | |||
Hopefully this helps. | Hopefully this helps. |
Latest revision as of 05:17, 15 March 2016
I'm sick of seeing the red text at the top of my screen, so here I am, making this page exist. Srs bsnss 01:33, 4 July 2013 (PDT)
Vactubes
This is kinda tricky. There are three ways that it can be done.
- Animations - this is what Valve uses. There's a cube model, I forget it's name, which has animations that are designed for specific sets of pipes and so I wouldn't recommend it, unless you copy-paste some tubes from Valve maps.
- A system of trigger_push entities. This is the dodgiest method, and is used only once or twice in the official game. It involves trigger_pushes pushing the cube through the pipes. It would not recommend it, unless you need to use the physical cube in the test.
- Path_tracks and tracktrains. This is how I do tube cubes and have generally found it to be the easiest and best way.
How to do method #3
- Inside your pipe system, at the start, create a path_track entity. Give it a name like vac_path1. Set the 'Next Stop' to vac_path2. Duplicate it (hold shift + drag), and it should automatically re-name it and connect it to the first one. Continue this process of duplicating the one before until you have enough to satisfy your pipes (pro tip: more path_tracks in bends will make it smoother). One the last one, give it the output:
OnPass > !activator > Kill
- Create a prop_dynamic_override. Set it's model to metal_box.mdl. Name it whatever you want (e.g. vac_box)
- Use the brush tool to create a func_tracktrain (a brush entity). It only needs to be a 32x32x32 cube, if not smaller. Align it with the center of the prop_dynamic_override. Give it the following settings:
Name = vac_tracktrain First Stop = vac_path1 Max/Initial Speed = 800 is good, but whatever you like
- Go back to the prop_dynamic_override's settings, set 'Parent' to vac_tracktrain.
- Create a point_template entity. Name it vac_temp. Give it the following settings:
Temp 1 = vac_tracktrain Temp 2 = vac_box
- MAKE SURE THE FLAG "PRESERVE ENTITY NAMES" IS NOT TICKED.
- Create a logic_timer. Give it the following settings:
Name = vac_timer Random Time = Yes Min. Interval = 0.3 is good but whatever you want Max. Interval = 1.3 is good but whatever you want.
Smaller gap will mean a greater frequency of cubes.
- Give it the following output:
OnTimer > vac_temp > ForceSpawn.
- Simply trigger the logic_timer, and you're done! Cubes!
But what if you want different objects? This only produces one type of cube!
- Repeat the middle steps, I.E., create a new prop_dynamic_override, a new func_tracktrain, and a new point_template for your other object.
- Create a logic_case. Give it a name like vac_spawner and give it the following outputs:
OnCase01 > vac_temp > ForceSpawn OnCase02 > vac_temp2 > ForceSpawn OnCase03 > vac_temp3 > ForceSpawn
etc. etc.
- Go into the settings of the logic_timer. Remove the original output and give it this one:
OnTimer > vac_spawner > PickRandom.
- Ta-da! Random objects through your tubes! Make sure you give them separate names, of course, as well as re-parenting and so on.
Hopefully this helps.