Changing the Basic Controls
You can change the basic movement and attack controls very easily by using the 'customize controls' menu. To get to this menu:
- Connect to any game
- Hit the escape key. A menu should appear, with 5 options.
- Move the rotating cursor down to the 'options' menu by hitting the down arrow on your keyboard. Hit enter to select the 'Options' menu.
- Locate the 'customize controls' menu, and use the arrow keys to select it.
Hitting enter when the cursor is beside the 'customize controls' menu will bring up a basic control reassignment screen.
The basic 'customize controls' menu will handle all the basics, and will get you shooting and moving in the way you're most comfortable. Assigning more advanced controls to keys isn't quite as easy, but is done via a more powerful interface. This page will explain how to assign a key to a command, or how to 'bind' keys.
Changing All Other Controls
Binding keys can be done in two ways:
- By typing a command into the console.
- By adding a line to one of your class config files (e.g. sniper.cfg, soldier.cfg, engineer.cfg)
In any game, at any time, you can change any keys you wish. The only things you need to know are:
- How to open the console
- The name of the key you want to assign a command to
- The name of the command you want to assign
- The format to assign a command to a key
Creating a Bind during a game:
- Open the console. This is done by pressing the ` or ~ key (usually in the top left portion of your keyboard). A window you can type into should appear, covering the top half of the screen.
Pick a key you want to hit to execute the command.
Keys that are safe to bind to:
|A to Z
ctrl alt shift
home end ins del pgup pgdn
(All alphabetical keys)|
(The function keys)
(The control, alt and shift keys)
(The space bar)
(Home & end, page up/down, etc)
- Pick a command to assign to that key.
Some commands you can bind:
impulse # - This is most often used to select an option from a menu. See the sentry gun example in number 3, below.
- Enter your bind in the following format:
bind (the key you want to press) "(the command you want to be executed)"
|Type this in the console:
bind w "+forward"
bind ctrl "+attack"
bind m "saveme"
bind l "lay"
bind f1 "say_team Roger!"
|The Result will be:|
Hitting w will make you move forward.
Hitting the control key will cause you to fire.
Hitting m will trigger the "Medic!" yell.
Hitting l will cause you to lie down instead of standing.
Hitting F1 displays the message: Roger! to your teammates.
Any binds you set in this way will last UNTIL YOU DIE. When you die, some of the keys you have bound to commands may be overwritten with other commands. To change a control forever, you need to edit your config file for the class you want to bind the command for.
Why? I'm glad you asked. Perhaps you want to use a given key for more than one command, depending on what class you are playing as. If you're playing as a scout for example, you may want to use the spacebar key to jetjump. When you switch classes and start playing as an engineer though, you may want to use spacebar to bring up the build menu. How can you change the command that the space key triggers depend on what class you are playing? By changing your class config files.
Every time you come back to life (or respawn) your class config file is executed. If you're a scout, a simple text file called scout.cfg in your megatf\fortress directory is read, and all the bind commands in that file are processed. If you're an engineer, a file named engineer.cfg is processed. Each class has its own config file, where you can enter bind commands that will be processed each time you respawn as that class. If you were playing as a scout and then changed to engineer, the command bound to the space key would be changed to bring up the build menu if your engineer.cfg file contained the line:
bind space "build"
Similarly, if you were playing as an engineer and then changed to playing as a scout, the command bound to the space key would be changed to jetjump if your scout.cfg file contained the line:
bind space "jetjump"
The tutorial below will walk you through making changes to config files on your own.
Editing a class config file
Remember, these files will run every time you respawn. Making changes here will change your controls perminently. This can be a good thing, but try to be careful.
- Open notepad (or another text editor). Click on the 'Start' button. Go to 'Programs' then select 'Accessories' and click on 'Notepad'.
- Now you need to find the file you want to edit. Select the 'File' menu in notepad, then choose 'Open'. Browse to your MegaTF directory. You should see a sub-directory called fortress. Open the fortress directory. Within the fortress directory, you should see numerous config files. The following nine are the ones we are looking for: demoman.cfg, engineer.cfg, hwguy.cfg, medic.cfg, pyro.cfg, scout.cfg, sniper.cfg, soldier.cfg, and spy.cfg.
- Select your soldier.cfg (for this example, we will use soldier.cfg although ANY of the files listed at the end of step 2 can be edited instead). Notepad should open a file with a series of bind (key) "command" statements.
- Change this file. You probably want to do one of two things:
Save your changes. If you don't, you'll lose all your changes.
- Assign a command to another key. Just replace the current key with the one you want to use. For example, if you'd rather press the u key to reload, just change the line: bind q "reload" to read: bind u "reload".
- Eliminate a key binding. Either comment out or delete the key bind that bothers you. To comment out a command (this tells MegaTF to skip that command) just put a double slash // in front of the line you want ignored. It won't be processed again.
More Advanced Binds
Complex bindings are seperated by a semicolon.
bind w "+forward;holo"
bind b "build;wait;impulse 2"
bind k "build;wait;impulse 1"
Hitting w will make your character move forward, and cause a hologram of your character to appear.
Hitting b will build (or destroy) your sentry gun. (What actually happens here is that hitting b will bring up the build menu, and impulse 2 will select option 2 on it, building (or destroying) your sentry gun.
Hitting k will build (or destroy) your dispenser. (Exactly the same as above, except option 1 is selected).