User talk:Srs bsnss: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
I'm sick of seeing the red text at the top of my screen, so here I am, making this page exist. | I'm sick of seeing the red text at the top of my screen, so here I am, making this page exist. | ||
[[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. | |||
1) 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. | |||
2) 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. | |||
3) Path_tracks and tracktrains. This is how I do tube cubes and have generally found it to be the easiest and best way. To do: | |||
- 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) | |||
-Create a func_tracktrain (a brush entity). 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! Well: | |||
- 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. |
Revision as of 04:56, 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.
1) 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.
2) 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.
3) Path_tracks and tracktrains. This is how I do tube cubes and have generally found it to be the easiest and best way. To do:
- 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)
-Create a func_tracktrain (a brush entity). 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! Well:
- 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.