Приветствую. Сегодня пользователь реддита с ником 8e8 разместил на сайте руководство, позволяющее включить в Dota 2 т.н. "смарткасты" из League of Legends. В чём суть, спросите вы? Быстрое колдовство (буду называть это так) позволяет применять способности сразу по нажатию на соответствующую кнопку, т.е. вам не нужно будет делать клик по цели - огненный шар Леорика, например, полетит в цель, находившуюся под курсором в момент нажатия на Q. Это позволяет в 2 раза сократить время каста способностей и очень помогает при игре за магов и персонажей с быстро откатывающимися способностями. Судя по галочке в опциях, Valve планируют в будущем сделать официальную поддержку этой механики, а пока что 8e8 нашёл довольно простой способ настроить это вручную.
Что нужно знать?
- Нужно отвязать в опциях способности с QWER, иначе скрипт не заработает;
- Подобный смарткаст не совпадает полностью со своим аналогом из LoL. Способность НЕ БУДЕТ автоматически применена на вашего героя, если в радиусе нет врагов;
- Решение это сделано с помощью мата и изоленты, поэтому могут возникнуть неожиданные глюки. Обязательно сохраните копию изменяемых .cfg файлов;
- Необходимо будет создать несколько конфигурационных файлов, так что вам поможет знание назначаемых клавиш и autoexec. Список доступных для бинда клавиш;
Настройка быстрого применения
Сохраните копии config.cfg и autoexec.cfg, чтобы в будущем была возможность восстановить базовые настройки. Откройте autoexec.cfg и добавьте строчку:
exec smartcast
Затем добавьте необходимые бинды в тот же файл:
bind "q" "dota_ability_execute 0"
bind "w" "dota_ability_execute 1"
bind "e" "dota_ability_execute 2"
bind "t" "dota_ability_execute 3"
bind "g" "dota_ability_execute 4"
bind "r" "dota_ability_execute 5"
Сохранитесь и закройте файл. Затем создайте файл smartcast.cfg (он-то и будет автоматически запускаться), в который скопируйте следующие строки:
//Эти привязки нужны для включения и отключения быстрого применения.
alias smartcastOn "exec smartcastOn"
alias smartcastOff "exec smartcastOff"
alias smartcast "smartcastOn"
alias "click" "+sixense_left_click; +sixense_left_click; -sixense_left_click" // Left-click simulation
// Эти нужны для включения смарткастов на время нажатия клавиши.
alias +smartcast "smartcastOn"
alias -smartcast "smartcastOff"
// Вы можете включать быстрое применение заклинаний по нажатию определённой кнопки или же для этой цели удерживать кнопку. Для выбора нужного варианта нужно всего лишь удалить "//" в начале одной из следующих двух строк.
//bind "space" "+smartcast" // Эта строчка позволяет быстро применять при удерживании кнопки.
//bind "space" "smartcast" // А эта включает и отключает смарткасты по нажатию.
Сохраните файл и закройте его. Теперь создайте файл smartcaston.cfg и скопируйте туда следующее:
bind "q" "dota_ability_execute 0; click" // Способность 1
bind "w" "dota_ability_execute 1; click" // Способность 2
bind "e" "dota_ability_execute 2; click" // Способность 3
bind "t" "dota_ability_execute 3; click" // Способность 4
bind "g" "dota_ability_execute 4; click" // Способность 5
bind "r" "dota_ability_execute 5; click" // Ульта
alias "smartcast" "smartcastOff" // Включить быстрое применение
Сохраните файл, после чего создайте новый с названием smartcastoff.cfg. В новый впишите вот это:
bind "q" "dota_ability_execute 0;" // Способность 1
bind "w" "dota_ability_execute 1;" // Способность 2
bind "e" "dota_ability_execute 2;" // Способность 3
bind "t" "dota_ability_execute 3;" // Способность 4
bind "g" "dota_ability_execute 4;" // Способность 5
bind "r" "dota_ability_execute 5;" // Ультимейт
alias "smartcast" "smartcastOn"
Сохранитесь. Теперь убедитесь, что все бинды совпадают. Обязательно отвяжите способности в настройках самой игры, там используется какая-то другая система привязки, конфликтующая с файлами настройки.
Пояснение
Файл smartcast.cfg содержит в себе все необходимые скрипту связки и задаёт желаемые клавиши. Для каждого состояния БПС создаётся .cfg файл, так как при включении\выключении смарткастов необходимо переназначить все кнопки. Когда активируется smartcaston, то автоматически выполняется smartcaston.cfg и на каждую клавишу привязывается ещё и двойной левый клик, в то время как smarcastoff.cfg делает всё в обратном порядке. Клавишу Shift в привязках использовать нельзя, т.к. она не является переназначаемой.