Урок Расширяем возможности vConsole2.

kain

Активный
2 Окт 2015
125
63
steamcommunity.com
Проект
GreenCircleTD
ссылка на wiki valve
Информация будет малополезна для опытных людей съевших коня/собаку/крапиву при работе с vConsole2
Во избежание медицинских противопоказаний, вы даете согласие не выдвигать претензий к автору после прочтения

Доброго времени суток, Дорогой читатель!
Сегодня от меня гайд для инструментария при разработке кастомок, некая справочная информация с фишками для vConsole2.
Сейчас я не буду описывать все возможности, особенности, настройки программы и ее использования для vConsole2. В Этом всем можно разобираться и без моего участия - даже, если будете просто хаотично тыкать во все менюшки и вкладки в окне. Остановимся лишь на одной ее части интерфейса - Toolbar :
PS темная тема - в меню >> file >> option
1648805325034.png
Как оказалось, эта служебная область доступна для кастомизации, а именно :
  1. Запуск внутренних инструментов (DLL) пример по умолчанию - Bug Reporter , NetGraph.
  2. Исполнение консольных команд - по умолчанию так вызывается Asset Browser.
  3. Запуск внешних программ с аргументами (хоть фотошоп, хоть vscode и саму dota2 tools итд)
Для начала нам нужен вот этот файл-конфиг :
\dota 2 beta\game\core\tools\sdk_vconsole_subtools.txt файл по сути - обычный kv.
Важно : DOTA2 может перезаписывать после обновления этот файл(не всегда), делайте резервную копию обязательно (со своими правками).
Нас интересует в этом файле секция m_SubTools.
Ниже, какие есть параметры и их назначение (в чем сам смог разобраться) :
Код:
m_Name                       - имя секции (вроде нигде не отображается), но может без нее будут проблемы.
m_MenuString                 - имя для пункта меню Tools
m_SubToolIconPath            - иконка для кнопки/меню . вот тут можно выбрать из дотовских иконок "\dota 2 beta\game\core\tools\images\" если иконки из самой доты путь можно сократить  "game:tools/images/workshopmanager/icon_refresh_activated.png"
m_ToolbarString              - имя под кнопкой
m_StatusBarTipString         - подсказка в статус баре (внизу окна) так же если навести мышь на кнопку и подождать.
m_CommandString              - команда которую вводим в консоли для нужного действия, так же поподает в подсказку если навести мышь на кнопку. (команды разделенные точкой с запятой выполняются поочередно, как и в консоли)
m_ExecutablePath             - путь к исполняемому файлу. (слэш или косую черту - в имени пути, надо экранировать, таким же слэшем \\)
m_ExecutableArguments        - аргументы для запуска исполняемого файла
m_LibraryPath                - путь к библиотеке DLL (для внутренних инструментов доты)
m_AdditionalDependencies     - некие дополнительные зависимости (возможно расширяют инструменты нам не особо и доступно)
m_bRequiresAppConnection     - проверка подключения к приложению Dota2 (если Dota2 запущенна иконка приобретает цвет, в противном случае иконка полностью в оттенках серого и не нажимается) 
m_bRequiresToolConnection    - проверка подключения к приложения Dota2 Tools (ассет браузер только в тулзах, нетграф можно и просто в доте запустить)
m_bInternalUseOnly           - только внутреннее использование - суть не ясна.
m_bAllowAutoStart            - запускать при старте консоли (не уверен что работает в любой ситуации)
m_ToolConfig                 - хз для чего это.
m_MaterialSystemDependencies - нам не интересно (секция с другими зависимостями tools - не заметил разницу редактируя ее)
m_SubTools                   - наша область для кастомизации
// +dota_launch_custom_game  - работают комментарии
Примеры из моего конфига :
Код:
{
            m_Name                      = "Restart" 
            m_MenuString                = "Restart"
            m_SubToolIconPath           = "game:tools/images/workshopmanager/icon_refresh_activated.png"
            m_ToolbarString             = "Restart"
            m_StatusBarTipString        = "Restart map"
            m_CommandString             = "clear;restart"
            m_bRequiresToolConnection    = true
        }
Код:
{
            m_Name                      = "tp"
            m_MenuString                = "Test project"
            m_SubToolIconPath           = "game:tools/images/hammer/toggle_tools_materials_activated.png"
            m_ToolbarString             = "Test A"
            m_StatusBarTipString        = "Test Addon load"
            m_ExecutablePath            = "D:\\Steam\\steamapps\\common\\dota 2 beta\\game\\bin\\win64\\dota2.exe"
            m_ExecutableArguments       = "-nobreakpad 375360 -tools -addon test -novid -uidev -dev -nominidumps -condebug -toconsole -vconsole "
        }
Код:
{
            m_Name                      = "vsc"
            m_MenuString                = "VSCode"
            m_SubToolIconPath           = "C:/Microsoft VS Code/resources/app/resources/win32/code_70x70.png"
            m_ToolbarString             = "VSCode XX"
            m_StatusBarTipString        = "Run Vscode Addon XxxXxx"
            m_ExecutablePath            = "X:\\Microsoft VS Code\\Code.exe"
            m_ExecutableArguments       = "X:\\xxxx\\xx_scripts.code-workspace"
            //+dota_launch_custom_game test template_map
        }
Как выглядит моя панель инструментов без запущенной доты :
1648817353190.png
с запущенными инструментами:
1648817403277.png
В заключении: если сделать саму консоль стартовым ПО при работе с кастомками (у меня она закреплена на панели задач), все управление можно вынести на эту панель(как видите место предостаточно для 10-15 активных действий). и можно будет сэкономить место и время на доступе к вашим инструментам для работы.
 
Последнее редактирование:
Cool, настраиваем консольку как угодно душеньке!


⭐⭐⭐⭐⭐⭐⭐
Good luck!
⭐⭐⭐⭐⭐⭐⭐
 
После прочтения этой замечательной статьи мой друг, борющийся за жизнь со смертельной болезнью, нашёл в себе силы прекратить борьбу.
Кейн - ты талант, не слушай никого !
 
После прочтения этой замечательной статьи мой друг, борющийся за жизнь со смертельной болезнью, нашёл в себе силы прекратить борьбу.
Кейн - ты талант, не слушай никого !
тебя и не слушаю, уже который год - спс тебе.
 
  • Нравится
Реакции: vulkantsk
Реклама: