Config files explained

Config files are one of the most important aspects of your TF gaming. A poor config file can make it difficult to play your class to it's full potential.

To run a config file the file must be in the quake\id1 directory and you need to bring up the console by pressing "~" and typing "exec blah.cfg" where blah is your config name.

A config file contains "binds" to TF inbuilt commands and "aliases". When you start a game of TF you "exec" or run your config file to set all of your controls. An extra feature of TF is to allow for class configs, that is whenever you become you respawn TF will execute the config file for that class so it automatically sets all of your controls up.

Normally you would have a master config file (I call mine tf.cfg) that contains all of your common controls and a set of config files for each class.   The master config file also contains a special variable "exec_class". When this variable is set to "on" TF will execute a config file equal to your current class. The command is:

setinfo exec_class on

now if you spawn as a soldier it will automatically execute "soldier.cfg" , if you were a spy it would execute "spy.cfg"

Below is the set of config files i use, though i should warn you that I use a "wierd arse" control set for basic controls.

tf.cfg

//Team fortress config

//Quickhelp - pressing '[' brings up this help screen
alias sos1 "echo ". Team fortress Config by [DraGoN]Bard          "
alias sos2 "echo ". ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"
alias sos3 "echo ". (a)-rocket Jump.........(w)-ID"
alias sos4 "echo ". (d)-grenade 1...........(r)-Reload    "
alias sos5 "echo ". (f)-grenade 2...........(e)-Class special"
alias sos6 "echo ". (n)-drop key............(\)-netgraph on"    
alias sos7 "echo ". (m)-discard ammo........(.)-drop ammo"
alias sos8 "echo ". (,)-inventory...........(/)-showclasses"
alias sos9 "echo ". (s)-Wide angle view.....(q)-help me"
alias sos10 "echo ". (g)-flaginfo"
alias sos11 "echo ". (h,j,k,l)-color swapping and messages"

alias +qsos "clear; sos1; sos2; sos3; sos4; sos5; sos6; sos7; sos8; sos9; sos10; sos11; toggleconsole; wait"
alias -qsos "wait; toggleconsole"
bind "[" "+qsos"

// Rocket Jumping
alias ld "cl_pitchspeed 9999; +lookdown; wait"
alias unld "-lookdown; centerview; cl_pitchspeed 150"
alias rjump "impulse 7; ld; +jump; +attack; wait; -attack; -jump; unld"

// color configs
alias col1 "topcolor 0; alias col col2"
alias col2 "topcolor 2; alias col col3"
alias col3 "topcolor 6; alias col col4"
alias col4 "topcolor 8; alias col col5"
alias col5 "topcolor 3; alias col col6"
alias col6 "topcolor 1; alias col col7"
alias col7 "topcolor 9; alias col col1"
alias col col1

// Wide-Angle view Hotkey
alias +wav "fov 100;wait;fov 115;wait;fov 125;wait; fov 135"
alias -wav "fov 120;wait;fov 110;wait;fov 100;wait; fov 90"

//normal keymapping
bind "TAB" "+showscores "
bind "ESCAPE" "togglemenu "
bind "t" "messagemode " //message to all
bind "y" "messagemode2 " //team message
bind "~" "toggleconsole "

bind "1" "impulse 1"
bind "2" "impulse 2"
bind "3" "impulse 3"
bind "4" "impulse 4"
bind "5" "impulse 5"
bind "6" "impulse 6"
bind "7" "impulse 7"
bind "8" "impulse 8"
bind "9" "impulse 9"

//special keymapping
bind "a" "rjump"
bind "\" "impulse 22"
bind "d" "+gren1"
bind "e" "special"
bind "f" "+gren2"
bind "r" "reload"
bind "q" "saveme"
bind "s" "+wav"
bind "w" "ID"
bind "n" "dropkey"
bind "m" "discard"
bind "," "inv"
bind "." "dropammo"
bind "/" "showclasses"
bind "b" ""
bind "p" "topcolor 12"
bind ";" "exec omsg.cfg"
bind "'" "exec dmsg.cfg"

