Last server records
Pro Nub

Консольные команды и переменные. Что такое cvar и bind?

Posted by Kpoluk 13 Mar 2016 in 11:19
Содержание:

Стандартные консольные команды
Стандартные консольные переменные
Настройка через опции CS 1.6
Конфиг CS 1.6
Дополнительные команды и переменные AMX Mod X


Стандартные консольные команды


Попробуем сначала понять, что такое консольные команды. Когда мы нажимаем, к примеру, клавишу D, то мы отправляем игре команду "двигаться вправо". На её языке эта команда выглядит как +moveright. Когда мы отпускаем D, то посылаем команду "прекратить двигаться вправо", то есть -moveright. Эти же команды можно отправить, открыв консоль (клавиша ` или, проще говоря, русская ё), прописав их в поле снизу и нажав Enter:


Помимо этих двух CS 1.6 знает ещё много различных команд. Однако что если мы хотим присвоить клавише D другую команду? Для этого тоже есть своя команда, просто она чуть посложнее, так как имеет два аргумента:


Здесь мы использовали команду bind с аргументами D и +duck. Первый аргумент - клавиша, второй - действие (мы берём аргументы в кавычки, но здесь можно было обойтись и без них, так как аргументы не содержат в себе пробелов). А сам bind в переводе с англ. означает "привязывать", то есть мы привязываем к клавише действие. В данном случаем мы привязали к D команду "присесть". CS 1.6 при этом понимает, что когда мы отпускаем D, то нужно выполнить команду -duck, то есть "встать".

Чтобы снять с кнопки связанную с ней команду, пропишем unbind "D". Как видим, команда unbind имеет всего один аргумент - название клавиши.

Если же мы хотим вернуть клавише D её прежнее действие, то прописываем bind "D" "+moveright". Всё очень просто :)


Стандартные консольные переменные


Консольная переменная или, короче, квар (cvar, от англ. console variable) также прописывается в консоли и отправляет тем самым инструкции игре. Однако суть кваров немного другая. Квар как правило имеет один аргумент и нужен для того, чтобы настроить игру нужным образом. К примеру, прописав в консоли sv_gravity 400, мы уменьшим гравитацию в два раза (по умолчанию значение гравитации 800).

Примечание: если Вы используете нашу сборку LAN сервера (скачать её можно здесь), то переменные, подобные гравитации, при загрузке карты выставляются в легальные значения. Если использовать во время записи демки какие-то другие значения, то после прохождения карты Вы увидите в чате предупреждение о нелегальных настройках.

Квары бывают клиентские и серверные. sv_gravity - это пример серверного квара, и потому доступен он через консоль сервера. Если Вы играете на своём LAN сервере, то Вы являетесь и клиентом, и сервером, поэтому Вам доступны оба вида кваров.


Настройка через опции CS 1.6


Когда мы создаём карту через New Game, то помимо вкладки Server, где нужно выбрать карту, мы можем открыть вкладку Game, где задаются параметры, связанные с сервером. Теперь мы понимаем, что на самом деле в этой вкладке просто задаются значения некоторых серверных кваров.

Меню Options в CS 1.6 - это по сути удобное для игрока представление часто используемых клиентских кваров. На скринах подписаны наиболее важные для нас:



А теперь внимательно посмотрим на вкладку Keyboard. Здесь мы можем поставить действия на одну или две кнопки. "Так это же bind", - скажете Вы, и будете абсолютно правы. Скажем, мы только что установили CS 1.6 и хотим прыгать при прокрутке скролла вверх. Мы можем прописать в консоли bind "MWHEELUP" "+jump", а можем воспользоваться вкладкой Keyboard: выделяем строчку Jump (в ней по умолчанию в качестве основной кнопки стоит Space, альтернативная отсутствует), нажимаем кнопку Edit key (либо просто жмём Enter) и прокручиваем скролл вверх. В качестве основной кнопки мы увидим Mouse Wheel Up, альтернативной же будет Space:


Не забудьте нажать Apply, чтобы сохранить изменения (OK сохранит их и закроет окно Options). Теперь мы можем прыгать как на скролл, так и на пробел (и то, и другое понадобится в kreedz).


Конфиг CS 1.6


А теперь откроем файл config.cfg, который находится в папке cstrike:


Мы увидим там не что иное, как набор консольных команд и кваров. В самом начале прописана команда unbindall, которая делает unbind для всех кнопок. Затем идёт список биндов, который заново привязывает все действия к соответствующим кнопкам. А после идёт список клиентских кваров, плюс ещё некоторые команды. Этот конфиг запускается при каждом заходе в игру. Вот и всё, в этом весь смысл этого конфига :)

Если Вы случайно прописали в консоли unbindall, не пугайтесь. Если Вы играете на сервере, выйдете с него (не выходя из игры!) и пропишите в консоли exec config.cfg. Если прописать это находясь на каком-нибудь современном сервере, то Вас может забанить античит (к нашим серверам это не относится).


Дополнительные команды и переменные AMX Mod X


Мы дошли до самого интересного. Такая штука, как AMX Mod X, позволяет нам подключать к игре плагины, а те в свою очередь предоставляют различные удобные функции, а также новые консольные команды и квары. Например, когда на сервере админ использует команду amx_ban, то за такую возможность ему следует быть благодарным плагину amdincmd.amxx.

Наша сборка LAN сервера - это стандартные плагины AMX Mod X плюс плагины, написанные специально для kreedz. Чтобы узнать список всех команд, которыми нас снабжает AMX Mod X, пропишите в консоли amxx cmds. Аналогично, чтобы узнать список всех кваров и их значения, пропишите amxx cvars.