This entity allows you to create a controllable or automatic gun turret. To make it controllable by the player, you'll need a func_tankcontrols entity.
Name (targetname) - Property used to identify entities.
Target (target) - When an entity is activated, it triggers the entity with the name specified by Target.
Render FX (renderfx) - Gives objects special render effects. Think of it as modifying whatever the Render Mode puts out. The options are as follows:
0 = Normal
1 = Slow Pulse
2 = Fast Pulse
3 = Slow Wide Pulse
4 = Fast Wide Pulse
5 = Slow Fade Away
6 = Fast Fade Away
7 = Slow Become Solid
8 = Fast Become Solid
9 = Slow Strobe
10 = Fast Strobe
11 = Faster Strobe
12 = Slow Flicker
13 = Fast Flicker
14 = Constant Glow
15 = Distort
16 = Hologram (Distort and Fade)
Render Mode (rendermode) - Controls the type of rendering that is used for an object. Options are:
0 = Normal
1 = Color
2 = Texture
3 = Glow
4 = Solid
5 = Additive
Pitch Yaw Roll (angles) - Sets the pitch (up / down), yaw (left / right) and roll (bank) respectively. The compass in WorldCraft / Hammer corresponds to Yaw. The settings are not always (or not all) used.
FX Amount (renderamt)
FX Color (rendercolor)
Global Entity Name (globalname)
Yaw rate (yawrate) - The speed of the left/right movement of the gun.
Yaw range (yawrange) - Range of left/right movement in degrees.
Yaw tolerance (yawtolerance)
Pitch rate (pitchrate) - The speed of the up/down movement of the gun.
Pitch range (pitchrange) - Range of up/down movement in degrees.
Barrel Length (barrel) - The distance from the center of the origin brush to the tip of the barrel.
Barrel Horizontal (barrely) - Horizontal distance from the center of the origin brush to the center of the Barrel.
Barrel Vertical (barrelz) - Vertical distance from the center of the origin brush to the center of the Barrel.
Smoke Sprite (spritesmoke) - The sprite that will be shown at the end of the barrel when the gun is fired.
Flash Sprite (spriteflash) - The sprite that will be shown at the end of the barrel when the gun is fired.
Sprite Scale (spritescale) - Scale of the sprites that appear at the end of the barrel. 1 is normal, 0.5 is half, etc.
Rotate Sound (rotatesound)
Rate of Fire (firerate) - Number of bullets fired per second.
Damage per Bullet (bullet_damage) - Default is 0, so if you want it to kill things you must enter something.
Firing Persistance (persistance) - Used by non-player-controlled guns to determine for how long the gun carries on firing after the player has left its range.
Bullet accuracy (firespread) - How accurate the gun is. Values:
0 = perfect shot
1 = small cone
2 = medium cone
3 = large cone
4 = extra-large cone
Minimum target range (minRange) - Minimum range the target can be at for a non-player-controlled gun to fire.
Maximum target range (maxRange) - Maximum range the target can be at for a non-player-controlled gun to fire.
Minimum light level (_minlight) - The minimum light level the entity will have, even if its initial position in the editor is in a purely dark room. This is a very aggressive value, so even a value of 0.02 will make the entity relatively bright.
ZHLT Lightflags (zhlt_lightflags)
Light Origin Target (light_origin) - Overrides the position from which the entity will receive its lighting when the map compiles. Useful if the entity doesn't have the correct lighting in-game. This can be used with an info_target.
Bullets (bullet) - Projectile type:
0 = none
1 = 9mm
2 = MP5
3 = 12mm
Active (1) - If enabled, the gun will be active when the map loads. If not enabled, the gun will need to be triggered to work (if non-player-controlled).
Only direct (16) - Gun will only fire if the target is in direct line of sight.
Controllable (32) - If enabled, the gun can be controlled by the player through a func_tankcontrols entity.
The func_tank needs to be created facing 0 degrees (to the right in the top (x/y) view). The angle that the weapon faces in-game can be controlled with the compass (Yaw).
Targeting an ambient_generic (with its Not Toggled and Start Silent flags enabled) allows you to give the gun a sound.
You can also target an env_shooter to shoot out spent shells!