!!! Предупреждение, весь исходник который будет использован в "уроке" с разрешения в наглую брался с чужой кастомки, за CSS не несу ответственности и переписывать под Вас Я его не буду !!!
Все исходные файлы XML можно найти в файлах DotA 2, \dota 2 beta\content\dota\panorama\layout\custom_game\multiteam_
Все исходные файлы JS можно найти в файлах DotA 2, \dota 2 beta\content\dota\panorama\scripts\custom_game\multiteam_
Все исходные файлы CSS можно найти в файлах DotA 2, \dota 2 beta\content\dota\panorama\styles\custom_game\multiteam_
Или в любом другом месте, если у Вас их тут не оказалось
Все исходные файлы XML можно найти в файлах DotA 2, \dota 2 beta\content\dota\panorama\layout\custom_game\multiteam_
Все исходные файлы JS можно найти в файлах DotA 2, \dota 2 beta\content\dota\panorama\scripts\custom_game\multiteam_
Все исходные файлы CSS можно найти в файлах DotA 2, \dota 2 beta\content\dota\panorama\styles\custom_game\multiteam_
Или в любом другом месте, если у Вас их тут не оказалось
Как уже давно стало известно, обычная замена картинок персонажей перестала работать в DotA 2 и надо все делать через XML / JS / CSS
Попробую комплексно объяснить, что я вынес из этой ебли
Начну с самого простого, а именно замена webm файлов игры (когда происходит стадия выбора персонажей, при нажитии на персонажа воспроизводиться короткий видеоролик):
Основной аспект - соблюдение наименований
Переходим в f:\steam\steamapps\common\dota 2 beta\game\dota_addons\testpanarama\panorama\
Создаем папки: videos\heroes
Должно получиться: f:\steam\steamapps\common\dota 2 beta\game\dota_addons\testpanarama\panorama\videos\heroes
Сюда необходимо добавить новые короткие ролики при выборе персонажа в формате .webm
!!! ВАЖНО, что бы наименование совпадало с наименованием персонажа npc_dota_hero_* !!!
Для примера вот мои webm
Создаем папки: videos\heroes
Должно получиться: f:\steam\steamapps\common\dota 2 beta\game\dota_addons\testpanarama\panorama\videos\heroes
Сюда необходимо добавить новые короткие ролики при выборе персонажа в формате .webm
!!! ВАЖНО, что бы наименование совпадало с наименованием персонажа npc_dota_hero_* !!!
Для примера вот мои webm
Переходим ко второй стадии по простоте, а именно замена mapicon персонажей, гайд которых был тут: тык
Для того что бы вытащить исходник достаточно воспользоваться VRF
Для того что бы работало, достаточно перезайти в tools, Full Recompile и Reload на vmat нет
Для примера мой minimap
Для того что бы работало, достаточно перезайти в tools, Full Recompile и Reload на vmat нет
Для примера мой minimap
Третья стадия комплексно добавит:
Картинку выбора героя на стадии пика, иконки рядом с хп баром, иконки на топ-бар панель
Чтож вот и самое муторное и сложное как по мне XML | JS | CSS в доте...
Переходим в f:\steam\steamapps\common\dota 2 beta\content\dota_addons\testpanarama\
Создаем тут директории:
panorama - если не создано
Итого в папке f:\steam\steamapps\common\dota 2 beta\content\dota_addons\testpanarama\panorama - должно быть 4 папки, в каждой по подпапке и так до тех пор пока все не создадим
Переходим в f:\steam\steamapps\common\dota 2 beta\content\dota_addons\testpanarama\
Создаем тут директории:
panorama - если не создано
panorama\images\heroes
panorama\images\heroes\icons
panorama\images\heroes\selection
panorama\layout\custom_game
panorama\scripts\custom_game
panorama\styles\custom_game
panorama\images\heroes\icons
panorama\images\heroes\selection
panorama\layout\custom_game
panorama\scripts\custom_game
panorama\styles\custom_game
Создание custom_ui_manifest.xml
Переходим в f:\steam\steamapps\common\dota 2 beta\content\dota_addons\testpanarama\panorama\layout\custom_game
Создаем наш основной XML - он будет подгружаться в момент когда первый игрок загрузиться в кастомку
Содержимое как и комментарии я заложил в GIT (то, что важно знать)
В манифесте я расположил пример компилятора PNG to VTEX_C, его можно вынести в отдельный xml или компилировать png to vtex_с удобным Вам способом
Так же в манифесте и других XML сразу указываются откомпиленные файлы / css = vcss_c / xml = vxml_c / но! vtex = vtex_c
Пути:
file://{images} - расположение в dota 2 beta\content\dota_addons\testpanarama\panorama\images
s2r://panorama/ - расположение в dota 2 beta\game\dota_addons\testpanarama\panorama\
!!! Важно, это указать верный путь к vtex , после компиляции картинка с названием picture.png становиться picture_png.vtex_c и помещается в Ваш game !!!
Дальше я думаю нет смысла рассказывать какие файлы должны быть помимо манифеста
Просто смотрим сюда и качаем с моего git
кратко поясню, что за что отвечает и все
multiteam_hero_select_overlay.xml - файл отвечающий за "страницу" пика героев (он подгрузитJS и CSS) - нужный нам файл для замены всего вышеперечисленного
multiteam_hero_select_overlay_player.xml - файл отвечающий за элементы игроков на "странице" пика героев
multiteam_hero_select_overlay_team.xml - файл отвечающий за элементы команд на "странице" пика героев
multiteam_top_scoreboard.xml - файл отвечающий за элементы топ-бара в игре (он подгрузитJS и CSS) - нужный нам файл для замены всего вышеперечисленного
multiteam_top_scoreboard_player.xml - файл отвечающий за элементы игроков топ-бара в игре
multiteam_flyout_scoreboard.xml - файл отвечающий за элементы панели счета в игре
с XML разобрались, объяснять по каждому мне в падлу пусть это делает тот, кто записывает видео гайды
Переходим в f:\steam\steamapps\common\dota 2 beta\content\dota_addons\testpanarama\panorama\layout\custom_game
Создаем наш основной XML - он будет подгружаться в момент когда первый игрок загрузиться в кастомку
Содержимое как и комментарии я заложил в GIT (то, что важно знать)
В манифесте я расположил пример компилятора PNG to VTEX_C, его можно вынести в отдельный xml или компилировать png to vtex_с удобным Вам способом
Так же в манифесте и других XML сразу указываются откомпиленные файлы / css = vcss_c / xml = vxml_c / но! vtex = vtex_c
Пути:
file://{images} - расположение в dota 2 beta\content\dota_addons\testpanarama\panorama\images
s2r://panorama/ - расположение в dota 2 beta\game\dota_addons\testpanarama\panorama\
!!! Важно, это указать верный путь к vtex , после компиляции картинка с названием picture.png становиться picture_png.vtex_c и помещается в Ваш game !!!
Дальше я думаю нет смысла рассказывать какие файлы должны быть помимо манифеста
Просто смотрим сюда и качаем с моего git
кратко поясню, что за что отвечает и все
multiteam_hero_select_overlay.xml - файл отвечающий за "страницу" пика героев (он подгрузитJS и CSS) - нужный нам файл для замены всего вышеперечисленного
multiteam_hero_select_overlay_player.xml - файл отвечающий за элементы игроков на "странице" пика героев
multiteam_hero_select_overlay_team.xml - файл отвечающий за элементы команд на "странице" пика героев
multiteam_top_scoreboard.xml - файл отвечающий за элементы топ-бара в игре (он подгрузитJS и CSS) - нужный нам файл для замены всего вышеперечисленного
multiteam_top_scoreboard_player.xml - файл отвечающий за элементы игроков топ-бара в игре
multiteam_flyout_scoreboard.xml - файл отвечающий за элементы панели счета в игре
с XML разобрались, объяснять по каждому мне в падлу пусть это делает тот, кто записывает видео гайды
Файл custom_ui_manifest.xml является частью разработки пользовательского интерфейса для игры Dota 2. Он используется для определения и настройки пользовательского интерфейса внутри пользовательских игровых режимов (custom games).
Custom UI Manifest определяет структуру и содержимое пользовательского интерфейса, включая различные элементы, такие как панели, кнопки, текстовые поля и другие компоненты. Он также определяет связи между различными элементами интерфейса и функциональностью игры.
В custom_ui_manifest.xml вы можете указать различные параметры и настройки для пользовательского интерфейса, такие как размеры и позиции элементов, стилизацию, обработчики событий и многое другое. Это позволяет разработчикам создавать уникальные и индивидуальные пользовательские интерфейсы для своих игровых режимов.
Когда пользовательская игра запускается в Dota 2, игровой клиент загружает custom_ui_manifest.xml и использует его для создания и отображения пользовательского интерфейса внутри игры. Это позволяет игрокам взаимодействовать с пользовательским интерфейсом и использовать функциональность, предоставляемую разработчиком пользовательской игры.
В целом, custom_ui_manifest.xml является важным инструментом для разработчиков пользовательских игр в Dota 2, который позволяет им создавать уникальные и интересные пользовательские интерфейсы для своих игровых режимов.
Custom UI Manifest определяет структуру и содержимое пользовательского интерфейса, включая различные элементы, такие как панели, кнопки, текстовые поля и другие компоненты. Он также определяет связи между различными элементами интерфейса и функциональностью игры.
В custom_ui_manifest.xml вы можете указать различные параметры и настройки для пользовательского интерфейса, такие как размеры и позиции элементов, стилизацию, обработчики событий и многое другое. Это позволяет разработчикам создавать уникальные и индивидуальные пользовательские интерфейсы для своих игровых режимов.
Когда пользовательская игра запускается в Dota 2, игровой клиент загружает custom_ui_manifest.xml и использует его для создания и отображения пользовательского интерфейса внутри игры. Это позволяет игрокам взаимодействовать с пользовательским интерфейсом и использовать функциональность, предоставляемую разработчиком пользовательской игры.
В целом, custom_ui_manifest.xml является важным инструментом для разработчиков пользовательских игр в Dota 2, который позволяет им создавать уникальные и интересные пользовательские интерфейсы для своих игровых режимов.
Файл multiteam_flyout_scoreboard.xml отвечает за отображение и функциональность многочисленных команд в игре Dota 2. Он используется для создания и настройки внешнего вида и поведения панели счета, которая отображается при нажатии на кнопку "Tab" во время игры в режиме с несколькими командами.
multiteam_flyout_scoreboard.xml определяет структуру и содержимое панели счета для каждой команды, включая информацию о количестве очков, участниках команды, их уровнях, золоте, опыте и других статистических данных. Он также определяет внешний вид и расположение элементов интерфейса, таких как иконки героев, имена игроков и их текущий статус.
Кроме того, multiteam_flyout_scoreboard.xml также определяет функциональность панели счета, такую как возможность просмотра подробной информации о каждом игроке, взаимодействие с другими игроками (например, отправка сообщений) и другие действия, доступные в контексте панели счета.
В целом, multiteam_flyout_scoreboard.xml играет важную роль в предоставлении игрокам информации о текущем состоянии игры и команд, а также позволяет им взаимодействовать с другими игроками и принимать решения на основе этой информации.
multiteam_flyout_scoreboard.xml определяет структуру и содержимое панели счета для каждой команды, включая информацию о количестве очков, участниках команды, их уровнях, золоте, опыте и других статистических данных. Он также определяет внешний вид и расположение элементов интерфейса, таких как иконки героев, имена игроков и их текущий статус.
Кроме того, multiteam_flyout_scoreboard.xml также определяет функциональность панели счета, такую как возможность просмотра подробной информации о каждом игроке, взаимодействие с другими игроками (например, отправка сообщений) и другие действия, доступные в контексте панели счета.
В целом, multiteam_flyout_scoreboard.xml играет важную роль в предоставлении игрокам информации о текущем состоянии игры и команд, а также позволяет им взаимодействовать с другими игроками и принимать решения на основе этой информации.
Файл multiteam_hero_select_overlay.xml отвечает за отображение и функциональность экрана выбора героев в многокомандном режиме игры Dota 2. Он используется для создания и настройки внешнего вида и поведения экрана выбора героев, где игроки могут выбирать героев для своих команд.
multiteam_hero_select_overlay.xml определяет структуру и содержимое экрана выбора героев, включая список доступных героев, их иконки, названия и другую информацию. Он также определяет внешний вид и расположение элементов интерфейса, таких как кнопки выбора героев, фильтры по категориям героев и другие элементы управления.
Кроме того, multiteam_hero_select_overlay.xml также определяет функциональность экрана выбора героев, такую как возможность выбора героев, блокировку героев, отображение информации о выбранных героях и их статистику, а также взаимодействие с другими игроками в процессе выбора героев.
В целом, multiteam_hero_select_overlay.xml играет важную роль в предоставлении игрокам возможности выбора героев для своих команд в многокомандном режиме игры Dota 2. Он обеспечивает удобный и интуитивно понятный интерфейс для выбора героев и позволяет игрокам принимать решения на основе доступной информации о героях.
multiteam_hero_select_overlay.xml определяет структуру и содержимое экрана выбора героев, включая список доступных героев, их иконки, названия и другую информацию. Он также определяет внешний вид и расположение элементов интерфейса, таких как кнопки выбора героев, фильтры по категориям героев и другие элементы управления.
Кроме того, multiteam_hero_select_overlay.xml также определяет функциональность экрана выбора героев, такую как возможность выбора героев, блокировку героев, отображение информации о выбранных героях и их статистику, а также взаимодействие с другими игроками в процессе выбора героев.
В целом, multiteam_hero_select_overlay.xml играет важную роль в предоставлении игрокам возможности выбора героев для своих команд в многокомандном режиме игры Dota 2. Он обеспечивает удобный и интуитивно понятный интерфейс для выбора героев и позволяет игрокам принимать решения на основе доступной информации о героях.
Файл multiteam_top_scoreboard.xml отвечает за отображение и функциональность верхней панели счета в многокомандном режиме игры Dota 2. Он используется для создания и настройки внешнего вида и поведения панели счета, которая отображается в верхней части экрана во время игры.
multiteam_top_scoreboard.xml определяет структуру и содержимое верхней панели счета, включая информацию о количестве очков каждой команды, их текущем статусе, уровнях, золоте, опыте и других статистических данных. Он также определяет внешний вид и расположение элементов интерфейса, таких как иконки команд, имена команд и их текущий статус.
Кроме того, multiteam_top_scoreboard.xml также определяет функциональность панели счета, такую как возможность просмотра подробной информации о каждой команде, взаимодействие с другими игроками (например, отправка сообщений) и другие действия, доступные в контексте панели счета.
В целом, multiteam_top_scoreboard.xml играет важную роль в предоставлении игрокам информации о текущем состоянии игры и команд, а также позволяет им взаимодействовать с другими игроками и принимать решения на основе этой информации. Он обеспечивает удобный и интуитивно понятный интерфейс для отслеживания счета и состояния игры в многокомандном режиме Dota 2.
multiteam_top_scoreboard.xml определяет структуру и содержимое верхней панели счета, включая информацию о количестве очков каждой команды, их текущем статусе, уровнях, золоте, опыте и других статистических данных. Он также определяет внешний вид и расположение элементов интерфейса, таких как иконки команд, имена команд и их текущий статус.
Кроме того, multiteam_top_scoreboard.xml также определяет функциональность панели счета, такую как возможность просмотра подробной информации о каждой команде, взаимодействие с другими игроками (например, отправка сообщений) и другие действия, доступные в контексте панели счета.
В целом, multiteam_top_scoreboard.xml играет важную роль в предоставлении игрокам информации о текущем состоянии игры и команд, а также позволяет им взаимодействовать с другими игроками и принимать решения на основе этой информации. Он обеспечивает удобный и интуитивно понятный интерфейс для отслеживания счета и состояния игры в многокомандном режиме Dota 2.
Создание multiteam_hero_select_overlay.js - файл отвечающий за замену на стадии пика иконок персонажей на топ-баре
Переходим в f:\steam\steamapps\common\dota 2 beta\content\dota_addons\testpanarama\panorama\scripts\custom_game
Честно даже комментарии мне в падлу описывать, главное это:
!!! Верно указать наименование героя и наименование файла изображения в топ-баре без _png - берет он их из GAME!!!
Создание shared_scoreboard_updater.js - файл отвечающий за замену на стадии игры иконок персонажей на топ-баре
Тут все очень просто и главное указать наименования
!!! Верно указать наименование героя и наименование файла изображения в топ-баре без _png - берет он их из GAME!!!
Пример с моего git
Переходим в f:\steam\steamapps\common\dota 2 beta\content\dota_addons\testpanarama\panorama\scripts\custom_game
Честно даже комментарии мне в падлу описывать, главное это:
!!! Верно указать наименование героя и наименование файла изображения в топ-баре без _png - берет он их из GAME!!!
JavaScript:
if (playerInfo.player_selected_hero == "npc_dota_hero_bloodseeker")
{
hero = "bloodseeker" // в моём примере, в папках game | content - bloodseeker является картинкой для топ-бара
}
JavaScript:
if (playerInfo.possible_hero_selection == "doom_bringer") // что я говорил об наименовании героев из доты - тут это важнее всего!
{
hero = "doom" // в моём примере, в папках game | content - doom является картинкой для топ-бара
}
Создание shared_scoreboard_updater.js - файл отвечающий за замену на стадии игры иконок персонажей на топ-баре
Тут все очень просто и главное указать наименования
!!! Верно указать наименование героя и наименование файла изображения в топ-баре без _png - берет он их из GAME!!!
JavaScript:
if (playerInfo.player_selected_hero == "npc_dota_hero_obsidian_destroyer") // что я говорил об наименовании героев из доты - тут это важнее всего!
{
hero = "destroyer" // в моём примере, в папках game | content - destroyer является картинкой для топ-бара
}
Пример с моего git
Без комментариев
Мой гит
Мой гит
Замена iconhero рядом с хп баром - во игры по-моему не требует дополнительных интеграций кода, достаточно соблюдать иерархию и наименования героев
Переходим в f:\steam\steamapps\common\dota 2 beta\content\dota_addons\testpanarama\panorama\images\heroes\icons
Закидываем сюда иконки 32х32 в точ-точ названий героев
Пример с гит
В целом вся иерархия папок соблюдена на моем гит
Пробуйте...







