Garry's Mod

Garry's Mod

56 ratings
Привязки клавиш или хитрости для обычной игры.
By Let's Suppose i'm not a spy and 1 collaborators
Здесь разберём пару не совсем обычных биндов, которыми может пользоваться кто угодно. Заодно научимся биндить, это несложно.
   
Award
Favorite
Favorited
Unfavorite
Нам понадобятся...
В игре есть консоль (Настройки-Управление-Дополнительно-поставьте галочку напротив Консоль разработчика), можно вводить сразу туда, но при большом количестве команд лучше следующее:
Нам понадобится любой виртуальный Блокнот (базовый Блокнот Windows'а подойдёт), хотя для создания основы можно и Notepad++, и Visual Studio Code, это неважно. Далее заходим в папку cfg игры, у большинства путь выглядит так:

C:\ProgramFiles\Steam\steamapps\common\GarrysMod\garrysmod\cfg


Но путь может отличаться. Переходить по нему каждый раз неудобно, поэтому лучше сделайте ярлык заранее.

Файлов здесь может быть много, здесь мы будем оставлять наши кфг файлы, если они нам нужны. А пока нас интересует конкретный файл "config_default.cfg". Он будет служить для нас справочником команд, ведь значения отсюда игра ставит по умолчанию при каждом сбросе управления. Вы можете добавить сюда что-то или редактировать, но будьте осторожны.



(Очень удобно смотреть названия некоторых команд)
Бинд (bind) это...
В личный cfg можно вписать очень многое.

Когда вы сделаете cfg, то чтобы он подействовал в игре, нужно вписать в консоль "exec" и название файла (прописывать ".cfg" в конце необязательно, консоль и так поймёт о чём вы)

bind - привязывает к одной клавише команду или несколько команд. Обычно клавишу и команду необходимо по отдельности окружать кавычками. Пример:

bind "n" "say I said something"
bind "n" "say F; /me отдал честь"

Часто кнопки приходится заключать в кавычки, как и сами команды. Команды внутри кавычек между собой обычно разделяются точкой с запятой (;)

Примечание: Преимущество вбивания команд напрямую в консоль перед способом кфг-файлов заключается в более-менее стабильной работе кириллицы. При загрузке кириллицы из кфг часто выдаёт вопросительные знаки вместо текста. Поэтому бинды, связанные с речью на русском языке (например, bind "n" "say /me показал документы" или bind "n" "say F за челика") лучше делать напрямую через консоль (или переводить на английский, что для многих неудобно, но это порой всё же лучше абракадабры вроде "ya skazal chto-to"):



Алиас (alias) это...
Алиас (aka Элиас, alias) - что-то вроде продвинутой групповой команды. Она упрощает работу с бóльшим количеством команд и каждой такой группе команд можно присвоить имя. Пример:

alias "+bino" "fov_desired 70"
alias "-bino" "fov_desired 100"
bind "t" "+bino"

По удержанию
Примечание:Да, это тот самый псевдобинокль с ужасным увеличением, но он лучше чем ничего, если обычный бинокль недоступен. О нём поговорим позднее.

У alias'ов очень важное значение играют знаки "+" и "-", которые вы ставите перед именем. Если вы прописали значения для "плюсового элиаса" и "минусового" и бы забиндили клавишу на "плюсовой элиас", то по отпускании этой клавиши игра автоматически задействует "минусовой элиас" (Далее для удобства будем называть их "+элиас" и "-элиас" соответственно).
Если же в имени не указан минус или плюс, после отпускания привязанной клавиши ничего не произойдёт.

В Team Fortress 2 для конфиг-файла класса Шпион можно сделать переключение между всеми девятью маскировками с помощью всего двух кнопок:


Принцип действия простой. Мы задаём 9 разных элиасов, в каждый из которых запихиваем по одной маскировке, и по бинду на каждую из двух кнопок, чтобы можно было переключаться между этими элиасами. В конце надо не забыть прописать элиас по умолчанию.

Абсолютно такие же трюки можно проворачивать в любой другой игре на движке Source.

Например, пользователь под ником "Jacket.exe" вывел команды, увеличивающие контрастность изображения и делающие это красиво, словно игрок включает разные приборы ночного видения (без аддонов).

Его руководство: https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=2211778407

В GMod, в шапке Q-меню есть пункт "Постобработка", там есть опция изменения цвета изображения. Jacket нашёл команды, отвечающие за разные параметры этой опции и вбил понравившиеся значения. Я же придумал как можно сделать быстрое переключение между этими "ПНВ" (вместе с выключением всех) одной кнопкой.

Выглядит это следующим образом:

alias "pnv1" "pp_colormod 1;pp_colormod_brightness -2;pp_colormod_color 0.22;pp_colormod_contrast 7;pp_colormod_addg 195; pp_colormod_addb 0;pp_colormod_addr 25;pp_colormod_mulb 0;pp_colormod_mulg 0;pp_colormod_mulr 0; bind n pnv2"
alias "pnv2" "pp_colormod 1;pp_colormod_brightness -2;pp_colormod_color 0.22;pp_colormod_contrast 7;pp_colormod_addg 130; pp_colormod_addb 140;pp_colormod_addr 10; bind n pnv3"
alias "pnv3" "pp_colormod 1;pp_colormod_brightness -2;pp_colormod_color 0.22;pp_colormod_contrast 7;pp_colormod_addg 100; pp_colormod_addb 10;pp_colormod_addr 150; bind n pnv0"
alias "pnv0" "pp_colormod 0;bind n pnv1"
pnv0
Результат: теперь по нажатию кнопки n вы можете включать 3 вида "ПНВ" (которые по факту ПНВ не являются) и в конце выключать.




Проблема в том, что чтобы написать, например, ролевой текст, который отражает, что вы включили этот самый "ПНВ", надо добавлять текст в каждый элиас и вбивать через консоль, т.к. через конфиг прописать текст на русском языке не выйдет.

Данный принцип переключения можно обозвать "однокнопочный переключатель".
Echo - просто прикольная штука для рапорта
Позволяет не путаться, какой конфиг сейчас загружен.
Правда писать придётся на английском или транслитерацией (naprimer vot tak).

Пишем в конце нашего текстового файла:

echo Your own config loaded!


"Ваш собственный конфиг загружен!"

Далее как обычно прописываем в консоли: "exec "имя файла" "

В консоли получаем уведомление:



"Your own config loaded!" можно заменить целым небольшим описанием загруженного вами конфига, но лишь с использованием латиницы, т.к. русская раскладка не поддерживается :-(
Список потенциально полезных связок
Переключатели, желательно ставить одну кнопку.

Псевдо-Бинокль.

alias "+bino" "fov_desired 70"
alias "-bino" "fov_desired 120"
bind "кнопка" "+bino"

Инфо: Что-то вроде бинокля - даёт маленькое увеличение, полезен тогда, когда обычный бинокль запрещён сервером. Корректно работает лишь с некоторыми прицелами. По удержанию кнопки уменьшает угол обзора до 70, при отпускании увеличивает до 100. Вместо угла обзора 100 можно указать удобный вам угол обзора (также можно проверить в Настройки-Видео-Дополнительно, там будет ползунок угла обзора от 70 до 100 и указано, какой угол стоит у вас). Также можно его переделать таким образом, чтобы можно было "переключать" режим угла обзора, к примеру, во время боя.



Псевдо-ПНВ.
alias "pnv1" "pp_colormod 1;pp_colormod_brightness -2;pp_colormod_color 0.22;pp_colormod_contrast 7;pp_colormod_addg 195; pp_colormod_addb 0;pp_colormod_addr 25;pp_colormod_mulb 0;pp_colormod_mulg 0;pp_colormod_mulr 0; bind "кнопка" pnv2"
alias "pnv2" "pp_colormod 1;pp_colormod_brightness -2;pp_colormod_color 0.22;pp_colormod_contrast 7;pp_colormod_addg 130; pp_colormod_addb 140;pp_colormod_addr 10; bind "кнопка" pnv3"
alias "pnv3" "pp_colormod 1;pp_colormod_brightness -2;pp_colormod_color 0.22;pp_colormod_contrast 7;pp_colormod_addg 100; pp_colormod_addb 10;pp_colormod_addr 150; bind "кнопка" pnv0"
alias "pnv0" "pp_colormod 0;bind "кнопка" pnv1"
pnv0

Инфо: Позволяет чуть лучше видеть и различать в темноте контуры локации, особенно в купе с фонариком. Можно на всех элиасах указать одну и ту же кнопку. По факту это не Прибор Ночного Видения, но вполне иногда может спасти жизнь вашему персонажу.



Ходьба-бег-стоп.

alias "run0" "-speed; -forward; bind "кнопка" run1"
alias "run1" "-speed; +forward; bind "кнопка" run2"
alias "run2" "+speed; +forward; bind "кнопка" run0"
run0

Инфо: По нажатию кнопки персонаж переключится на ходьбу, при повторном на бег, при заключительном остановится, поэтому желательно поставить привязать одну кнопку ко всем строчкам. Также можно добавить в алгоритм "+walk" и "-walk" - это медленный шаг.



Отключение HUD'а.
alias "h1" "cl_drawhud 1; bind "кнопка" h2"
alias "h2" "cl_drawhud 0; bind "кнопка" h1"
h1

Инфо: Отключает базовый HUD GMod и по повторному нажатию возвращает его. Если вы указали одну и ту же кнопку, конечно же.


ТАБ-меню + данные о подключении.

alias +sb "+showscores; net_graph 3"
alias -sb "-showscores; net_graph 0"
bind "TAB" "+sb"

Инфо: Показывает ТАБ-меню и данные о подключении. Внимание: Может не работать на кастомных серверах, я не проверял!


+Бонус.

bind "кнопка" "exec имя конфиг файла"

Инфо: По нажатию кнопки позволит вам загрузить конфиг. Можно поставить в несколько конфигов таким образом, чтобы они ссылались друг на друга. Но будьте осторожны, дабы у вас не слетели все настройки.
Важность Toggle-ов
Toggle отвечает за "удержание" команды после отпускания кнопки. Наверное.

Я про них сам пока мало что знаю, поэтому прошу вас подсказать в комментариях об имеющейся информации.

Заключение
Настройте бинды под себя, пожалуйста. Не поленитесь чутка покодить, надеюсь, я правильно объяснил как кодить.
Обустройте удобные конфиги, осторожно проделайте работу и дорабатывайте свои файлы в процессе игры, создавайте новые, придумываете крутые штуки. Это работает не только в GMod, но и в других играх на Source, таких как Left 4 Dead 1 и 2, серии Counter Strike, Team Fortress 2 и других, различаются лишь команды, а способы одни и те же.

Есть даже такие скрипты, которые мне самому осилить в понимании сложно. Например этот:


Он предназначен для TF2. Делает он следующее: при нажатии на английскую "E" персонаж зовёт медика, при нажатии "E"+"Shift" он запрашивает убер-заряд. Это настолько гениально, что я даже понять не могу как такое в TF2 работает.


P.s.: Вообще, если вам нужно писать текст на русском, у вас будет ссылка на конфиг файл, и он также может стать вашим хранилищем для команд, которые вы сможете уже ввести в консоль по отдельности вручную.

А на этом я прощаюсь. Мира вам, люди!

9 Comments
Jupiter 1 Mar @ 6:18am 
Можно ли обыграть со значением /roll последующий отыгрыш в зависимости от значения ролла

То есть:

/roll выпало 56
Успешный результат 50+
Неуспешный 50 и меньше
Let's Suppose i'm not a spy  [author] 27 May, 2022 @ 11:27am 
@4e4eHCKuu_Freeman Ты знаешь, вроде как можно, но я уже точно не помню. В заключительной главе я эту ситуацию описывал, но даже мне он ломает голову. Фиг знает, может у тебя что-то дельное по этому примеру выйдет
Hitman. 25 May, 2022 @ 6:18am 
а можно забиндить например, shift + кнопка?
✞Game°Over✞ 9 Aug, 2021 @ 6:13am 
Спасибо очень хорошее руководство:steamthumbsup:
IlyS 9 Aug, 2021 @ 3:21am 
Неплохо
Let's Suppose i'm not a spy  [author] 8 Aug, 2021 @ 8:54am 
Ребят, 25 человек в среднем оценивают руководство на 3 звезды. С чем это связано? Что нужно убрать или добавить/переделать?
Я также хочу добавить пару прикольных фишек биндостроения, поэтому скоро обновлю руководство.
i.s. 4 Aug, 2021 @ 1:38am 
Спасибо, очень помогло!
NeclirGo 30 Jul, 2021 @ 7:51am 
О......
Много, но полезно!
JACKET.exe  [author] 29 Jul, 2021 @ 9:40am 
Изумительное руководство *Хоть как-то я понял, что такое Alias*