Pumping Station
Pump
Gel pumps are very distinctive scenery and are found in the underground sections of Portal 2.
Their purpose is to pump gel from the underground reservoirs to the other parts of the facility. They are easy to make, and can add atmosphere and character to a map when used correctly. The prefab contains the set of pipes, along with corresponding sounds, and is incredibly useful if you want to implement a pump in a map of your own.
Construction
Gel pumps can be made using the following props:
- models/props_underground/pump_station.mdl (this is the pump)
- models/props_underground/paint_distillery_tank.mdl (this is the tank on the side of the pump)
Place a bent pipe on the other side of the pump and a straight pipe on the top of the pump and you will get something like the image on the right. The pipes are props and most of them are called 'tube_paint'. There are many different pipes with different LOD settings. Place them in your map then rotate them and move them so they are connected to whatever you want it to lead to. One good example of a pump station is the last pump station in the underground area.
If you have pipes with a "Gel Flow" arrow on it, you can set its color using the Color property of the Prop_static.
Lever for the Gel Pump (Work In Progress)
To create a lever to activate the gel pump, first, create a Prop_static, and make its model models/props_underground/interactive_console.mdl. (This is the base.) Off to the side, create a Prop_dynamic, then make its model models/props_gameplay/circuit_breaker_lever.mdl. Create a Nodraw brush the size of the lever model, and make it a Func_rotating. Name the brush "Lever_Brush." (If you have multiple levers, you might want to add a number to the end, or maybe the color of gel it connects to.) Position the brush so it's covering the lever model. (You might want to Group the two objects together for convenience.) Parent the model to the brush and position them so the lever and brush are in the lower part of the base model. (It doesn't matter if they're clipping into each other a little.) Now create another Nodraw brush and set its class to Func_button. Name it "lever_button." Add the output:
| My Output > | Target Entity | Target Input |
|---|---|---|
| OnPressed | Lever_relay | Trigger |
Finally, create a Logic_relay, name it "Lever_relay" and add these outputs:
| My Output > | Target Entity | Target Input | Parameter | Delay |
|---|---|---|---|---|
| OnTrigger | Lever_brush | Start | 0.00 | |
| OnTrigger | Lever_brush | Stop | 0.7 |
Extra Details
You may also want to add a startup sound for effect. To do so, create an Ambient_generic. The sound to use is World.DariosTotallyAccurateGelPumpLp in the Game Sounds tab, and make sure the is NOT looped flag is unchecked.