bind "o" "exec taunt.cfg"
bind "g" "flaginfo"

//Color swap bindings
bind "h" "col"
bind "j" "say_team *** Colour change ***"
bind "k" "say_team *** Out of sync--RESTART COLOURS ***"
bind "l" "col1"

//Preferences
_cl_color "0"
_cl_name "player"
_snd_mixahead "0.1"
bgmvolume "1.000000"
volume "0.500000"
viewsize "100.000000"
_windowed_mouse "0"
vid_stretch_by_2 "1"
vid_config_y "600"
vid_config_x "800"
_vid_default_mode_win "3"
_vid_default_mode "0"
_vid_wait_override "0"
vid_nopageflip "0"
//Presettings
name "unnamed"
cd off
r_waterwarp 0
scr_conspeed 600
sv_aim 2
noaim 1
setinfo exec_class on

****
//Miscellaneous
bind "F11" "zoom_out"
bind "F12" "screenshot"
//*******


//Intro
clear
echo "[ Team Fortress config ]"
echo "[ Hold [ for quick help ]"
echo "[ Hold ] for class help ]"


spy.cfg

//Class Quickhelp - help details in class configs
alias pos1 "echo ". Spy Special Keys "
alias pos2 "echo ". ^^^^^^^^^^^^^^^^"
alias pos3 "echo ". (v)-feign"
alias pos4 "echo ". (b)-disguise"
alias pos5 ""
alias pos6 ""
alias pos7 ""
alias pos8 ""

alias +qpos "clear; pos1; pos2; pos3; pos4; pos5; pos6; pos7; toggleconsole; wait"
alias -qpos "wait; toggleconsole"
bind "]" "+qpos"

//Class specific keys
bind "v" "feign"
bind "b" "disguise"
sensitivity 2.5

//CLASS SPECIAL ALIAS
alias weap1 "impulse 1; alias weap weap2"
alias weap2 "impulse 2; alias weap weap3"
alias weap3 "impulse 3; alias weap weap4"
alias weap4 "impulse 4; alias weap weap1"
alias weap weap1
bind "CTRL" "weap"


soldier.cfg

//Class Quickhelp - help details in class configs
alias pos1 "echo ". Soldier Special Keys "
alias pos2 "echo ". ^^^^^^^^^^^^^^^^^^^^"
alias pos3 "echo ". CTRL - switch weapons"
alias pos4 ""
alias pos5 ""
alias pos6 ""
alias pos7 ""
alias pos8 ""
alias +qpos "clear; pos1; pos2; pos3; pos4; pos5; pos6; pos7; toggleconsole; wait"
alias -qpos "wait; toggleconsole"
bind "]" "+qpos"

//CLASS SPECIAL ALIAS
alias weap1 "impulse 3; alias weap weap2"
alias weap2 "impulse 7; alias weap weap1"
alias weap weap1
bind "CTRL" "weap"
sensitivity 2.5

sniper.cfg

//Class Quickhelp - help details in class configs
alias pos1 "echo ". Sniper Special Keys "
alias pos2 "echo ". ^^^^^^^^^^^^^^^^^^^"
alias pos3 "echo ". (c)-Autozoom"
alias pos4 "echo ". "
alias pos5 "echo ". "
alias pos6 "echo ". "
alias pos7 "echo ". "
alias pos8 "echo ". "
alias +qpos "clear; pos1; pos2; pos3; pos4; pos5; pos6; pos7; toggleconsole; wait"
alias -qpos "wait; toggleconsole"
bind "]" "+qpos"

//Class specific keys
bind "c" "autozoom"
bind "v" "sensitivity 0.50 ; wait ; impulse 2"
bind "b" "sensitivity 2.5 ; wait ;impulse 4"

alias weap1 "impulse 2; wait; sensitivity 0.45 ;alias weap weap2"
alias weap2 "impulse 4; wait; sensitivity 2.5 ;alias weap weap1"
alias weap weap1

scout.cfg

