Вы хотите написать свой конфиг? Но не знаете, как это сделать. Тогда вы
открыли нужную страницу. Я вкратце опешу процесс написания конфигов.
Подробно описывать процесс написания конфига не стоит по одной простой
причине: каждый может нагородить все, что ему будет угодно, а моя задача
дать повод...
Конфиг – это файл (обычный текстовый документ), содержащий те или иные
настройки HL/CS. С версии CS 1.4 разрешено загружать (в консоли ввести
exec myconfig.cfg) только конфиги с расширением *.cfg и *.rc. По
сложившейся традиции конфиг имеет расширение *.cfg, но это не
принципиально.
Если вы не знаете консольный команд CS/HL, то
думаю вам надо хоть немного изучить файл hl/cstrike/config.cfg, в нем
хранится довольно много интересных команд, но в тоже время их слишком
мало. Но для начало подойдет.
Итак, с чего же начать писать свой
конфиг? Наверное, с понимания того для чего Вы будете его применят.
Т.е. это настройки пользователя, сервера, Интернет/LAN соединения.
Настройки пользователя и сети можно объединить, а настройки сервера
следует внести в другой файл – так удобнее. Но некоторые настройки
пользователя следует также внести в другой файл. Куда, зачем и т.д.
поговорим позже.
Список консольных команд находится тут. Замечу,
что с каждой новой версией/обновлением Counter-Strike, команд
становится больше. Поэтому в списке, скорее всего не хватает всех
команд, но они нам все не нужны, а только отдельная их часть.
Итак, приступим.
Знаки, позволяющие правильно "работать" конфигу:
// - означает, что после пишется комментарий/пояснение. Эта строчка движком HL не считывается;
; - разделение команд;
% - этим знаком можно заменить пробел, т.к. движок HL не различает их. Например: bind f1 "name my%name";
"" – в кавычки берется череда команд разделенные ; и пробелами (команда – значение).
Если Вы напишите в конфиге следующее:
echo Loading config...
Loaded config.
надпись Loaded config. не отобразится, будет видно только Loading config... Следует писать только латинскими буквами.
Если Ваш конфиг имеет объем выше 64Кб (для CS v1.6 и CZ v1.2) не исключено появления следующих глюков:
- грузиться не полностью;
- пишет о несуществующих ошибках;
- иногда выдается команда overflow;
- выкидывает с сервера на фиг;
- или еще что.
Чтобы избежать этого следует разбить конфиг на несколько частей и загружать последовательно.
Идите в раздел консольные команды и выберите команды, которые хотите
видеть в своем конфиге. Выбрали? Отлично. Пример моего конфига можно
посмотреть тут.
Теперь как этот конфиг загрузить. Варианты:
1. Разместите свой конфиг в каталоге hlcstrike или hlvalve. Если Вы
разместили файл в каталоге hlvalve, то это означает, что конфиг доступен
во всех модах HL, если только в hlcstrike, то конфиг будет доступен
только из CS. В конфиге прописываете:
bind PGUP "exec myconfig.cfg"
В игре вводите в консоли exec myconfig.cfg – все конфиг загружен. При
следующем заходе в игру вам следует нажать клавишу PGUP и конфиг
загрузится. Если при загрузке конфига вывелась надпись couldn't exec
myconfig.cfg – это означает, что Вы либо не правильно ввели имя конфига
либо такого конфига не существует.
2. Создайте файл autoexec.cfg
в hlcstrike. В него пропишите alias’ы, т.к. если прописать те команды
которые имеются в файле config.cfg в hlcstrike, то значения этих команд
будут заменены на те что в config.cfg. В config.cfg алиасы не
содержатся, следовательно, алиасы заменены не будут. Файл autoexec.cfg
автоматически загружается, соответственно все ваши alias’ы будут
загружены. А чтобы загрузить другую часть конфига используйте 1 вариант.
3. В директории hlcstrike есть файл listenserver.cfg пропишите в
нем exec mayconfig.cfg. Все настройки вступят в силу. Т.к. конфиг
загружается последний перед открытием карты, то все значения которые в
нем прописаны будут иметь те значения, которые прописали Вы. Есть
команды, которые нужно вводить до загрузки игры (или во время игры
сделать restart) и тут использования этого варианта выгоднее. Но к
сожалению данный файл загружается если игру создаете через консоль/мены
Вы. При коннекте к серверу в Интернет/LAN конфиг не загрузится.
В
файле можно оставить команды сервера и команды отвечающие за графику
(команды для графики как правило требуют рестарт карты после изменения
значений в игре). Таким образом, они выполнятся, непосредственно, перед
открытием карты и будут иметь те значения, которые прописали Вы.
4. Перед созданием игры или коннекта к игре следует вручную ввести в
консоли exec mayconfig.cfg, а потом приконнектится к серверу: connect
cs.shagagame.ru, к примеру.
Для обеспечения порядка в папке, где
размещены конфиг/и, можно создать папку, поместить в нее свои/й
конфиг/и. При этом следует изменить параметр команды exec так:
exec myconfigs/myconfig.cfg
Слеш следует вводить именно так /, иначе движок HL не примет путь к конфигу.
Итак. Самым разумным будет разместить alias’ы в autoexec.cfg; серверные
и команды для графики в файле listenserver.cfg (с поправками); все
остальные (в том числе и команды cl_ (отвечают за сетевые настройки
клиента)) команды в отдельном файле и загружать его в игре. Но Вы
решайте сами где и что будет размещаться.
В моем конфиге есть несколько скриптов. Они просты в создании.
Bind - это команда, приклеивающая к какой ни будь кнопке определенное
действие, например bind "ctrl" "drop" приклеивает к кнопке CTRL функцию
"выбросить оружие"
Alias - родной брат макроса, то есть приклеивает к какой-нить команде ряд определенных действий.
При создании скрипта помните, что команды должны выполнятся
последовательно для получения соответствующего результата. К примеру:
alias +jd "+jump;wait;+duck"
alias -jd "-jump;wait;-duck"
bind mouse2 +jd
Довольно известный и популярный скрипт. При нажатии mouse2 (правая
кнопка мыши) игрок подпрыгнет и присядет (в воздухе). При отжатии кнопки
все команды будут "отменены", те игрок перестанет приседать. Знак +
означает, что движок HL должен ждать появления знака – для завершения
действия команд/ы (но не обязательно для завершения произведенных ранее
действий). Вот собственно и все. Удачи в создании конфига.