/me tips his hat. Good-bye old friend, you will be greatly missed.
A Proud Member of the TeamFortress2 WebRing




  Having trouble getting your TF/TFC install working up to snuff? Here's the place to visit to get the help you need! Email: [email protected] with questions of your own you would like answered.

S

News

TFC FAQ
Console Commands,
Aliases, Binds, & Configs

Networking
Server Administration
Updating Half-Life
Video Errors
Other Questions

TF FAQ
Main

Detailed Articles
TFC Config Info



 News
- Newswire
- Clan News - Catacombs
- Search
- Archives
- Send News!
 Community
- Submit Your Stuff
- Forums
- Chat/IRC
- Schtick
- Editorials
- Mailbag
- Polls
- TF/TFC FAQ
- Creative Writing 101
- Interviews
- Links
- Advertise!
 TeamFortress 1
- Index
- About
- TF History
- Rook's TF Guide
- TF Anticheat Project
- TF, We Salute Thee
- Files
- Links
 TeamFortress Classic
- Index
- About
- Survival Guide
- Survival Map Series
- Maps
- Bots
- Spray Logo Tutorial
- TFTech
- TFC Newbies
- TFC-Reform
- Files
- Links
 TeamFortress 2
- Preview - Info
- Files
- ScreenShots
 Quake 3 Fortress
- Q3F Information
 Unreal Fortress
- UnF Information
 Files
- Main Page
- Top TFC Files
 Email
- Free TF Email!
 Staff
- The Staff
- PF's Past
- Email Contacts
- Submit Your Stuff!
 Misc.
- One Year of PF
- TF's 3rd Birthday
- Hosting Info
- The Fort




 Official Sites
- TF1 Homepage
 Archived Sites
- Quake: Team Fortress
- Half-Life: Team Fortress
 General Information
- Desert Fortress (IE only)
- Misanthropy
- Team Play First
- TF Express
- TF File Factory
 Class / Strategy
- Bards TF Handbook
- The Clinic
- Death From Afar
- Demoman Domain
- Det 5
- Engineering 101
- Engineer Alliance
- Fragopolis
- G-Mans Script Help
- Jumpē
- Scout Guild
- The Snipers Nest
- The Spy Academy
- TFC Encyclopedia
- TF Academy
- Guild Central
 Maps
- MapComm
- Dark Betrayal
- Canalzone CC
- MapMakers
- Pixel
- Sailorfrag's TF Mapping
- TF Map Complex
- TFC Textures
- TF Map Factory
- JMC's TF Map Zone
- UncleBRUCE
- TFC Vault
- Z Factor Productions
 Models
- TF2 Models
- Cool Crap TF Products
- -PK- Pak
- Penguin's Models
- TF Stuff
 Editing / Utilities
- Hal Bot
- Medic!
- Raistlin: Scripts & Aliases
- TF Convoy
 Leagues / Tourneys
- Classic Fortress League
- New Zealand Clan Clash
- Team Pro League
 Misc/Special Interest
- Fraggin' Postal Shop
- TF2: The Truth
- TFC Bingo
- TF Funnies
- ThunderVote
- TF>Junction
- TF Shots
- TFC Webring
- The Red Flag
   Team Fortress Classic 1.5 FAQ
TFC 1.5 Information
[- By PainKilleR]
I've been looking all over the place for information on the TFC 1.5 patch, and I've found quite a bit of information so far. For now, I'm just going to put the information here. It may be a little cluttered, and the format won't be the best, but it's the fastest way for me to do this. As I get time, I'll be updating the individual pages of the TFC FAQ, and once I get all of this information segregated, this page will not be needed. In the meantime, if there's something specific you're looking for on the patch, use the search feature of your browser (CTRL+F will bring it up in IE).

First things first, there are two versions of the patch, 10161100.exe for users that know they're using v1016 of Half-life, and hl1100.exe for people that aren't sure what version they're using, have an earlier version, or simply don't want to worry about it. HL1100.exe will update any previous version of Half-life, so I would recommend downloading that patch if you have any problems with the 10161100.exe or if you think you might be reinstalling Half-life at some point in the future and don't want to keep multiple patches around.

If you have any problems with getting the patch to work, make sure you have your CDKey handy (run regedit and go to HKEY_CURRENT_USER\Software\Valve\Half-Life\Settings and find the key entry if you can't find your jewel case or simply don't want to look for it), then uninstall Half-life. Once uninstalled, restart your computer and then install Half-life again, followed by the full patch. You might want to save your configs for reference, but more than likely you'll want to rewrite your config files because some commands have changed and a few new features added.