//Class Quickhelp - help details in class configs
alias pos1 "echo ". Scout Special Keys "
alias pos2 "echo ". ^^^^^^^^^^^^^^^^^^"
alias pos3 "echo ". (c)-scan10"
alias pos4 "echo ". (v)-scan30"
alias pos5 "echo ". (b)-scan100"
alias pos6 "echo ". (+)-scan enemies mode"
alias pos7 "echo ". (-)-scan friendly mode"
alias pos8 ""

alias +qpos "clear; pos1; pos2; pos3; pos4; pos5; pos6; pos7; toggleconsole; wait"
alias -qpos "wait; toggleconsole"
bind "]" "+qpos"


//Class specific keys
bind "c" "scan10; wait; scan10; wait; scan10; wait; scan10; wait; scan10; wait; scan10; wait; scan10; wait; scan10; wait; scan10; "
bind "v" "scan30"
bind "b" "scan100;"
bind "+" "scane"
bind "-" "scanf"
bind "CTRL" "scan100"

pyro.cfg

//Class Quickhelp - help details in class configs
alias pos1 "echo ". Pyro Special Keys "
alias pos2 "echo ". ^^^^^^^^^^^^^^^^^^"
alias pos3 "echo ". None"
alias pos4 ""
alias pos5 ""
alias pos6 ""
alias pos7 ""
alias pos8 ""
alias +qpos "clear; pos1; pos2; pos3; pos4; pos5; pos6; pos7; toggleconsole; wait"
alias -qpos "wait; toggleconsole"
bind "]" "+qpos"

//CLASS SPECIAL ALIAS
alias weap1 "impulse 6; alias weap weap2"
alias weap2 "impulse 7; alias weap weap1"
alias weap weap1
bind "CTRL" "weap"
sensitivity 2.5

medic.cfg

//Class Quickhelp - help details in class configs
alias pos1 "echo ". Medic Special Keys "
alias pos2 "echo ". ^^^^^^^^^^^^^^^^^^"
alias pos3 "echo ". (W)-Super-nailgun"
alias pos4 "echo ". CTRL - weapon alias"
alias pos5 ""
alias pos6 ""
alias pos7 ""
alias pos8 ""

alias +qpos "clear; pos1; pos2; pos3; pos4; pos5; pos6; pos7; toggleconsole; wait"
alias -qpos "wait; toggleconsole"
bind "]" "+qpos"

//CLASS SPECIAL ALIAS
alias weap1 "impulse 1; alias weap weap2"
alias weap2 "impulse 3; alias weap weap3"
alias weap3 "impulse 5; alias weap weap1"
alias weap weap1
bind "CTRL" "weap"
sensitivity 2.5

hwguy.cfg

//Class Quickhelp - help details in class configs
alias pos1 "echo ". HWGuy Special Keys "
alias pos2 "echo ". ^^^^^^^^^^^^^^^^^^"
alias pos3 "echo ". CTRL - weapons alias"
alias pos4 "echo ". "
alias pos5 "echo ". "
alias pos6 "echo ". "
alias pos7 "echo ". "
alias pos8 "echo ". "
alias +qpos "clear; pos1; pos2; pos3; pos4; pos5; pos6; pos7; toggleconsole; wait"
alias -qpos "wait; toggleconsole"
bind "]" "+qpos"

//CLASS SPECIAL ALIAS
alias weap1 "impulse 3; alias weap weap2"
alias weap2 "impulse 7; alias weap weap1"
alias weap weap1
bind "CTRL" "weap"
sensitivity 2.5

engineer.cfg

//Class Quickhelp - help details in class configs
//Quickhelp
alias pos1 "echo ". Engineer Special Keys"
alias pos2 "echo ". ^^^^^^^^^^^^^^^^^^^^^"
alias pos3 "echo ". (b)-Build"
alias pos4 "echo ". (u)-det sentry"
alias pos5 "echo ". (i)-det dispenser"
alias pos6 ""
alias pos7 ""
alias pos8 ""
alias +qpos "clear; pos1; pos2; pos3; pos4; pos5; pos6; pos7; toggleconsole; wait"
alias -qpos "wait; toggleconsole"
bind "]" "+qpos"
bind "u" "detsentry"
bind "b" "build"
bind "CTRL" "detdispenser"
sensitivity 2.5

