Ru/ConVar: Difference between revisions
m (obsolete language category) |
(Russian translate and add content from english page) |
||
Line 1: | Line 1: | ||
{{LanguageBar|title = | {{LanguageBar|title = Класс консольной перменной (ConVar)}} | ||
{{src topicon}} | {{src topicon}} | ||
{{stub}} | {{stub}} | ||
'''ConVar''' - это класс C++, используемый для создания [[console variable|переменных консоли]] (часто сокращают до "cvar"), которые используются в {{L|Developer console|консоли разработчика}}. | |||
Спецификацию на переменные консоли можно найти здесь {{LCategory|Console | Спецификацию на переменные консоли можно найти здесь {{LCategory|Console variables|Категория:Консольные Переменные}}. | ||
Чтобы создать новую консольную переменную, смотрите это: [[Developer_Console_Control#Using_the_ConVar_class| | Чтобы создать новую консольную переменную, смотрите это: [[Developer_Console_Control#Using_the_ConVar_class|Управление консолью разработчика]] | ||
<!-- only info on console variables _in general_ should be on this page --> | <!-- only info on console variables _in general_ should be on this page --> | ||
ConVar использует указанный ниже конструктор: | |||
ConVar( const char *pName, const char *pDefaultValue, int flags, const char *pHelpString, bool bMin, float fMin, bool bMax, float fMax ); | |||
{{code|highlight=cpp|ConVar( const char *pName, const char *pDefaultValue, int flags, const char *pHelpString, bool bMin, float fMin, bool bMax, float fMax );}} | |||
Значение, указанное по умолчанию в качестве второго аргумента в конструкторе ConVar, '''не''' является конкретным значением. Чтобы его установить, используйте: | |||
{{code|highlight=cpp|pName->SetValue([value]);}} | |||
== Надлежащая практика == | == Надлежащая практика == | ||
Переменные, которые вы хотите сохранить, должны быть помечены флагом {{ent:ru|FCVAR_ARCHIVE}}. Обнаруженные читы ConVar архивировать не следует. | * Переменные, которые вы хотите сохранить, должны быть помечены флагом {{ent:ru|FCVAR_ARCHIVE}}. Обнаруженные читы ConVar архивировать не следует. | ||
* После любых признаком, которые будут добавлены (или 0, если они не нужны), можно задать строку справки. Она будет отображаться, если кто-то введёт переменную без указания значения или если будет введено недопустимое значение. Можно использовать {{code|\n}} для создания новой строки и пробелы после неё для отступа. Строки справки можно делать сколь угодно подробными и информативными! | |||
* Используйте признак [[FCVAR_CHEAT]] для указания переменной, которая может использоваться только при включенном режиме sv_cheats. | |||
:{{bug|Некоторые игры игнорируют этот флаг в одиночной игре.}} | |||
* Используйте признак [[FCVAR_REPLICATED]] для указания серверной переменной, которая будет ''передана'' на клиентов. Например, этот признак должен быть установлен у таймеров раундов или игровых правил. | |||
* В многопользовательских играх используйте [[FCVAR_NOTIFY]] для отправки сообщения в чат при каждом изменении этой переменной. Используйте этот признак для переменных, которые меняют игровую механику. | |||
Дополнительные советы по использованию признаков ConVar приведены на [[Developer Console Control#The FCVAR flags|этой странице]]. | |||
== Примеры == | |||
The code below will define a cvar named <code>cl_test</code>: | |||
{{code|highlight=cpp|ConVar cl_test("cl_test", 0, 0, "Example ConVar");}} | |||
Whats happening here is first, we are declaring the variable to be a <code>ConVar</code>, 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 | |||
{{code|highlight=cpp|int test {{=}} cl_test.GetInt();}} | |||
You could also have it be a float, and call <code>GetFloat()</code> | |||
Finally, don't forget to include <code>convar.h</code> in your file | |||
== См. также == | == См. также == |
Latest revision as of 08:34, 12 July 2025
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