Some of the following (up through the information on spectators not being able to talk to team members) came from TF 1.5 FAQ - by Mr Hat though I've corrected a few things and changed the formatting, most of the info is from there (or it's there even though I saw it on the forums or wherever).
OK, the first thing you may notice once you get TFC up and running is that Valve has included a grenade timer in this version of TFC. In order to disable the grenade timer you can record a blank .wav file and name it timer.wav, then replace the file in \Sierra\Half-Life\TFC\sound\weapons. You can also replace this with your normal timer.
Along with the timer issue you may also notice that the old primeone, primetwo, and throwgren commands that most of us used for our homemade grenade binds no longer work. If you want to setup a 2-keypress bind for grenades you'll now have to use +gren1, -gren1, +gren2, and -gren2. Notice that if you replace your timer.wav as mentioned above, you wont need anything special to get your timer to work any more. So, a simple press to prime, press again to throw alias would look something like this:

alias prime1 "+gren1;alias grend1 throw1"
alias throw1 "-gren1;alias grend1 prime1"
alias grend1 prime1
bind grend1

alias prime2 "+gren2;alias grend2 throw2"
alias throw2 "-gren2;alias grend2 prime2"
alias grend2 prime2
bind grend2

If you currently use a gren script that plays a timer and uses the +/- gren1/2 commands like the one above, you will more than likely hear two timers, so you might as well modify the script to remove the play command and move your timer as mentioned above.

Luvless sends the following word: if you find yourself listed as not being on a team on the scoreboard after joining a team, switching to spectator and then back to your team will usually fix it

If you used ASCII in your say or say_team binds to get nice coloured letters or symbols in your messages, it will no longer work (unless possibly you have a special pak file that allows you to do this).

Users of the number pad have found that it no longer works in many cases. This is because Valve has implemented full number pad support as a seperate set of keys. Go into the menu and bind the keys there, or modify your scripts using the following names for the keys:

9: KP_PGUP
8: KP_LEFTARROW
7: KP_HOME
6: KP_RIGHTARROW
5: KP_5
4: KP_LEFTARROW
3: KP_PGDN
2: KP_DOWNARROW
1: KP_END
Enter: KP_ENTER
Insert: KP_INS
Delete: KP_DEL
+: KP_PLUS
-: KP_MINUS
/: KP_SLASH
*: *

The instant-det demoman pipe-script no longer works, as it was never intended to be there in the first place (they removed it).

Keys and flags shouldn't be able to go through doors and thin walls any longer, simply another bug exploit fixed.

Spectators can't talk to anyone on any of the teams, only to other spectators.

Following are a few things from a post by Dewg on our forums

If you are seeing Gordon models or other incorrect player models, set cl_allowdownload and cl_allowupload to "0" (in console or your configs).

Other people see your model as incorrect: make sure the line model " " in your config.cfg does not read "soldier", "gordon", or something else.

The menus are too large and I can't see behind them well: There are TXT files in the TFC directory called 1024_textscheme.txt (pick a resolution), etc... these contain the font, size and color for the menu systems. I'm sure that someone will figure these text files out or Valve will tell us how to modify them, but feel free to play with them until you get a menu that works for you. (I've also got the information on these, it'll be towards the end of this page, before the new commands).

Joining a server and ending up with the scoreboard showing you as 'Unassigned' even after you've chosen a team seems to only happen if Auto-team is forced by the server, should be fixed in a server-side update soon. Don't worry about it too much, as far as I can tell, you're the only person that sees it that way, everyone else sees you on the correct team

Following is some information from the 3dSpotlight Half-life tweak guide

Make sure all of your drivers are up to date and you have Microsoft DirectX 7.0a installed. The most common problems for Half-life users are caused by out of date drivers.

If you're having problems under Win2k with the latest compatability updates installed, try using this file. (Note: I use Win2k myself and haven't had any problems, so I haven't tried this file or even looked at it)

Netgraph information:

Above the white seperating line of your netgraph (in the top section of the graph) is an area that shows the general size of each packet the game is receiving from the server. By default 1 pixel = 5 bytes of data. To change the scale, use the command net_scale. Along the edge of the screen is a set of green hash marks that indicate 50 bytes per mark, smaller marks will show 10 bytes if net_scale is set low enough.

