Dota 2
39 ratings
D2_MODDING // Добавление иконок для способностей, предметов и модификаторов
By WITHVOIDWITHIN
Руководство по добавлению стандартных и кастомных иконок для способностей, модификаторов и предметов в контексте создания пользовательских игр для Dota 2.
2
   
Award
Favorite
Favorited
Unfavorite
🔹Введение
В процессе создания пользовательской игры в Dota 2 Workshop Tools можно не только добавлять собственные иконки для способностей, предметов и модификаторов, но и использовать все стандартные иконки в игре без необходимости дублировать файлы в своем проекте.
🖼️Использование иконок
📂Контекст хранения
Стандартные иконки находятся в ресурсах игры по пути: panorama/images/...
Но для пользовательских иконок путь другой: resource/flash3/images/...
Предполагаю, что сделано это, чтобы не компилировать кастомные изображения.

📜Добавление иконок в KV
Чтобы указать иконку для способности или предмета, нужно в файле npc_abilities_custom.txt или npc_items_custom.txt у соответствующей способности или предмета прописать ключ «AbilityTextureName» и в качестве значения указать НЕ НАЗВАНИЕ ИКОНКИ, как многие думают, а ее относительный путь в определенном контексте.

Например:
  • "AbilityTextureName" "pudge_meat_hook" — стандартная иконка способности.
  • "AbilityTextureName" "custom_folder/custom_icon" — кастомная иконка способности лежащая в кастомной папке.

И получается, что иконка способности или предмета по указанному относительному пути превращается в путь:
  • для стандартных иконок:
    panorama/images/spellicons/ + { указанный относительный путь } + _png.vtex
    panorama/images/items/ + { указанный относительный путь } + _png.vtex

  • для кастомных иконок:
    resource/flash3/images/spellicons/ + { указанный относительный путь } + .png
    resource/flash3/images/items/ + { указанный относительный путь } + .png
Стандартные иконки имеют наибольший приоритет и будут выбраны в первую очередь при идентичном пути с кастомными.

🔗Обратная ссылка
Так как мы передаем именно относительный путь, мы можем использовать обратную ссылку ("../"), чтобы указать любую иконку в директории игры. И таким образом вставить иконку предмета в способность или наоборот. Либо указать вообще любую картинку из ресурсов игры. Количество обратных ссылок по сути определяет, на сколько "папок назад вернуться."
Пример:
  • Иконка предмета для способности: "AbilityTextureName" "../items/phase_boots"
  • Иконка способности для предмета: "AbilityTextureName" "../spellicons/pudge_meat_hook"
  • Любая другая иконка: "AbilityTextureName" "../bot_icon_easy"

🎨Использование иконки в модификаторе
Иконка для модификатора имеет контекст по пути spellicons, даже если это предмет. Из-за чего модификаторы предметов автоматически не могут определить нужную иконку. Чтобы решить эту проблему, необходимо вручную указать в KV путь через обратную ссылку.
Например:
"AbilityTextureName" "../items/item_phase"
🔍Поиск стандартных иконок
Проще всего искать стандартные иконки с помощью Asset Browser.
Для отображения всех существующих картинок нужно включить скрытые ассеты в настройках Asset Browser.



После чего отфильтруйте ассеты по .vtex изображениям. Для этого нажмите на Asset Types и пропишите в поиске, после чего нажмите Only напротив .vtex.



Использовать можно все существующие иконки, даже от косметических предметов Dota 2. Воспользуйтесь поиском, чтобы найти нужные иконки.

Например:
panorama/images/spellicons hook
panorama/images/items phase

Найдя нужное изображение снизу в свойствах, можно сразу скопировать его контекстный путь.

Например:
Полный путь - "panorama/images/spellicons/pudge/dotapit_s3_pudge/pudge_meat_hook_png.vtex"
Итоговый путь для способности - "pudge/dotapit_s3_pudge/pudge_meat_hook"
Итоговый путь для предмета - "../spellicons/pudge/dotapit_s3_pudge/pudge_meat_hook"


Превью картинки иногда могут отображаться в Asset Browser в некорректных цветах, но не беспокойтесь, в игре они будут выглядеть правильно.
📌Заключение
Использование стандартных иконок упрощает разработку кастомных игр и уменьшает их размер. Однако при необходимости можно добавлять кастомные изображения, сохраняя структуру стандартных путей.

💡 Совет 1: всегда проверяйте существующие иконки перед созданием собственных – возможно, нужное изображение уже есть в ресурсах игры!
💡 Совет 2: используйте изображения с разрешением не более 128x64px, если хотите, чтобы иконки предметов отображались корректно.

Вы можете поддержать меня на Boosty[boosty.to]
Руководство было создано специально для Discord сообщества D2_MODDING[discord.gg]


9 Comments
† X † 25 Mar @ 3:30am 
добрый день, хотел спросить, не знаете ли вы где в файле VPK находится смена цвета HP BAR над головой персонажа? Хочу сделать свои цвета, например - (враги красные, союзники фиолетовые, мой персонаж светло-зеленый) консольные команды, все перепробовал, не работают, старые расположения файлов тоже не работают, ищу уже 3 недели на разных форумах и в VPK
SSSR+ 18 Feb @ 3:20am 
+rep
Рон Лузли 16 Feb @ 3:33am 
а
опн
yagusha 14 Feb @ 2:17pm 
йкавуца
LITE | Mestr㊗ 14 Feb @ 8:29am 
топ\
Iruse 13 Feb @ 3:52am 
Это руководство спасло мне жизнь :d2naturesprophet:
XSARDOS 12 Feb @ 9:15pm 
Спасибо, очень интересно, хоть в доту я и не играю
MoraK 12 Feb @ 12:49pm 
Лучший
Dagon 12 Feb @ 12:28pm 
Пушка