ConVar uses the constructor shown below:
ConVar( const char *pName, const char *pDefaultValue, int flags, const char *pHelpString, bool bMin, float fMin, bool bMax, float fMax );
The default value given as the second argument of the ConVar constructor is not the value set. To set a value, use:
- Variables that you wish to be saved should be marked with flag FCVAR_ARCHIVE. These will be saved with the user bindings in
config.cfg. Any cheat cvar should not be archived.
- After whatever flags you may want to add (or 0 if you don't want any), you can set a help string. This will display when someone enters in the ConVar without any value or if they enter an invalid value. You can use
\nto make a new line and use spaces after that to indent lines. Make your help-strings as rich and detailed as you want!
- Use the flag FCVAR_CHEAT to signify a ConVar that can only be used when sv_cheats is turned on.
- Use the flag FCVAR_REPLICATED to signify a server variable which is then replicated onto clients. For example, round timers or game rules should have this flag.
- For multiplayer games, use FCVAR_NOTIFY to send a message in chat whenever this variable is changed. Use this for ConVars that change game mechanics.
For more tips using ConVar flags, see this page.
The code below will define a cvar named
ConVar cl_test("cl_test", 0, 0, "Example ConVar");
Whats happening here is first, we are declaring the variable to be a
ConVar, then we are setting the name of the cvar that would be used in games console,
and after that, we set the default value, then flags, and finally, the help text for the console.
We can use use these cvars to initialize other variables, like if you wanted to create a integer named test you could do as so
int test = cl_test.GetInt();
You could also have it be a float, and call
Finally, don't forget to include
convar.h in your file