red marks on the graph are player specific data sent only to you

yellow marks are data sent to you about other players

purple marks are data about other entities in the game

light blue marks are event data

dark blue marks are temporary entity data

green marks are sound data

grey marks are user message data

white dots along the top (in net_graph 2 only) indicate full packet size

Below the white line is a series of numbers that indicate your system/network performance

These numbers show your ping (xxx ms, as opposed to latency displayed in the scoreboard, this is closer to your actual ping) and framerate (xx fps), followed by an xx/s number, which is the number of updates/second you are requesting from the server, which can be changed using the cl_updaterate "xx" command.
Below this is a line that says in: followed by the size (in bytes) of the last packet the client received and the average data rate received from the server (in kilobytes/second) and a number and letter 'p' in parentheses indicating the amount of player information included in the last packet (note:will have to check to see if other types of data are displayed there as well).
The third line of text is similar to the above, but reads out: followed by the information on the data being sent to the server by the client.

Below the text/numeric display is the usual netgraph that has been there all along, with it's red/yellow/green/blue lines. The maximum height of the graph is based on a latency of 1000, so the lines will only take up half of the space here at a latency of 500, one quarter of the space at 250, etc.

Below that is another xx/s number, which indicates the maximum number of command packets you will send to the server each second. You can change this by using the cl_cmdrate "xx" command, which defaults at 30. It's recommended that you only increase this if you are getting higher than 30 fps and your connection can handle it. Also, each command sent includes some previous commands in case of packet loss. The number of backup commands sent is set by the cl_cmdbackup "x" variable, and defaults to 2. This increases upload bandwidth, but also makes the game run smoother if you're experiencing packet loss problems.

Next we have a graph that indicates how quickly the client renders frames and whether or not it's getting enough server updates to do so without generating it's own information (using prediction). When it is using prediction the graph will go above the grey line in this area and turn yellow/orange/red depending on how long it's been since you received updates from the server.

Finally, there's a line at the bottom of the netgraph that indicates your framerate and cl_cmdrate setting. A light blue dot is placed here for each command packet actually sent out per frame. If commands are delayed, it'll place a red dot here.

VGUI/in-game menus (thanks to Ahnteis from the Sierra TF2 forums for this info):
In your TFC folder there are files named 1024_textscheme.txt, 800_textscheme.txt, etc. (one for each horizontal reolution). These files are what you will edit to customize your in-game menus/VGUI. Open them up in your usual text editor (notepad or whatever) to look at them and edit them.
A number of the lines will be preceeded with // which means they are comments and will be ignored by the game, feel free to add some if you want to remember what the different lines are.

Here's what you'll find (along with some extra comments from myself/Ahnteis to help you out):
//1024x768 text scheme file

// DEFAULT BUTTON TEXT
//SchemeName tells the game where to use this section of settings
SchemeName = "Primary Button Text"

//Set your font choice in the quotes, default is Arial
FontName = "Arial"

//Set your font size, default depends on resolution, at 1024 it's 23
FontSize = 23

//Colour settings
//First 3 numbers are RGB
//(red green blue, standard for setting colours in most programs)
//The 4th/final number is most likely opacity, or how much/little you can see through the colour
//settings for all 4 numbers range from 0 to 255, with the opacity of 255 being completely solid
//If you wanted completely red letters, simply set 255 0 0 255, green would be 0 255 0 255, blue would be 0 0 255 255

//FgColor is the foreground, or text colour
FgColor = "255 170 0 255"

//BgColor is the background colour, this being black with about 55% opacity
//Black is 0 0 0, white is 255 255 255, just remember to follow the colour with an opacity
BgColor = "0 0 0 141"

//the 'Armed' settings are the same, but probably refer to the currently selected menu item
//in this case the text is solid white and the background is the same colour as the text
//on the rest of the menu, but less opaque
FgColorArmed = "255 255 255 255"
BgColorArmed = "255 170 0 67"

// COMMAND MENU TEXT
//possibly refers to the in-game command menus for the classes?
SchemeName = "CommandMenu Text"
FontName = "Arial"
FontSize = 21
FgColor = "255 170 0 255"
BgColor = "0 0 0 141"
FgColorArmed = "255 255 255 255"
BgColorArmed = "255 170 0 67"

