Difference between revisions of "FF Commands"

From Fortress Forever Wiki
Jump to navigationJump to search
Line 52: Line 52:
 
* [[Commands:Client|Client]] commands & vars.
 
* [[Commands:Client|Client]] commands & vars.
 
==Server==
 
==Server==
* [[Commands:Server|Server]] commands & vars.
+
* [[:Category:svars|Server Commands & Variables]].

Revision as of 03:30, 3 July 2006

This page is somewhat hard to categorise. It's for things that can be selected / influenced by the player. Most of the items on this page should have corresponding entries in the Menu System controls / options page, unless it's an obscure option that is accessible by config only. Common sense should be exercised, as this could get really cluttered. For example, there's no need for ffc_medic_sensitivity, as the player can simply use the sensitivity command and place it in the medic.cfg.

None of the 'traditional' options that are inherent in the HL2 engine should be listed here. By this, I mean movement commands, mouse parameters and so forth. Simply list the additional things that FF features.

These things are separated (kinda) into a couple of categories, client and server. Client settings are further divided between commands and cvars.

Some Stuff

I'll move a lot of this to the discussion page in due course.

As I understand it, cvars are variables and store the client's preferences / setup. Commands are simply things that send something to the engine and cause something to happen as a result.

We need a consistent naming scheme for ff commands, if possible. I'd like it if server vars/commands unique to ff had a prefix of some sort, like ff_roundtime etc. However, I've noticed that many server commands in the CVS build use the common name like "mp_teamplay".

I discussed this with mirv, and we came to the conclusion that:

  • FF Server commands should be prefixed ff_ (much like TFC Server commands were prefixed tfc_)
  • FF Client variables (NOT client commands) should be prefixed ffc_.

The reasoning is simple: It helps both the dev team and the gamer when they are tracking what is available in the mod.

Here's some examples of the stuff that qualifies as commands or cvars (no formatting / naming is used, these are just examples of what goes into each category).

Examples of Client Commands

  • Discard
  • Medic call
  • Engineer call

Examples of Cvars

  • Use slot on spawn (can be set up in class configs, so only one variable is required -- all it stores is the slot number to equip when spawning so the player can choose his or her default weapon per class)
  • Quickswitch Settings (allows player to set up two slots / weapons to quickswitch between using a single key -- again, this can be set up in the classname.cfg rather than requiring medic_quickswitch1, medic_quickswitch2 etc)
  • Suicide When Changing Class (FF equivalent of "hud_autokill")
  • Exec class configs automatically (FF equivalent of TFC command whatever_ec)
  • Exec map config automatically (FF equivalent of TFC command whatever_em)

Examples of Server Commands

  • Restart prematch
  • Set Prematch Length
  • Set round time
  • etc

I haven't fully thought this through yet. We do need a list of all the commands & cvars in the game, though. This page is very very rough, and I haven't finalised its formatting. I'm just jotting down some ideas & stuff without fleshing it out right now.

This is more for the programmers to fill out, as they have a better grip on the game's contents than Dos or I do.

Naming Style

Generally, excluding prefixes, you should avoid underscores in command/variable names unless one word ends in a letter than the next word begins with. For example: ff_waveenergy. This would be better as ff_wave_energy. However, it's always better to try and rename the cvar so this doesn't happen in the first place. ff_waveenergy would become ff_wavepower (or whatever is suitable).

Please see the below categories for adding client/server commands/vars. I figure it's more logical to have separate pages for client/server. Each page has formatting details for writing the commands/vars.

Client

Server