When to Use Engineers
If you have a lot of lag, be an engineer, since lag doesn't really affect most of what engies do. If you don't have much skill, such as aiming and moving ability, be an engineer, since you can get by with just knowing how to build things. If you're patient, disciplined, and a thinker, use the engineer as your expert class. You can become better with the engineer than any other class; it has great potential.

The Engineer's Weapons and Terminology
Engineers (also called "engies" or "engy's") have the following weapons:

  • sentry gun (also called "sentry", "sg", or "sent")
  • ammo dispenser (also called "disp")
  • double-barrel shotgun
  • railgun (the green raygun)
  • wrench (also called "spanner")
  • EMP grenades (for Electro-Magnetic Pulse; also called "emp")
  • normal grenades (also called "gren" or "nades")
  • body (yes, the body is a weapon too)
The Engineer's Special Abilities
The engineer has the most complex special-menu system of any class. While you're playing, you open the menu by hitting whichever key you have binded to the "special" binding. You can look this up in Half-Life's config dialog, or you can bind in on the fly by typing "bind f special" in the console, such that the key 'f' then brings up the special menu; enough on that.

The special menu allows you to create one sentry gun and one ammo dispenser. Once you have created them, the menu will then have an option allowing you to autodestruct your sentry or your dispenser. Once you have created a sentry, you can upgrade, repair, or dismante it by hitting it with your wrench. If you hit it with your wrench, a maintenance menu comes up. You also get a maintenance menu if you hit your dispenser with your wrench. Only, with dispensers, you have the options of adding ammo or armor, repairing it, or dismantling it. By the way, you use a dispenser (take ammo or armor from it) by walking up to it and touching it. Any class can use your dispenser, even the enemies! There'll be more on all that later.

Be sure to wait until the menu comes up before selecting an option. Also, develop the discipline to not choose incorrect options, since then you won't be able to bring up your menu for a few seconds (appearantly a bug in Half-Life). Not making mistakes while using the menus in the heat of battle is hard, but it's possible to perfect it, and you'll want to. Speaking of mistakes and the heat of battle, if you are building a sentry, you can move or shoot. So, if an enemy comes up and you have to run, quickly hit the special key again to cancel making the sentry. Also, if you accidentally make a sentry or dispenser in the wrong place, just quickly hit special again to cancel the building.

As an engineer, you can do things to your allies' dispensers and sentries. You should help them out. The one thing you shouldn't do is dismantle their dispensers and sentries. This is considered taboo even if your ally has placed something in a stupid place. It's much better to just tell them to move it.