// SCOREBOARD TEXT
//for the scoreboard (who'd have guessed?),
//note the lack of FgColor and BgColor settings
//adding an FgColor and BgColor here seems to have no effect
SchemeName = "Scoreboard Text"
FontName = "Arial"
FontSize = 18
//not sure what FontWeight does
FontWeight = 0

// TITLE FONT in TFC selection menus
SchemeName = "Title Font"
FontName = "Arial"
FontSize = 34
FgColor = "255 170 0 255"

// CLASSDESC, MAPDESC, MOTD text windows
//class and map descriptions, message of the day
SchemeName = "Briefing Text"
FontName = "Arial"
FontSize = 18
FontWeight = 0
FgColor = "255 170 0 255"

// Team info text (list of players, etc)
// fgColor is automatically set to the teams color
//hmm...might it be possible to force the colour here?
//haven't tried yet to find out
SchemeName = "Team Info Text"
FontName = "Arial"
FontSize = 18
FontWeight = 0



Now, on to the commandmenu.txt file, which contains your command menus, again the // preceeds comments, note that some formatting may not come out as nicely as I'd like in html

// Command Menu definition
//
// Basic Format:
// (Bound Key) (Button Text) (Command sent to server)
//
// Or you can check for a specific class:
// (Class) (BoundKey) (Button Text) (Command sent to server)
// Where (Class) is one of: SCOUT, SNIPER, SOLDIER, DEMOMAN, MEDIC, HWGUY, PYRO, SPY, ENGINEER
//
// Or you can check for a specific map: // MAP (MapName) (BoundKey) (Button Text) (Command sent to server)
// Where (MapName) is the name of the map, without the *.bsp.
//
// Or you can check for a specific team:
// TEAM1 (BoundKey) (Button Text) (Command sent to server)
// TEAM2 (BoundKey) (Button Text) (Command sent to server)
// TEAM3, TEAM4 work as well
//
// Buttons can also open up submenus, as follows:
// {
// "Some More Options",
// {
// ...
// }
// }
//
// Class can be any of the following:
// SCOUT, SNIPER, SOLDER, DEMOMAN, MEDIC, HWGUY, PYRO, SPY, ENGINEER
// Buttons prepended with a class name will only be seen if the player
// is that class.
//
// Buttons preceded with "CUSTOM" are handled in special ways. They can only be moved
// around or deleted.
//
//
// Limitations:
// Maximum of 40 menus.
// Maximum of 100 buttons per menu.

//--------------------------------------------------------
// Everything below here is editable
"1" "HELP"
{
CUSTOM "1" "SERVER INFO" "!SERVERINFO"
CUSTOM "2" "CLASS DESCRIPTION" "!CLASSDESC"
CUSTOM "3" "MAP DESCRIPTION" "!MAPBRIEFING"
}

CUSTOM "2" "CHANGE CLASS" "!CHANGECLASS"
CUSTOM "3" "CHANGE TEAM" "!CHANGETEAM"