demoman.cfg

//Quickhelp
alias pos1 "echo ". Demoman Special Keys "
alias pos2 "echo ". ^^^^^^^^^^^^^^^^^^^^^^^ "
alias pos3 "echo ". (c)-detpipe"
alias pos4 "echo ". (v)-det5"
alias pos5 "echo ". (b)-det20"
alias pos6 "echo ". (g)-det50"
alias pos7 ""
alias pos8 ""

alias +qpos "clear; pos1; pos2; pos3; pos4; pos5; pos6; pos7; toggleconsole; wait"
alias -qpos "wait; toggleconsole"
bind "]" "+qpos"
bind "c" "detpipe"
bind "v" "+det5"
bind "b" "+det20"
bind "g" "+det50"

//weapons alias
alias weap1 "impulse 6; alias weap weap2"
alias weap2 "impulse 2; alias weap weap3"
alias weap3 "impulse 7; alias weap weap1"
alias weap weap1
bind "CTRL" "weap"
sensitivity 2.5

omsg.cfg

//Offense team messages
bind "F1" "say_team [OFF] Roger"
bind "F2" "say_team [OFF] NEGATIVE"
bind "F3" "say_team [OFF] Moving to enemy flag"
bind "F4" "say_team [OFF] Pinned by defense"
bind "F5" "say_team [OFF] I'll Cause a diversion"
bind "F6" "say_team [OFF] GO GO GO"
bind "F7" "say_team [OFF] ---> Attacking enemy now --->"
bind "F8" "say_team [OFF] Hidden in enemy territory"
bind "F9" "say_team [OFF] Holding at rally point"
bind "F10" "say_team [OFF] On my way "

//Incoming messages
bind "INS" "say_team [O] Going in... High"
bind "HOME" "say_team [O] Going in...."
bind "PGUP" "say_team [O] Going in....Low"

//Special Messages
bind "DEL" "say_team [O] I have the flag.....cover me"
bind "END" "say_team [O] Sentry ahead"
bind "PGDN" "say_team [O] Sniper!!!!"

dmsg.cfg

//Messages
//Defense team messages
bind "F1" "say_team [D] Roger"
bind "F2" "say_team [D] Negative"
bind "F3" "say_team [D] Enemy Destroyed"
bind "F4" "say_team [D] Multiple"
bind "F5" "say_team [D] Enemy have broken through..."
bind "F6" "say_team [D] Defense move forward"
bind "F7" "say_team [D] Heavies"
bind "F8" "say_team [D] Pursuing"
bind "F9" "say_team [D] In position"
bind "F10" "say_team [D] I'm out of position"

//Incoming messages
bind "INS" "say_team [D] Incoming High"
bind "HOME" "say_team [D] Incoming "
bind "PGUP" "say_team [D] Incoming Low"

//Special Messages
bind "DEL" "say_team !!!!!!Enemy Outgoing With Flag!!!!!!"
bind "END" "say_team Scout"
bind "PGDN" "say_team Spy"

taunt.cfg

//taunt messages

bind "F1" "say You couldn't hit yourself with that gun..."
bind "F2" "say It's good to be the KING!!!!"
bind "F3" "say Nice catch!!!"
bind "F4" "say You suck, go play solitaire"
bind "F5" "say No! No! No! ... you kill the other team"
bind "F6" "say ---> Gibs proudly brought to you by [DraGoN] <---"
bind "F7" "say No brains, No reflexes..... go buy a gameboy"
bind "F8" "say You must be a Virgin.... Can't hold your shot"
bind "F9" "say look... is there anyone here who isn't better than you?"
bind "F10" "say Come on Bardie let's go party! "

Below is a sample of the config files I use for TF. A zip file is available here.