The first thing you should make is the func_tank, as it's used in every other part of this article. Customize it however you desire, while making sure "Controllable" is ticked. Now that the turret itself is complete, we'll need to add a camera system.
) - Turret
Place a trigger_camera fairly close to the turret, while still allowing for a good angle to use the turret from. Add an info_target right next to the turret and in between that and the camera, and have your camera target it.
) - Turret_CameraTarget
) - Turret_TargetHold Time
) - 0.1
) - Turret_Target Now that the turret and the camera systems are both working, so we just need to finish it off. Throw down a brush that looks something like a computer, and place a func_tankcontrols in front of it, with these controls leading back to your newly created turret. Then, add a trigger_multiple in front of the func_tankcontrols, and have it target the camera.
Tank entity name
) - Turret
) - Turret_CameraDelay before reset
) - 0.1 So now you pop up to the computer, look through the camera at your friendly turret, and mercilessly slaughter hordes of innocent civilians. Err, evil aliens. Yes, that's it.
You can experiment with adding other entities to fancy it up a bit, such as an env_fade for when you start using the camera. Good luck, and happy mapping!
camera_turret.zip (Link: camera_turret.zip)
This effect is rather simple to create, as it requires only 5 entities. The only real ingenuity in this was the tiresome trial and error process that I went through in getting this to work.