// Here are the rest of the buttons and submenus
// You can change these safely if you want.
"4" "TEAM MESSAGE"
{
// Map Specific

//!! dustbowl messages not complete
MAP dustbowl "1" "MAP DUSTBOWL"
{
TEAM1 "1" "'Need spies'" "say_team Need spies for offense"
TEAM1 "2" "'Guard gren pack'" "say_team Guard the gren pack"

TEAM2 "1" "'Need spy defense'" "say_team Need more spy defense"
TEAM2 "2" "'Need more sentries'" "say_team Need more sentries"
}


MAP 2fort "1" "MAP 2FORT"
{
"1" "'Where is enemy flag?'" "say_team Where is enemy flag?"
"2" "'Where is our flag?'" "say_team Where is our flag?"
"3" "'Have Flag'" "say_team I have the flag"
"4" "'Flag is on bridge'" "say_team Flag is on the BRIDGE"
"5" "'Flag is in ramp room'" "say_team Flag is in the RAMP ROOM"
"6" "'Flag is in basement'" "say_team Flag is in the BASEMENT"
"7" "'Flag is in water'" "say_team Flag is in the WATER"
"8" "'Flag is in spiral'" "say_team Flag is in the SPIRAL"
}
MAP badlands "1" "MAP BADLANDS"
{
"1" "'Where is enemy flag?'" "say_team Where is enemy flag?"
"2" "'Where is our flag?'" "say_team Where is our flag?"
"3" "'Have Flag'" "say_team I have the flag"
"4" "'Flag is in enemy base'" "say_team Flag is in ENEMY BASE"
"5" "'Flag is on bridge'" "say_team Flag is on the BRIDGE"
"6" "'Flag is in enemy canyon'" "say_team Flag is in ENEMY CANYON"
"7" "'Flag is in center canyon'" "say_team Flag is in CENTER CANYON"
"8" "'Flag is in our canyon'" "say_team Flag is in OUR CANYON"
}
MAP well "1" "MAP WELL"
{
"1" "'Where is enemy flag?'" "say_team Where is enemy flag?"
"2" "'Where is our flag?'" "say_team Where is our flag?"
"3" "'Have Flag'" "say_team I have the flag"
"4" "'Flag is in loft'" "say_team Flag is in the LOFT"
"5" "'Flag is in lobby'" "say_team Flag is in the LOBBY"
"6" "'Flag is in water'" "say_team Flag is in the WATER"
"7" "'Flag is on bridge'" "say_team Flag is on the BRIDGE"
}
MAP cz2 "1" "MAP CZ2"
{
"1" "'I'm taking flag to..."
{
"1" "command point 1'" "say_team Taking Flag to Command Point 1!"
"2" "command point 2'" "say_team Taking Flag to Command Point 2!"
"3" "command point 3'" "say_team Taking Flag to Command Point 3!"
"4" "command point 4'" "say_team Taking Flag to Command Point 4!"
"5" "command point 5'" "say_team Taking Flag to Command Point 5!"
}
"2" "'Need defense at..."
{
"1" "command point 1'" "say_team We need defense at Command Point 1!"
"2" "command point 2'" "say_team We need defense at Command Point 2!"
"3" "command point 3'" "say_team We need defense at Command Point 3!"
"4" "command point 4'" "say_team We need defense at Command Point 4!"
"5" "command point 5'" "say_team We need defense at Command Point 5!"
}
}
MAP rock2 "1" "MAP ROCK2"
{
"1" "'Where is key?'" "say_team Where is the key?"
"2" "'Enemy key in yard'" "say_team The Enemy Key is in the YARD!"
"3" "'Enemy key in gas chamber'" "say_team The Enemy Key is in the GAS CHAMBER!"
"4" "'Enemy key in office'" "say_team The Enemy Key is in the WARDEN'S OFFICE!"
"5" "'Enemy key in library'" "say_team The Enemy Key is in the LIBRARY!"
"6" "'Our key in yard'" "say_team Our Key is in the YARD!"
"7" "'Our key in gas chamber'" "say_team Our Key is in the GAS CHAMBER!"
"8" "'Our key in office'" "say_team Our Key is in the WARDEN'S OFFICE!"
"9" "'Our key in library'" "say_team Our Key is in the LIBRARY!"
}
MAP warpath "1" "MAP WARPATH"
{
"1" "'I'm going to..."
{
"1" "'command point 1'" "say_team I'm going to Command Point 1!"
"2" "'command point 2'" "say_team I'm going to Command Point 2!"
"3" "'command point 3'" "say_team I'm going to Command Point 3!"
"4" "'command point 4'" "say_team I'm going to Command Point 4!"
"5" "'command point 5'" "say_team I'm going to Command Point 5!"
}
"2" "'need defense at..."
{
"1" "'command point 1'" "say_team We need defense at Command Point 1!"
"2" "'command point 2'" "say_team We need defense at Command Point 2!"
"3" "'command point 3'" "say_team We need defense at Command Point 3!"
"4" "'command point 4'" "say_team We need defense at Command Point 4!"
"5" "'command point 5'" "say_team We need defense at Command Point 5!"
}
"3" "'Need tunnel opened!'" "say_team Need a demoman to detpack the enemy tunnel!"
"4" "'Need tunnel closed!" "say_team Need a demoman to close our tunnel with a detpack!"
}
MAP epicenter "1" "MAP EPICENTER"
{
"1" "'Where is enemy flag?'" "say_team Where is enemy flag?"
"2" "'Where is our flag?'" "say_team Where is our flag?"
"3" "'Have Flag'" "say_team I have the flag"
"4" "'Our flag is in...'"
{
"1" "'our building, 1st floor'" "say_team Flag is in our building, 1st floor"
"2" "'our building, 2nd floor'" "say_team Flag is in our building, 2nd floor"
"3" "'enemy building, 1st floor'" "say_team Flag is in enemy building, 1st floor"
"4" "'enemy building, 2nd floor'" "say_team Flag is in enemy building, 2nd floor"
"5" "'near APC'" "say_team Flag is near APC"
}
"5" "'Enemy flag is in...'"
{
"1" "'enemy building, 1st floor'" "say_team Enemy flag in enemy building, 1st floor"
"2" "'enemy building, 2nd floor'" "say_team Enemy flag in enemy building, 2nd floor"
"3" "'our building, 1st floor'" "say_team Enemy flag in our building, 1st floor"
"4" "'our building, 2nd floor'" "say_team Enemy flag in our building, 2nd floor"
"5" "'near APC'" "say_team Enemy flag is near APC"
}
}
MAP hunted "1" "MAP HUNTED"
{
TEAM1 "1" "'Clear ahead?'" "say_team Is the area ahead CLEAR?"
TEAM1 "2" "'Under attack!'" "say_team I'm under ATTACK!"
TEAM1 "3" "'I'm Hiding!'" "say_team I'm hiding and waiting for Escort!"
TEAM1 "4" "'I'm in the Building!'" "say_team I'm in the FIRST BUILDING!"
TEAM1 "5" "'I'm in the Alley!'" "say_team I'm in the ALLEY!"
TEAM1 "6" "'I'm in the Ruins!'" "say_team I'm in the RUINS!"
TEAM1 "7" "'I'm in the Warehouse!'" "say_team I'm in the WAREHOUSE!"
TEAM1 "8" "'I'm at the Field!'" "say_team I'm at the FIELD! OPEN THE DOORS!"
TEAM1 "9" "'I'm in the Sewers!'" "say_team I'm in the SEWERS!"

TEAM2 "1" "'Area ahead CLEAR!'" "say_team Area ahead is CLEAR!"
TEAM2 "2" "'Area ahead NOT CLEAR!'" "say_team Area ahead is NOT CLEAR!"
TEAM2 "3" "'Where is the Hunted?'" "say_team Where is the Hunted?"
TEAM2 "4" "'Hunted in Building!'" "say_team Hunted is in the FIRST BUILDING!"
TEAM2 "5" "'Hunted in Alley!'" "say_team Hunted is in the ALLEY!"
TEAM2 "6" "'Hunted in Ruins!'" "say_team Hunted is in the RUINS!"
TEAM2 "7" "'Hunted in Warehouse!'" "say_team Hunted is in the WAREHOUSE!"
TEAM2 "8" "'Hunted at the Field!'" "say_team Hunted is at the FIELD!"
TEAM2 "9" "'Hunted in Sewers!'" "say_team Hunted is in the SEWERS!"

TEAM3 "1" "'Where is the Hunted?'" "say_team Where is the Hunted?"
TEAM3 "2" "'Hunted in Building!'" "say_team Hunted is in the FIRST BUILDING!"
TEAM3 "3" "'Hunted in Alley!'" "say_team Hunted is in the ALLEY!"
TEAM3 "4" "'Hunted in Ruins!'" "say_team Hunted is in the RUINS!"
TEAM3 "5" "'Hunted in Warehouse!'" "say_team Hunted is in the WAREHOUSE!"
TEAM3 "6" "'Hunted at the Field!'" "say_team Hunted is at the FIELD!"
TEAM3 "7" "'Hunted in Sewers!'" "say_team Hunted is in the SEWERS!"
}

"2" "OFFENSE"
{
"1" "'Meet at Enemy Entrance'" "say_team Meet at Enemy Entrance"
"2" "'Engaging Enemy'" "say_team Engaging Enemy"
"3" "'Need Sentry Taken Down'" "say_team Need Enemy Sentry Taken Down"
"4" "'Enemy Sentry Down'" "say_team Enemy Sentry Down"
"5" "'Need assistance'" "say_team Need assistance on Offense"
}

"3" "DEFENSE"
{
"1" "'Incoming Enemy'" "say_team Incoming Enemy"
"2" "'Incoming Spy'" "say_team Incoming Spy"
"3" "'Enemy in base'" "say_team Enemy is breaking through!"
"4" "'Need sentry built'" "say_team Need sentry on defense"
"5" "'Need assistance'" "say_team Need assistance on Defense"
"6" "'Repair my sentry'" "say_team Repair my sentry"
}

"4" "'Acknowledged'" "say_team Acknowledged"
"5" "'Negative'" "say_team Negative"
"6" "'Playing Offense'" "say_team Playing Offense"
"7" "'Playing Defense'" "say_team Playing Defense"
"8" "'On my way'" "say_team On my way"
}

