- Что считается “скриптом” в Dota 2
- Шаг 1. Включите консоль в Dota 2
- Шаг 2. Найдите папку конфигов Dota 2
- Шаг 3. Подготовьте cfg-файл (важные правила)
- Шаг 4. Активируйте скрипт вручную (exec в консоли)
- Шаг 5. Автозагрузка при старте игры (autoexec.cfg)
- Как не наступить на “грабли” с несколькими cfg
- Мини-шпаргалка по коду: alias и bind
- Проверка, что скрипт реально активировался
- Коротко о безопасности и ограничениях
- Полезные источники (чтобы сверить команды и синтаксис)
- Итоговый рецепт (самый рабочий)
Скрипты в Dota 2 живут в конфиг-файлах (.cfg) и запускаются через консоль командой exec. Важно не только “где лежит файл”, но и что именно внутри: alias и bind должны быть прописаны корректно, а консоль должна быть включена.
Ниже - нормальный, рабочий порядок действий: как включить консоль, куда класть cfg, как запустить скрипт один раз и как сделать автозагрузку при старте игры.
Что считается “скриптом” в Dota 2
Обычно под “скриптом” подразумевают cfg-файл с:
- alias - именованные заготовки команд
- bind - привязка кнопок/клавиш к командам или alias
То есть активация чаще всего выглядит так:
- вы включаете консоль
- запускаете файл: exec имя_файла.cfg
Шаг 1. Включите консоль в Dota 2
- Откройте Steam
- Зайдите в библиотеку
- ПКМ по Dota 2 → Свойства
- В Установить параметры запуска добавьте:
-console - Запустите игру
- Откройте консоль клавишей
~(тильда)
Если ~ не открывает консоль, переназначьте клавишу в настройках клавиатуры игры (иногда тильда занята).
Шаг 2. Найдите папку конфигов Dota 2
Файлы cfg обычно кладут в папку игры по пути вида:
...\Steam\steamapps\common\dota 2 beta\game\dota\cfg\
Точный путь может отличаться по названию папки “beta”, но логика одинаковая: вам нужна именно директория ...\dota\cfg\.
Шаг 3. Подготовьте cfg-файл (важные правила)
- Файл должен быть с расширением
.cfg - Код должен быть без “лишних” русских символов в командах движка
- Порядок выполнения важен: если вы сначала делаете
bind, а потом определяетеalias, частьbindможет не сработать так, как вы ожидаете
Типичный минимальный пример, который стоит проверить первым:
alias test "dota_health_per_vertical_marker 120"
bind "F6" "test"
Смысл: вы описали alias, затем bind привязал клавишу F6 к команде через этот alias.
Шаг 4. Активируйте скрипт вручную (exec в консоли)
Когда игра запущена и консоль работает:
- Откройте консоль
- Выполните команду:
exec invoker.cfg
Где invoker.cfg - имя вашего файла в папке cfg.
Проверьте, что имя файла совпадает буква-в-букву, включая регистр (на практике чаще всего не критично, но лучше не рисковать).
Частая ошибка: “Unknown command”
Если в консоли видно что-то вроде Unknown command, обычно причина одна из этих:
- вы запустили не тот файл (имя отличается)
- файл лежит не в той папке
- в файле есть опечатка в alias/bind
- команда внутри файла не поддерживается текущей версией игры
- файл не успел загрузиться (например, вы вызвали bind, а alias определён позже)
Шаг 5. Автозагрузка при старте игры (autoexec.cfg)
Если вы хотите, чтобы скрипт включался сам при запуске, есть два подхода.
Вариант A: добавить exec в autoexec.cfg
Создайте (или используйте существующий) autoexec.cfg в папке cfg, например:
...\dota\cfg\autoexec.cfg
И поместите туда строку запуска:
exec invoker.cfg
Тогда при старте игры autoexec.cfg подтянет остальные cfg.
Вариант B: запускать файл через параметры запуска
Иногда удобнее в Steam-параметрах запуска сразу указать +exec ....
Суть такая: игра получит команду exec ещё на старте.
Как не наступить на “грабли” с несколькими cfg
Если у вас несколько файлов и они трогают одни и те же кнопки, побеждает тот конфиг, который загружен последним.
Проще говоря:
- первый cfg привязал bind на одну клавишу
- второй cfg привязал её же
- после загрузки второго итог - его bind
Это нормальное поведение движка, поэтому часто делают отдельные файлы “под роль” и подгружают их по ситуации.
Мини-шпаргалка по коду: alias и bind
alias
Создаёт “шаблон” команды под именем.
Пример:
alias mycombo "dota_ability_execute 0;dota_ability_execute 1"
bind
Привязывает клавишу к выполнению команды/alias.
Пример:
bind "F5" "mycombo"
Если вы видите, что bind “не работает”, чаще всего проблема в том, что alias не определился или файл не был загружен.
Проверка, что скрипт реально активировался
- После
execоткройте консоль и попробуйте нажать назначенную клавишу - Если в
aliasилиbindесть команды, которые меняют HUD/поведение, вы сразу увидите эффект - Если ничего не меняется, проверьте:
- файл лежит в нужной папке
cfg - имя файла в
execнаписано правильно - в cfg нет синтаксических ошибок
Коротко о безопасности и ограничениях
- Команды для читов требуют
sv_cheats 1и обычно предназначены для тренировок или режимов, где это разрешено. - В рейтинге/официальных режимах использование несоответствующих команд может привести к наказаниям, так что используйте
aliasиbindдля удобства только в рамках правил.
Полезные источники (чтобы сверить команды и синтаксис)
- Valve Developer Wiki по scripting и cfg/командам: https://developer.valvesoftware.com/wiki/Ru/Dota_2_Workshop_Tools/Scripting/Getting_Started
- Справочник по консольным командам Dota 2 (много, но помогает сверять названия): https://dota2.fandom.com/ru/wiki/Список_консольных_команд
Итоговый рецепт (самый рабочий)
| Цель | Что сделать |
|---|---|
| Включить возможность запускать скрипт | Добавить -console в параметры запуска и открыть консоль ~ |
| Запустить один конкретный скрипт | В консоли выполнить exec имя_файла.cfg |
| Запускать всегда при старте | Создать autoexec.cfg и положить туда exec имя_файла.cfg |
Разобраться, почему bind не работает |
Проверить загрузку файла и корректность alias/bind, а также точность пути |
Если сделать всё по этому порядку, exec будет находить ваш cfg, alias будет определён, а bind начнёт выполнять нужные команды именно так, как вы задумали.