Конфиг файлы. С чем его едят?
Для начала нужно будет уточнить, что такое конфиги. Конфиг – это конфигурационный файл игры с разрешением .cfg который может быть вызван для исполнения консольных команд. Грубо говоря, в .cfg файле находятся консольные команды вызываемые игрой.
Все конфиги должны быть расположены в папке cfg игры. Например, ..\left4dead2\cfg. Чтобы создать свой конфиг, вы можете создать обычный текстовый файл с расширением .cfg и добавить в него собственные консольные команды. Файл
autoexec.cfg
будет запускаться при старте игры. Поэтому основные ваши консольные команды следует поместить именно в этот файл.Наш первый конфиг
Для примера мы будем создавать конфиг для оптимизации соединения.
Для начала создадим пустой документ
autoexec.cfg
в папке ..\left4dead2\cfg. Напомню, что это обычный текстовый файл.
Теперь начнем добавлять в него консольные команды, которые мы хотим выполнить при запуске игры. Мы будем оптимизировать наше интернет-соединение. Пишем в файл строчки:
cl_updaterate "30" // по-умолчанию 20; Столько пакетов получаете от сервера за сек.
cl_cmdrate "30" // по-умолчанию 30; Столько пакетов в сек. отправляете серверу
rate "30000" // по-умолчанию 10000; Максимальное значение байт/сек., которое может получить хост
cl_resend "1.5" // по-умолчанию 6; Время, через которое будет снова послан пекет при неудаче.
cl_interp "0.067" // по-умолчанию 0.1; Значение интерполяции, чтобы совпадать со значением updaterate 30
cl_lagcompensation "1" // по-умолчанию 1;
cl_cmdbackup "0" //сколько дублей пакетов посылать;
cl_cmdbackup "0" //сколько дублей пакетов посылать;
Серым цветом выделены комментарии. Они разделяются двойным слешем (//) и не считываются игрой. Тоесть символы после // просто игнорируются. Вот наш первый конфиг и готов.
Наши первые бинды
Продолжаем редактировать наш конфиг. Теперь мы будем изменять назначение клавиш.
Например, на серверах часто используются команды чата !ready и !unready. Чтобы постоянно не писать эти команды вручную, мы будем использовать для этого клавиши. Думаю, клавиши "<" и ">" нам идеально для этого подойдут.
Чтобы применить назначение команды клавише нам нужно написать bind кнопка "команда; или список команд; через; …" Вот мы и пишем:
bind , "say !ready" // привязываем кнопке “,” команду say !ready.
bind . "say !unready"
Закрепим наш материал. :) Для удобства сделаем кнопки отключения от сервера и выхода из игры. Отключаться будем клавишей End, а покидать игру клавишей Home.
bind HOME "quit"
bind END "disconnect"
bind END "disconnect"
Подробнее об используемых кнопках можно посмотреть здесь: https://developer.valvesoftware.com/wiki/Bind
Используем Alias
По своей сути Alias - это консольная команда, которая вызывает другие команды. Команда Alias действует только на одну сессию игры, но добавив ее в
autoexec.cfg
, мы можем запускать ее при каждом входе в игру. Кроме всего прочего Alias может иметь два состояния + и –. Создадим Alias для показа графика нагрузки сети в таблице очков игры по нажатию TAB. Здесь мы используем бинд Алиаса к клавише TAB и два состояния Alias – при нажатой клавише и отпущеной.
Команда показать таблицу очков выглядит как +showscores, а убрать соотв. будет –showscores. График канала в свою очередь – команда net_graph. Может иметь детализацию от 1 до 5. Значение 0 скроет график. Вооружившись такими познаниями начинаем ваять. Создадим alias который будет иметь название, например, sb. Будет два состояния алиаса. Удерживаем кнопку TAB и отпускаем. Т.е. + и –. Итак:
alias "+sb" "+showscores; net_graph 3"; // Создаем alias sb с двумя командами showscores и net_graph с детальностью 3
alias "-sb" "-showscores; net_graph 0"; // По отключению алиаса мы убираем очки и переводим net_graph в значение 0
bind TAB "+sb" // Биндим наш алиас на кнопку TAB
Закрепим материал. Вот вам новый Bind с использованием Alias для тренировки.
Например мы в игре и нам надо срочно очень быстро вылечить товарища по команде. Типа, достать аптечку, полечить, атаковать дальше. Стандартное переключение будет долгим и даже сможет запутать в клавишах в напряженной ситуации. Вот вам матерал для размышления.
alias "+apt" "slot4; +attack2";
alias "-apt" "-attack2; slot1";
bind g "+apt"
alias "-apt" "-attack2; slot1";
bind g "+apt"
Если у вас пятикнопочная мышь (например, популярная A4-tech X7), имеет смысл поставить команды на нее. Мне, например, удобнее целиться пятой кнопкой мыши используя большой палец, поэтому нажатое колесико может подойти для лечения напарника. Выглядеть bind будет так:
bind "MOUSE5" "+zoom"
alias "+apt" "slot4; +attack2";
alias "-apt" "-attack2; slot1";
bind MOUSE3
alias "+apt" "slot4; +attack2";
alias "-apt" "-attack2; slot1";
bind MOUSE3
Подгрузка конфигов
В начале статьи я сказал, что конфиг может иметь любое название файла. А сам использую
В заключении ссылка на L4D2 CVAR list: https://developer.valvesoftware.com/wiki/List_of_L4D2_Cvars
L4D CVAR list здесь: https://developer.valvesoftware.com/wiki/List_of_L4D_Cvars
autoexec.cfg
. В чем, собственно, подвох? Да не в чем. На самом деле мы можем создать любой конфиг с любым названием. Например, mysupermegacoolcustomconfig.cfg и запустить его на исполнение уже в игре командой exec mysupermegacoolcustomconfig. Кроме того, если мы пропишем команду exec в файле autoexec.cfg
, то наш конфиг тоже подгрузится при запуске. Кроме того, исполнение конфига можно забиндить на любую кнопку, что может позволить переключаться между конфигами. (bind F4 "exec superconfig"; bind F5 "exec megaconfig"; bind F6 "exec ultraconfig"). :))В заключении ссылка на L4D2 CVAR list: https://developer.valvesoftware.com/wiki/List_of_L4D2_Cvars
L4D CVAR list здесь: https://developer.valvesoftware.com/wiki/List_of_L4D_Cvars
Вот в общем и все основы. Удачных конфигов!