"5" "CALL FOR MEDIC" "saveme"
"6" "DISCARD AMMO" "discard"

// DEMOMAN
CUSTOM "7" "SET DETPACK" "!DETPACKSTART"
CUSTOM "7" "STOP DETPACK" "!DETPACKSTOP"

// SPY
CUSTOM "7" "SPY" "!SPY"
{
CUSTOM "1" "DISGUISE" "!DISGUISE"

CUSTOM "1" "ENEMY DISGUISE" "!DISGUISEENEMY"
CUSTOM "2" "FRIENDLY DISGUISE" "!DISGUISEFRIENDLY"

CUSTOM "3" "FEIGN DEATH" "!FEIGN"
CUSTOM "4" "FEIGN SILENTLY" "!FEIGNSILENT"
CUSTOM "3" "STOP FEIGNING" "!FEIGNSTOP"
}

// ENGINEER
CUSTOM "7" "BUILD" "!BUILD"
{
// SENTRY GUN
CUSTOM "1" "BUILD SENTRY GUN" "!BUILDSENTRY"
CUSTOM "1" "ROTATE SENTRY 180" "!ROTATESENTRY180"
CUSTOM "2" "ROTATE SENTRY 45" "!ROTATESENTRY"
CUSTOM "3" "DISMANTLE SENTRY" "!DISMANTLESENTRY"
CUSTOM "4" "DETONATE SENTRY" "!DETONATESENTRY"

// DISPENSER
CUSTOM "5" "BUILD DISPENSER" "!BUILDDISPENSER"
CUSTOM "5" "DISMANTLE DISPENSER" "!DISMANTLEDISPENSER"
CUSTOM "6" "DETONATE DISPENSER" "!DETONATEDISPENSER"
}

