Это удобно, так как менять их можно прямо во время игры, а так же не надо пере компилировать каждый раз исходный код, тем более что далеко не все разбираются в скриптинге. Что бы зарегистрировать новый квар, необходимо воспользоваться функцией register_cvar.
Инфо из amxmodx.inc:
/* Registers new cvar for HL engine.
* Returns the cvar pointer for get/set_pcvar functions.
*/
native register_cvar(const name[],const string[],flags = 0,Float:fvalue = 0.0);
Синтаксис:
register_cvar ( const name[],const string[],flags = 0,Float:fvalue = 0.0 )
- const name[] - Имя квара, например amx_my_super_cvar
- const string[] - Значение квара по умолчанию "777" или "mega_zna4enie"
- flags = 0 и Float:fvalue = 0.0 - Честно говоря ни когда не приходилось иметь дело.
Пример:
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#define PLUGIN "Register cvars"
#define VERSION "1.0"
#define AUTHOR "Admin"
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
//Регистрируем новый квар и устанавливаем значение по умолчанию
register_cvar("cvar_money_start", "7777")
}
//Вызывается когда клиент входит в игру
public client_putinserver(id){
//Условие что наш квар больше нуля
if (get_cvar_num("cvar_money_start") > 0){
//Если больше то устанавливаем деньги при входе равные квару
cs_set_user_money(id, get_cvar_num("cvar_money_start"))
} else {
//Если квар равен 0, то выставляем значение равное mp_startmoney
cs_set_user_money(id, get_cvar_num("mp_startmoney"))
}
}
Описание:
Что бы показать как это работает, мы изменим сумму денег выдающуюся при заходе игрока на сервере.
Для этого зарегистрируем квар и присвоим ему любое значение больше 0.
Далее у нас вступает Форвард функция( форвард - вызывается при каком то событии игры) когда игрок зашел на сервере.
Затем следует условие в котором с помощью функции get_cvar_num, мы получаем значение нашего квара cvar_money_start.
И если значение больше нуля устанавливаем ему сумму денег равную квару, если нет, то устанавливем значение его валюты равные квару mp_startmoney.
Для получения значений кваров, существуют 5 функций:
- get_cvar_flags
- get_cvar_float
- get_cvar_num
- get_cvar_pointer
- get_cvar_string
О них в другой раз.