15 февраля 2012 г.

Bindы и Конфиги. Все, что хотели знать

В Blogger В Twitter В Живой Журнал Во ВКонтакте В Одноклассники В Я.ру В Мой Мир В LiveInternet В Facebook

Конфиг файлы. С чем его едят?

Для начала нужно будет уточнить, что такое конфиги. Конфиг – это конфигурационный файл игры с разрешением .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"              //сколько дублей пакетов посылать;
Серым цветом выделены комментарии. Они разделяются двойным слешем (//) и не считываются игрой. Тоесть символы после // просто игнорируются. Вот наш первый конфиг и готов.

Наши первые бинды

Продолжаем редактировать наш конфиг. Теперь мы будем изменять назначение клавиш.
Например, на серверах часто используются команды чата !ready и !unready. Чтобы постоянно не писать эти команды вручную, мы будем использовать для этого клавиши. Думаю, клавиши "<" и ">" нам идеально для этого подойдут.
Чтобы применить назначение команды клавише нам нужно написать bind кнопка "команда; или список команд; через; …" Вот мы и пишем:

bind , "say !ready"      // привязываем кнопке “,” команду say !ready.
bind . "say !unready"

Закрепим наш материал. :) Для удобства сделаем кнопки отключения от сервера и выхода из игры. Отключаться будем клавишей End, а покидать игру клавишей Home.

bind HOME "quit"
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"

Если у вас пятикнопочная мышь (например, популярная A4-tech X7), имеет смысл поставить команды на нее. Мне, например, удобнее целиться пятой кнопкой мыши используя большой палец, поэтому нажатое колесико может подойти для лечения напарника. Выглядеть bind будет так:

bind "MOUSE5" "+zoom"
alias "+apt" "slot4; +attack2";
alias "-apt" "-attack2; slot1";
bind MOUSE3

Подгрузка конфигов

В начале статьи я сказал, что конфиг может иметь любое название файла. А сам использую 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
Вот в общем и все основы. Удачных конфигов!
Comments
0 Comments

0 коммент.:

Отправить комментарий

Related Posts Plugin for WordPress, Blogger...