Инфо из amxmodx.inc:
/* Executes command on a server console. */
native server_cmd(const command[],any:...);
Синтаксис:
server_cmd ( const command[], {Float,_}:...)
- const command[] - Команда выполняемая на сервере, массив или текст в кавычках
- {Float,_}:... - Если текст в кавычках, тут подставляемые массивы
Пример:
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "Server Command"
#define VERSION "1.0"
#define AUTHOR "Admin"
public plugin_init ( )
{
register_plugin ( PLUGIN, VERSION, AUTHOR )
register_concmd("my_cmd","srv_cmd")
register_concmd("timelimit_cmd","srv_cmd_time")
}
public srv_cmd(){
server_cmd("echo The maxplayers on this server is: %d",get_maxplayers())
}
public srv_cmd_time(){
server_cmd("mp_timelimit")
server_cmd("echo mp_timelimit 92")
server_cmd("mp_timelimit")
}
Описание:
Для того что бы нам не открывать/сварачивать клиент игры, команды для выполнения функций мы зарегистрируем не клиентские, а консольные.
Разницы на работе функций ни какой нет, только место ввода команды.
И так, у нас в распоряжении есть 2 команды:
- my_cmd - С помощью этой команды, в вызванной и ей функции сервер выполнит команду, результат которой мы увидим в его же консоле, а именно максимальное количество игроков на сервере.
- timelimit_cmd - тут немного интереснее, сервер выполнит сразу 3 команды:
- Сначала в консоле mp_timelimit, что выведет в консоле значение данной переменой
- Потом мы ее изменим на 92 минуты, echo нужно для того что бы мы увидели саму команду
- Снова заставляем сервер выполнить mp_timelimit и видим изменившееся число
- Сначала в консоле mp_timelimit, что выведет в консоле значение данной переменой
Все наглядно :).
На официальном сайте написано что бы не использовали данную функцию для изменения кваров плагинов, а пользовались функциями:
set_cvar_string,set_cvar_float,set_cvar_num