Класс консольной перменной (ConVar)
ConVar - это класс C++, используемый для создания переменных консоли (часто сокращают до "cvar"), которые используются в консоли разработчика .
Спецификацию на переменные консоли можно найти здесь Категория:Консольные Переменные . Чтобы создать новую консольную переменную, смотрите это: Управление консолью разработчика
ConVar использует указанный ниже конструктор:
ConVar( const char *pName, const char *pDefaultValue, int flags, const char *pHelpString, bool bMin, float fMin, bool bMax, float fMax );
Значение, указанное по умолчанию в качестве второго аргумента в конструкторе ConVar, не является конкретным значением. Чтобы его установить, используйте:
pName->SetValue([value]);
Надлежащая практика
- Переменные, которые вы хотите сохранить, должны быть помечены флагом FCVAR_ARCHIVE. Обнаруженные читы ConVar архивировать не следует.
- После любых признаком, которые будут добавлены (или 0, если они не нужны), можно задать строку справки. Она будет отображаться, если кто-то введёт переменную без указания значения или если будет введено недопустимое значение. Можно использовать \n для создания новой строки и пробелы после неё для отступа. Строки справки можно делать сколь угодно подробными и информативными!
- Используйте признак FCVAR_CHEAT для указания переменной, которая может использоваться только при включенном режиме sv_cheats.
Баг:Некоторые игры игнорируют этот флаг в одиночной игре. [нужно проверить в ?]
- Используйте признак FCVAR_REPLICATED для указания серверной переменной, которая будет передана на клиентов. Например, этот признак должен быть установлен у таймеров раундов или игровых правил.
- В многопользовательских играх используйте FCVAR_NOTIFY для отправки сообщения в чат при каждом изменении этой переменной. Используйте этот признак для переменных, которые меняют игровую механику.
Дополнительные советы по использованию признаков ConVar приведены на этой странице.
Примеры
The code below will define a cvar named cl_test
:
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 GetFloat()
Finally, don't forget to include convar.h
in your file