Пользователь
- Сообщения
- 8
- Реакции
- 10
Обновление на AMXX принесло множество полезных функций, которые не все многие еще не используют.
Если необходимо использовать несколько флагов, то используйте |
Для того, чтобы связать значение квара и переменной, нужно воспользоваться функцией
Теперь, когда квар создан и мы связали его с переменной, можно сделать автоматическое создание конфига, для этого используется функция
Ну и пример использования плагина с данными функциями
Код:
native create_cvar(const name[], const string[], flags = FCVAR_NONE, const description[] = "", bool:has_min = false, Float:min_val = 0.0, bool:has_max = false, Float:max_val = 0.0);
const name[] | Задает имя квара, используйте латиницу | Строка |
const string[] | Значение переменной | Строка |
flags = FCVAR_NONE | Указываем флаги для квара, описание будет ниже | Флаги будут указаны ниже |
const description[] = "" | Задаем описание для конфига | Строка |
bool:has_min = false | Указываем, есть ли у квара минимальное значение | Если имеется - true | Если отсутствует - false |
Float:min_val = 0.0 | Указываем это значение, если оно есть | Даже если значение целое число, указывать 40.0 |
bool:has_max = false | Указываем, есть ли у квара максимальное значение | Если имеется - true | Если отсутствует - false |
Float:max_val = 0.0 | Указываем это значение, если оно есть | Даже если значение целое число, указывать 40.0 |
FCVAR_NONE | Нет особого поведения |
FCVAR_ARCHIVE | Квар будет сохранен в vars.rc |
FCVAR_USERINFO | Пользовательские |
FCVAR_SERVER | Игроки получат информацию о том, что данный квар изменялся |
FCVAR_PROTECTED | Защищенный квар, используйте для паролей и того, что лучше лишний раз не показывать |
FCVAR_NOEXTRAWHITEPACE | Удаляет пробелы в начале и конце |
FCVAR_PRINTABLEONLY | Не может содержать непечатаемые символы (Смайлы, как пример) |
FCVAR_UNLOGGED | Изменение квара не будет отображаться в логах |
Если необходимо использовать несколько флагов, то используйте |
Код:
FCVAR_PROTECTED|FCVAR_NOEXTRAWHITEPACE
Для того, чтобы связать значение квара и переменной, нужно воспользоваться функцией
bind_pcvar_num | Для целых чисел |
bind_pcvar_float | Для число с плавающей запятой |
bind_pcvar_string | Для строковых значений |
Теперь, когда квар создан и мы связали его с переменной, можно сделать автоматическое создание конфига, для этого используется функция
Дополнено w0w: в AutoExecConfig лучше указывать аргументы, иначе потом могут быть проблемы с созданием конфига.
Код:
native AutoExecConfig(bool:autoCreate = true, const name[] = "", const folder[] = "");
bool:autoCreate | Если стоит true, то создаст конфиг с кварами, которые мы создали выше |
const name[] | Название конфига (не указывайте расширение файла), если не указано, то создаст plugin.filename.cfg |
const folder[] | Папка для конфига. Все конфиги будут находиться в configs/plugins |
Ну и пример использования плагина с данными функциями
Код:
#include <amxmodx>
new value;
public plugin_init() {
register_plugin("Example", "DEV-CS.RU", "AlexandrFiner");
new cvar = create_cvar(
"val", // Квар
"400", // Значение по умолчанию
.has_min = true, // У этого квара есть минимальное значение
.min_val = 1.0, // Само значение
.description = "Просто квар" // Это описание
);
bind_pcvar_num(cvar, value); // Связываем переменную и квар
AutoExecConfig(); // Автоматический конфиг
register_clcmd("say /show", "Command_Show");
}
public Command_Show(id) {
client_print(id, print_chat, "Значение квара val - %d", value);
return PLUGIN_HANDLED;
}
// This file was auto-generated by AMX Mod X (v1.9.0.5241)
// Cvars for plugin "Example" by "AlexandrFiner" (reapi_speed.amxx, DEV-CS.RU)
// Просто квар
// -
// Default: "400"
// Minimum: "1.000000"
val "400"
// Cvars for plugin "Example" by "AlexandrFiner" (reapi_speed.amxx, DEV-CS.RU)
// Просто квар
// -
// Default: "400"
// Minimum: "1.000000"
val "400"
Вложения
-
783 байт Просмотры: 23
Последнее редактирование: