Гайды
Информация
Все игровые ресурсы упакованы в файл pak01_dir.vpk. Путь: Steam/steamapps/common/dota 2 beta/game/dota/
Замена изображений (vtex)
Изображения в Dota 2 используют формат .vtex_c.
Основные директории
Все изображения хранятся в подпапках panorama/images/. Основные пути:
| Тип ресурса | Путь |
|---|---|
| Иконки способностей | panorama/images/spellicons/ |
| Иконки героев | panorama/images/heroes/ |
| Иконки рангов | panorama/images/rank_tier_icons/ |
| Иконки предметов | panorama/images/items/ |
Инструменты
- Декомпиляция/Просмотр: Source2Viewer
- Редактирование: Photoshop, miniPaint или любой другой графический редактор.
- Компиляция: Compiler
- Упаковка: VPKTool
Пример: замена иконки способности
Рассмотрим замену иконки Shallow Grave у дазлика:
- Перейдите по пути
panorama/images/spellicons/внутри pak01_dir.vpk. - Найдите и декомпилируйте файл
dazzle_shallow_grave_png.vtex_cс помощью Source2Viewer. - Откройте полученное изображение в графическом редакторе, внесите изменения и сохраните файл в формате
.png. - Используйте Compiler, чтобы скомпилировать изображение в формат
.vtex_c. - Создайте папку с путем
panorama/images/spellicons/и поместите туда ваш скомпилированный файл. - Используйте VPKTool, чтобы создать архив
.vpkиз этой папки. - Переместите готовый
.vpkфайл в папку с языком игры.
Замена звуков (vsnd)
Звуки в Dota 2 используют формат .vsnd_c.
Основные директории
Все звуки хранятся в подпапках sounds/. Основные пути:
| Тип ресурса | Путь |
|---|---|
| Звуки предметов | sounds/items/ |
| Звуки способностей героев | sounds/weapons/hero/ |
| Фразы героев | sounds/vo/ (игнорируйте announcer_dlc_) |
| Музыка | sounds/music/ |
Инструменты
- Декомпиляция/Просмотр: Source2Viewer
- Редактирование: Tenacity или любой другой аудио редактор.
- Компиляция: Compiler
- Упаковка: VPKTool
Пример: замена звука предмета
Рассмотрим замену звука Force Staff:
- Найдите любой звук в формате
.mp3илиwav. - Отредактируйте его если это необходимо.
- Используйте Compiler, чтобы скомпилировать файл в формат
.vsnd_c. - Переименуйте файл в
force_staff.vsnd_c - Создайте папку с путем
sounds/items/и поместите туда ваш скомпилированный файл. - Используйте VPKTool, чтобы создать архив
.vpkиз этой папки. - Переместите готовый
.vpkфайл в папку с языком игры.
Редактирование стилей (vcss)
Стили в Dota 2 используют формат .vcss_c.
Основные директории
Все стили хранятся в подпапках panorama/styles/.
Инструменты
- Декомпиляция/Просмотр: Source2Viewer
- Редактирование: gram или любой другой текстовый редактор.
- Компиляция + Упаковка: Minify
Пример: изменение стиля кнопки «Играть»
1. Включение режима разработчика
В параметрах запуска Dota 2 (Steam → ПКМ по Dota 2 → Свойства → Общие) впишите: -dev -language english
Запустите игру.
2. Поиск нужного элемента через Panorama Debugger
- После загрузки главного меню нажмите
F6, откроется Panorama Debugger. - Нажмите на кнопку Play Dota, в дереве элементов автоматически выделится нужный компонент.
- В правой колонке отображаются применяемые к элементу стили, там же можно временно менять значения в реальном времени, чтобы сразу увидеть результат.
- Кнопка имеет атрибут
#PlayButton. Рядом будет указан файл, в котором объявлен этот стиль —play.css.
Совет
Правки в Panorama Debugger не сохраняются и сбрасываются при перезапуске игры — это лишь способ быстро подобрать нужные значения перед тем, как перенести их в файл мода.
3. Извлечение и редактирование исходного файла стиля
- В Source2Viewer откройте
pak01_dir.vpkи найдите файлplay.vcss_cпо путиpanorama/styles/. - Декомпилируйте и откройте файл.
- Найдите в нём селектор
.PlayButtonи отредактируйте нужные свойства. Пример изменения фона, стиля шрифта кнопки:
.PlayButton
{
width: 330px;
max-height: 49px;
margin-bottom: 21px;
margin-right: 58px;
padding: 4px 12px 4px 12px;
background-color: #6d47bf; /* фиолетовый фон*/
font-style: italic; /* стиля шрифта*/
box-shadow: fill #5eff6e 1px 1px 8px 1px; /* зеленая тень */
opacity: 1.0;
transition-property: box-shadow, background-color, opacity, transform;
transition-delay: 0.0s;
transition-duration: 0.2s;
transition-timing-function: ease-in-out;
}4. Подготовка мода через Minify
- Скачайте Minify и перейдите в его папку
mods. - Скопируйте папку
User Stylesи переименуйте копию, например, вPlay Button. - Внутри новой папки переименуйте файл
_styling.cssвstyling.cssи откройте его. - Полностью очистите содержимое файла и вставьте следующий код, указав в комментарии путь к оригинальному ресурсу и применив измененный селектор:
/* g:panorama/styles/play */
#PlayButton {
width: 330px;
max-height: 49px;
margin-bottom: 21px;
margin-right: 58px;
padding: 4px 12px 4px 12px;
background-color: #6d47bf;
font-style: italic;
box-shadow: fill #5eff6e 1px 1px 8px 1px;
opacity: 1.0;
transition-property: box-shadow, background-color, opacity, transform;
transition-delay: 0.0s;
transition-duration: 0.2s;
transition-timing-function: ease-in-out;
}Совет
Про css можете прочитать тут, или воспользуйтесь нейронкой
5. Компиляция и установка
- Запустите Minify, выберите созданный мод (
Play Button) и нужный язык игры. - Нажмите Patch и дождитесь завершения процесса.
- Запустите доту.

Замена моделей
Замена и редактирование эффектов
Замена текста
Текст в Dota 2 хранится в формате .txt.
Основные директории
Все файлы локализации находятся в папке resource/localization/.
| Тип текста | Файл |
|---|---|
| Интерфейс игры | dota_<language>.txt |
| Способности | abilities_<language>.txt |
| Настройки | gameui_<language>.txt |
Вместо <language> используется язык игры, например russian или english.
Инструменты
- Просмотр/извлечение: Source2Viewer
- Редактирование: Notepad++, VS Code или любой текстовый редактор.
- Упаковка: VPKTool
Пример: изменение текста победы и поражения
Для примера изменим текст "Победа" и "Поражение" в истории матчей.
- Откройте
pak01_dir.vpkчерез Source2Viewer. - Перейдите в папку
resource/localization/. - Извлеките файл
dota_russian.txt(или файл вашего языка). - Найдите строки:
"dota_profile_recent_game_result_win" "Победа"
"dota_profile_recent_game_result_loss" "Поражение"- Измените текст:
"dota_profile_recent_game_result_win" "НИХУЯ"
"dota_profile_recent_game_result_loss" "50%"- Сохраните файл.
- Создайте папку с путем
resource/localization/и поместите туда измененный файл. - Создайте
.vpkархив с помощью VPKTool. - Переместите готовый
.vpkв папку с языком игры (папка с вашим языком игры).

Важно
Valve регулярно обновляет файлы локализации, иногда даже без выхода патча. После такого обновления ваши изменения могут перестать работать или часть текста станет некорректной.
В этом случае необходимо заново извлечь актуальный файл и повторить замену либо воспользоваться автоматическим способом ниже.
Автоматическая замена с помощью скрипта
Этот способ автоматически применяет ваши изменения к актуальному файлу локализации после каждого обновления игры.
1. Установка
Установите:
- Python
- модуль
vpk:
pip install vpkСкачайте архив со скриптом и распакуйте его.
2. Настройка
Откройте main.py и укажите необходимые пути:
VPK_PATH = r"C:\Program Files (x86)\Steam\steamapps\common\dota 2 beta\game\dota\pak01_dir.vpk"
INTERNAL_FILE_PATH = "resource/localization/dota_russian.txt"
REPLACE_FILE = "replace.txt"
OUTPUT_VPK = "pak02_dir.vpk"Параметры:
VPK_PATH— путь к оригинальномуpak01_dir.vpk.INTERNAL_FILE_PATH— путь к файлу локализации внутри архива.REPLACE_FILE— файл с вашими заменами.OUTPUT_VPK— имя создаваемого мода.
3. Добавление замен
Откройте replace.txt и добавьте строки, которые хотите заменить:
"dota_profile_recent_game_result_win" "НИХУЯ"
"dota_profile_recent_game_result_loss" "50%"4. Создание мода
Откройте командную строку в папке со скриптом и выполните:
python main.pyПосле завершения появится файл pak02_dir.vpk.
Переместите его в папку с языком игры.
Совет
После каждого обновления Dota 2 достаточно снова запустить python main.py. Скрипт автоматически возьмет новую версию файла локализации и повторно применит все замены из replace.txt.
Замена шрифта
Шрифты в Dota 2 хранятся в виде обычных файлов .ttf/.otf, поэтому для их замены не нужны Source2Viewer и VPKTool, достаточно подготовить файлы шрифта и подложить их в нужную папку.
Основные директории
Шрифты хранятся в папке panorama/fonts/.
Игра использует два основных шрифта:
| Название шрифта | Файл |
|---|---|
| Radiance | radiance-light.otf |
| Reaver | reaver-regular.otf |
Инструменты
- Редактирование шрифтов: FontForge
- Поиск шрифтов: online-fonts или любой другой сайт со шрифтами
Пример: замена основного шрифта интерфейса
- Найдите и скачайте понравившийся шрифт, например на online-fonts.
При выборе рекомендуется вставлять в поле предпросмотра следующий текст, чтобы сразу оценить, как шрифт выглядит на кириллице, цифрах и спецсимволах:
BrownЧёрный123./?!Скачайте файл шрифта и сделайте его копию, вам понадобятся два одинаковых файла: один станет заменой Radiance, другой - заменой Reaver.
Откройте FontForge и откройте в нем первый файл шрифта.
Перейдите в Element → Font Info и укажите:
- Fontname:
Radiance-Light - Family Name:
Radiance
- Fontname:
Нажмите OK, затем File → Generate Fonts.
Выберите формат OpenType (CFF), укажите имя файла
Radiance-Lightи нажмите Generate (если появится предупреждение - нажмите Yes, если возникнет ошибка — жмите Generate).
Повторите шаги 3–6 со вторым (скопированным) файлом шрифта, но укажите другие значения:
- Fontname:
Reaver-Regular - Family Name:
Reaver - Имя файла:
Reaver-Regular
- Fontname:
Перейдите в папку с установленными шрифтами:
Steam\steamapps\common\dota 2 beta\game\dota\panorama\fontsСовет
Перед изменениями скопируйте папку fonts на рабочий стол — это позволит быстро вернуть всё в исходное состояние.
- Удалите в этой папке все файлы, кроме
grenze-boldиcreepster-regular, и поместите туда два сгенерированных файла (Radiance-Light.otfиReaver-Regular.otf). - Запустите доту.
Как вернуть всё обратно
Чтобы откатить изменения, удалите папку fonts и перенесите на её место ранее скопированную папку с рабочего стола. Если копии не осталось — удалите папку fonts и запустите проверку целостности файлов.
