| stotik | Дата: Воскресенье, 15.04.2012, 18:56 | Сообщение # 1 |
|
| Решил поделиться своим опытом работы с конфигами. Кому-нибудь это может быть интересно.
Лучше сразу решить и понять для чего это нужно. Например, вы хотите, чтобы при нажатии на кнопку в игре выводилась полезная информация о FPS и п.р. Или вы хотите, чтобы при нажатии на кнопку в чате выводилось какое-либо сообщение. А может вы хотите, чтобы это происходило сразу и одновременно, тогда эта статья для вас. Во-первых, уясним что такое конфиг:
Конфиг - это набор параметров-значений из которых игра берёт, а также сохраняет информацию о настройках. Стандартный конфиг хранится в каталоге игры ( ..\Steam\SteamApps\имя вашего аккаунта\counter-strike source\cstrike\cfg\config.cfg ). Если в консоли во время игры вы вводите какую-либо команду, то она, также, сохраняется в config.cfg .
Помимо config.cfg в той же папке может находиться и другой файл, называемый autoexec.cfg . Если файл autoexec.cfg отсутствует, игра это игнорирует, но если нет файла config.cfg , или он повреждён, то игра его создаст заново с настройками по умолчанию, но с вашими биндами.
Для добавления своих собственных дополнительных скриптов не рекомендуется использовать config.cfg ! Для этой цели лучше использовать autoexec.cfg , либо дополнительные конфиги, которые будут запускаться командой exec из файла autoexec.cfg . Это удобно в том случае, если у вас есть готовые настройки для вас и ещё кого-то, кто тоже играет в вашу игру. В этом случае можно легко менять настройки запустив при этом нужный конфиг.
Если у вас нет файла autoexec.cfg - создайте его. Для этого достаточно создать текстовый документ и переименовать его в autoexec.cfg . Не забывайте про расширение имени файла (в настройках проводника у вас не должна стоять галочка " Скрывать расширение для зарегистрированных типов файлов ").
После того, как вы создадите этот файл, он будет запускаться вместе с игрой, сразу после config.cfg . Если вы хотите использовать несколько конфигов, и переключаться между ними в процессе игры (смена игрока и, соответственно, личных настроек), можете создать дополнительные файлы, но учитывайте, что имя файла не должно содержать русских букв. Используйте только латиницу. Например, moy_config.cfg или moy_config2.cfg .
Для их запуска, в файле autoexec.cfg , либо в консоли непосредственно в игре необходимо будет ввести следующую команду: exec moy_config.cfg или exec moy_config2.cfg , соответственно.
После того, как мы научились запускать наши файлы можно разобраться с их содержимым, а именно со скриптами, которые вы впоследствии будете в них прописывать. Для правки конфигов открывайте их только через стандартный редактор текстовых документов " Блокнот ". (Здесь чем проще программа - тем лучше.)
Начнём с команды bind . ("Bind" в переводе с англ. - "Связывать"). Данная команда служит, как раз, для связывания клавиши с каким либо действием.
Например: bind r "+reload" - при нажатии на клавишу "R" будет произведена перезарядка вашего оружия, или bind mouse1 "+attack" - при нажатии на левую кнопку мыши будет произведена атака противника из существующего оружия. Посмотреть другие действия можно в файле config.cfg .
Alias - это аналог макроса, то есть при его помощи к одной команде можно прикрепить сразу несколько действий.
Например: alias buy34 "buy; menuselect 3; menuselect 4; wait; slot10" , и присвоив эту команду клавише "K" ( bind k "buy34" ), получится, что при нажатии на эту кнопку вы сразу же будете иметь в своём распоряжении Colt M4A1 Carbine Rifle . Но следует отметить что почти на всех серьёзных соревнованиях команда alias запрещена по понятным причинам.
Для того, чтобы создавать крутые конфиги, вам необходимо усвоить несколько понятий, таких как: ( + , - ) и соблюдение орфографии в конфиге. ( + ) и ( - ) - это означает начало и конец определенного действия. Т.е. bind TAB "+showscores" позволяет при нажатии наблюдать результаты игры, пока кнопка нажата. При отпускании кнопки происходит "-showscores" и результаты исчезают. Короче говоря - ( + ) - действие при нажатии клавиши, ( - ) - при отпускании клавиши.
Орфография.
Как я понимаю, вы люди уже не маленькие и мне не сложно будет вам объяснить, что для того, чтобы всё было хорошо с вашими скриптами, надо знать два правила:
1) все значения желательно писать в кавычках, т.е. bind "mouse1" "+attack" , а не: bind mouse1 +attack
Это необходимо потому, что есть некоторые версии игры которые распознают значения конфига, только в кавычках. (В CS:S можно писать так: bind mouse1 "+attack" , или так: alias mouse1 +attack )
2) при присвоении значения клавише, смотрите чтобы буквы английского языка были маленькими.
Например:
bind "M" "chooseteam" - неправильно,
bind "m" "chooseteam" - правильно.
Но это распространяется только на буквы: bind "TAB" "+showscores" и bind "SPACE" "+jump" - правильно. Также, привожу список некоторых кнопок на клавиатуре:
KP_END - кнопка "1" на цифровой клавиатуре справа
KP_DOWNARROW - кнопка "2" на цифровой клавиатуре справа
KP_PGDN - кнопка "3" на цифровой клавиатуре справа
KP_LEFTARROW - кнопка "4" на цифровой клавиатуре справа
KP_5 - кнопка "5" на цифровой клавиатуре справа
KP_RIGHTARROW - кнопка "6" на цифровой клавиатуре справа
KP_HOME - кнопка "7" на цифровой клавиатуре справа
KP_UPARROW - кнопка "8" на цифровой клавиатуре справа
KP_PGUP - кнопка "9" на цифровой клавиатуре справа
KP_SLASH - знак "/" на цифровой клавиатуре справа
KP_MINUS - знак "-" на цифровой клавиатуре справа
KP_PLUS - знак "+" на цифровой клавиатуре справа
KP_MULTIPLY - знак "*" на цифровой клавиатуре справа
KP_ENTER - "Enter" на цифровой клавиатуре справа
INS - "Insert"
DEL - "Delete"
PGDN - "PageDown"
PGUP - "PageUp"
SPACE - "Пробел"
и т.д.
Если не знаете, как можно узнать правильное написание клавиши, дам совет (спасибо sk ). Запускаете игру, заходите в настройки, клавиатура, два раза кликаете на любой кнопке. Назначение кнопки станет пустым, теперь нажмите на клавишу, написание которой вы хотите узнать, ее правильное название отобразится вместо пустого поля. Теперь НЕ ЗАБУДЬТЕ нажать отмена, иначе эта кнопка останется по умолчанию.
В качестве примера привожу некоторые сочетания команд:
bind "клавиша" "команда" - назначение команды на какую-либо клавишу. Например:
bind "k" "kill"
При нажатии "K" вы совершаете самоубийство.
Если же - bind "k" "joinct" , то при нажатии клавиши "K" вы зайдёте за команду СТ.
menuselect # - замените "#" на цифру от 1 до 9. Эта команда выбирает пункт меню под номером "#".
Например:
alias joinct "chooseteam; menuselect 2"
bind "L" "joinct"
Этот код при нажатии на клавишу "L" вызывает меню команд и выбирает пункт 2, то есть контров.
wait - приостанавливает исполнение скрипта на некий не фиксированный промежуток времени (tick). Например, количество команд wait, необходимое для очистки меню зависит от скорости компьютера и соединения. Слишком много wait’ов вызовут лаг, слишком мало не возымеют эффекта.
Теперь напишем что-нибудь посложнее. Откройте свой autoexec.cfg используя Notepad.exe и наберите следующую строку:
alias hello "say BCEM /7PuBET! BuDA/|u MOE /|OrO!; wait; wait; wait; impulse 201"
Комментарии:
alias hello - Создает алиас с именем hello
"say BCEM /7PuBET! BuDA/|u MOE /|OrO!; - кавычки начинают ввод команд. Первая команда - say, с помощью неё выводится сообщение в чат, написанное до разделителя (;)
wait; wait; wait; - приостановка исполнения скрипта на три "тика" ("тик" зависит от скорости компьютера и соединения).
impulse 201" - эта команда рисует лого. Кавычки в конце закрывают ввод, т.к. это последняя команда в алиасе.
Теперь сохраните и закройте autoexec.cfg и запустите Counter-Strike: Source. Создайте игру или зайдите на какой-нибудь сервер. В игре подойдите к стене (надо же на чем то рисовать лого), нажмите клавишу с тильдой (~), (слева вверху над табуляцией, под escape'ом). То, что вызвано этим нажатием - называется консоль.
(Если ничего не вызывается, зайдите в Настройки -> Клавиатура -> Дополнительно , поставьте галочку напротив надписи " Включить консоль разработки ", нажмите " ok "; либо в config.cfg добавьте строку bind "~" "toggleconsole" .)
Вот мы в консоли. (Все то, что вводится в консоль будет сохранено в файле config.cfg ).
Теперь в консоли наберите: bind k "hello" .
Закройте консоль и нажмите "K". Примечание!
На кнопку "K" по умолчанию назначена команда голосового общения. Выберите любую другую кнопку, либо поступите как я - для общения переназначьте голосовую кнопку, прописав в autoexec.cfg : bind "ваша кнопка" "+voicerecord"
Ваш первый алиас сработал! Вы со всеми поздоровались, нарисовали лого и попросили команду его оценить.
Если алиас не сработал, попробуйте сначала, скорее всего, вы что-то упустили.
Ну, собственно, это самая начальная и базовая часть того, что можно сделать при помощи конфигов. В следующий раз напишу подробнее о различных командах и как их можно применить.
|
| |
| |