Что делать, если закончились клавиши для биндов
Если вы достаточно долго играете в L4D2, то рано или поздно столкнётесь с тем, что клавиш не хватает. Всё, что есть, забито биндами под команды конкретных серверов, под фразы, внутриигровые действия и так далее. И вот уже кончились клавиши в блоке с PGUP/PGDN, вот уже забит весь нумпад, переназначены в отчаянии стандартные клавиши, которые не используются... А функций-то новых хочется! Если узнал тут себя, то эта статья для тебя. И даже если нет, она всё равно будет полезной.
В этой статье я расскажу о различных способах решения этой проблемы. Некоторые из них нельзя найти в интернете, поэтому тут вы их увидите впервые. Все представленные способы можно комбинировать в любых сочетаниях.
Способ 1
Разделение по серверам
Разделение по серверам
Нет необходимости биндить сразу все действия для всех серверов. Их надо разделить. Допустим, вы играете на серверах BLOOD FACTORY и EXTRA VERSUS. В таком случае создаём отдельные файлы bindsBF.cfg и bindsEV.cfg и прописываем в них разные бинды на одни и те же клавиши для BF и EV. Теперь после захода на сервер можно прописывать в консоль
exec bindsBF
или exec bindsEV
и пользоваться только теми действиями, которые нужны для этого конкретного сервера. Но и это можно автоматизировать. Например, используя alias'ы для захода на сервер:
Код:
alias "bf1" "exec bindsBF.cfg; connect 78.139.77.165:27020"
Способ 2
Больше действий на одну клавишу
Больше действий на одну клавишу
Иногда бывает так, что разные сервера имеют примерно одно и то же действие, которое вызывается по-разному. Например,
sm_list
на BF и sm_mvp
на EV. Или sm_sm
на BF и voice_show_mute
для EV. Вообще-то, последняя команда не относится конкретно к EV — это внутриигровая функция, которая выводит в консоль список игроков и номера их голосовых каналов. Но на BF используется более удобный плагин, который гораздо предпочтительнее.Мы можем забиндить все эти действия на одни и те же клавиши:
Код:
bind "#key1" "sm_list; sm_mvp"
bind "#key2" "sm_sm; voice_show_mute"
sm_su
.Способ 3
Управляющая клавиша
Управляющая клавиша
Данный способ сперва покажется сложным для понимания, но на самом деле он довольно простой. Мы все пользуемся такими удобными сочетаниями, как, например, Ctrl+C и Ctrl+V. Так вот, Ctrl — Control — это управляющая клавиша. И её можно сымитировать в L4D2 (да и вообще в любой игре на движке Source).
Для начала объясню, чего конкретно мы хотим добиться. Допустим, у нас есть функция mute'а —
sm_sm
— и она забиндена на, скажем, клавишу kp_minus
— крайний справа минус на NumPad'е. И мы хотим, чтобы не занимать лишнюю клавишу, повесить на неё же unmute, который будет вызываться неким сочетанием двух клавиш. В качестве управляющей можно использовать любую клавишу, но я бы рекомендовал для этого правый Ctrl, так как левый по-умолчанию стоит на приседание. На следующем рисунке представлена схема того, как это должно работать:А теперь, собственно, поговорим про реализацию. В нашем основном файле биндов (пусть будет binds.cfg) прописываем следующий бинд:
Код:
bind "kp_minus" "KP_MINUSaction"
Теперь создаём два новых файла: +control.cfg и -control.cfg. Внутри последнего прописываем основное действие для упомянутого alias'а:
Код:
alias "KP_MINUSaction" "sm_sm"
Код:
alias "KP_MINUSaction" "sm_su"
Код:
bind "RCTRL" "+control"
alias "+control" "exec +control.cfg" // Правый Ctrl нажат
alias "-control" "exec -control.cfg" // Правый Ctrl отжат
exec -control.cfg // Загружаем алиасы, которые отвечают за действия по-умолчанию
binds.cfg:
-control.cfg:
+control.cfg:
Код:
bind "kp_minus" "KP_MINUSaction"
bind "RCTRL" "+control"
alias "+control" "exec +control.cfg" // Правый Ctrl нажат
alias "-control" "exec -control.cfg" // Правый Ctrl отжат
exec -control.cfg // Загружаем алиасы, которые отвечают за действия по-умолчанию
Код:
alias "KP_MINUSaction" "sm_sm"
Код:
alias "KP_MINUSaction" "sm_su"
В autoexec.cfg, естественно, должна быть прописана строка
exec binds.cfg
.Для данного способа я прикрепляю архив со всеми тремя файлами из примера. Можно скачать их себе и начать дополнять своими функциями.