The Engineer's Bindings
I had to search to the ends of Earth to find these the first time. So just in case you want them, here they all are. By the way, to use these you'll want to edit the engineer.cfg file in the tfc dirrectory and add lines such as "bind r detdispenser", which is one I have. If you are already playing as an engineer in a game, then you'll have to type "exec engineer.cfg" to get the changes you made to take effect.

  • build - brings up the special menu (same as the "special" binding)
  • special - brings up the special menu
  • detsentry - blows up your sentry (rarely used)
  • detdispenser - blows up your dispenser (extremely useful)
  • primeone - starts the 3-second priming of a normal grenade (use with throwgren)
  • primetwo - starts the 3-second priming of an EMP grenade (use with throwgren)
  • throwgren - throw the grenade you are priming (check the bottom-left icon)
  • +gren1 - primes a normal grenade on button-down, then throws the grenade on button-up
  • +gren2 - primes an EMP grenade on button-down, then throws the grenade on button-up
  • tf_weapon_spanner - use: "bind v use tf_weapon_spanner"; selects the wrench
  • tf_weapon_railgun - use: "bind v use tf_weapon_railgun"; selects the railgun, if you have bullets
  • tf_weapon_supershotgun - use: "bind v use tf_weapon_supershotgun"; selects the double-barrel shotgun, if you have shells
  • fov - use: "fov 45"; sets the Field Of View; the valid numbers range from 90 to 10
  • hud_centerid - use: "hud_centerid 1"; 1 turns on person-name showing (for seeing their armor level)
  • kill - kills your player
  • +use - uses an item, necessary for some doors and turrets (often engies overwrite the old binding thinking they won't need it)
  • developer - use: "developer 1"; 1 turns on developer mode so you can see echo messages in your scripts on screen
  • echo - use: "echo PRIMING GRENADES ON"; prints something to the console, and to screen if developer is 1
  • messagemode - use: "messagemode hi"; says something to everyone in the game
  • messagemode2 - use: 'messagemode2 "en spy in flag room" '; says something to everyone on your team (don't overdo it)
  • sensitivity - use: "sensitivity 12"; changes how sensitive the mouse is (use with zooming)
My engineer.cfg File
My engineer.cfg allows you to zoom in even closer than a sniper can and with three lenses. You hit d to zoom in (I use 'e' for right strafe so 'd' is free), then, once you are at maximum zoom it goes back to regular view again, which is 90-degrees FOV.

By default, I am in "grenade-priming mode". I bind emp grenades to mouse3 and normal grenades to mouse2. The catch is, the first time I click I only start priming the grenade, I don't throw it yet. The second time I click, I throw the grenade. That way, you can time when and where the grenade blows up, which is invaluable in battle. The other mode is "grenade-holding mode". That is the mode most people are in, where you have to hold the mouse button down to prime a grenade. The problem with that is it is hard to shoot with one finger while holding down another and trying to move the mouse as well. That is why I use grenade-priming mode. Note that you can change which mode you are in by hitting 'b'. In the future, I might implement a counter to make priming easier. It would count from 1 to 3 once you start priming a grenade so you don't have to keep count in your head.

I also have two modes for normal attack. Most of the time, I am in holding mode, the one everyone is used to. You only shoot as long as you are holding the mouse button down. But sometimes I go into "toggle-attack mode", with the 'g' key. In that mode, you click the mouse once, and you start attacking and keep attacking until you hit the mouse button again. This is invaluable if you are a sniper. But as an engineer, I usually only use it when I want to attack with the railgun and need to do some fancy footwork as well (again, not having to hold down the button makes controlling the mouse much easier).

A few final notes: I have binded detdispenser to 'r' which is right under my pinky finger. This is important for quickly blowing your dispenser when an enemy is nearby it. Finally, I use 't' in emergencies when I have to run fast. It turns off any zooming you have, it turns off your attack, and throws any grendes you are priming.

the file starts here...

echo ENGINEER CFG LOADED // startup defaults bind mouse1 +attack bind h messagemode2 bind g changeAttackMode bind b changeGrenadeMode bind b changeGrenadeMode bind mouse2 g1 bind mouse3 g2 bind d zoom bind r detdispenser bind t "zoom90; attackOff; g1throw" // ZOOM HANDLING alias zoom45 "fov 45; sensitivity 17; alias zoom zoom17" alias zoom17 "fov 17; sensitivity 14; alias zoom zoom10" alias zoom10 "fov 10; sensitivity 12; alias zoom zoom90" alias zoom90 "fov 90; sensitivity 19; alias zoom zoom45" alias zoom zoom45 // GRENADES HANDLING // does toggle grenade 1 alias g1 g1prime alias g1prime "primeone; alias g1 g1throw" alias g1throw "throwgren; alias g1 g1prime" // does toggle grenade 2 alias g2 g2prime alias g2prime "primetwo; alias g2 g2throw" alias g2throw "throwgren; alias g2 g2prime" // toggles grenade mode: prime-then-throw or holding alias changeGrenadeMode grenadeHolding alias grenadeHolding "bind mouse2 +gren1; bind mouse3 +gren2; alias changeGrenadeMode grenadePriming; developer 1; echo GRENADE HOLDING ON; developer 0" alias grenadePriming "bind mouse2 g1; bind mouse3 g2; alias changeGrenadeMode grenadeHolding; developer 1; echo GRENADE PRIMING ON; developer 0" //ATTACK HANDLING // does toggle attack alias attackOn "+attack; alias togAttack attackOff" alias attackOff "-attack; alias togAttack attackOn" alias togAttack attackOn // toggles attack mode: toggle or button-down alias changeAttackMode turnOnToggleAttack alias turnOnHoldingAttack "bind mouse1 +attack; alias changeAttackMode turnOnToggleAttack; developer 1; echo HOLDING ATTACK ON; developer 0" alias turnOnToggleAttack "bind mouse1 togAttack; -attack; alias changeAttackMode turnOnHoldingAttack; developer 1; echo TOGGLE ATTACK ON; developer 0" // I don't actually know what this does noaim 0

John LeFlohic
August 1, 1999