CUSTOM "7" "STOP BUILDING" "!BUILDSTOP"

//End of File

On second thought, it's pretty well explained in the comments that Valve included. Notice that the normal menus are simply the number of the menu item, followed by the name of the item, and then the command, it's basically the same as writing your own .cfg files, but is a much more flexible system. If you have any specific questions on editing this file, don't hesitate to ask by sending me an email

Commands new/changed in TFC 1.5:
hud_classautokill: sets suicide on changeclass (0 = off, 1 = on, default 1)

hud_capturemouse: sets VGUI capture of mouse movement (0 = off, 1 = on, default 1)

net_graph: new netgraph (0 = off, 1, 2, 3)

net_graphpos: position of net_graph (0=left, 1=middle, 2=right, default 2)

net_graphwidth:width of net_graph (default 192)

cl_resend: sets # of times packets are resent

cl_updaterate: sets max # of update packets (default 20)

cl_lw: decides whether hitscan weapons fire on client-side or wait for server to acknowledge (1=client, 0=server, default 1)

cl_lc: server-side lag compensation requested by client (1=on, 0=off, default 1)

sv_unlag: client-side weapons lag-compensation (server side) (1=on, 0=off, default 1)

sv_unlagmax: sets specific max time a player can have lag compensation (default 0.5 = 500 ms, 0=no max)

sv_unlagsamples: sets # of packets used to compute client's latency for lag compensation (default=1)

fps_max: sets maximum fps (client-side), replaces fps_lan and fps_modem as effects of network performance on fps (and vice-versa) have been minimized in TFC 1.5 (set to number of wanted maximum frames per second, default 72)

console: enable/disable console (1=enable, 0=disable, can't find your console? check for this command in your config.cfg)

rotatesentry180: rotates your sentry 180 degrees, does not require you to be anywhere near your gun

rotatesentry:rotates your sentry 45 degrees, does not require you to be near your gun

(more to be added as I find it)


IGN.com | GameSpy | Comrade | Arena | FilePlanet | GameSpy Technology
TeamXbox | Planets | Vaults | VE3D | CheatsCodesGuides | GameStats | GamerMetrics
AskMen.com | Rotten Tomatoes | Direct2Drive | Green Pixels
By continuing past this page, and by your continued use of this site, you agree to be bound by and abide by the User Agreement.
Copyright 1996-2009, IGN Entertainment, Inc.   About Us | Support | Advertise | Privacy Policy | User Agreement Subscribe to RSS Feeds RSS Feeds
IGN's enterprise databases running Oracle, SQL and MySQL are professionally monitored and managed by Pythian Remote DBA.