В этой статье описано, как работать с консолью отладки в игре Baldur's Gate III.
Пример запущенной консоли
Включение[]
Установка расширения Script Extender[]
Первое, что нужно сделать — установить расширение «Norbyte's Baldur's Gate 3 Script Extender».
Скачать его можно тут:
- Гитхаб (файл BG3SE-Updater-with-Console-20231028.zip). Название может слегка меняться в зависимости от даты последнего обновления. Распакуйте в главную папку игры. По умолчанию «C:\SteamLibrary\steamapps\common\Baldurs Gate 3\bin». Без вложенных папок, просто перетащите файлы «DWrite.dll» и «ScriptExtenderSettings.json» в папку \bin.
- Нексус. Установите через приложение для модов Vortex. Просто перетащите архив в список модов и нажмите кнопку «Deploy Mods» в верхнем меню.
Включение консоли[]
Если вы скачали версию с Гитхаба, этот шаг можно пропустить.
В папке \bin создайте файл «ScriptExtenderSettings.txt» и пропишите в нём:
{
"CreateConsole": true
}
Сохраните и измените расширение на «.json». Должен получиться файл «ScriptExtenderSettings.json» (не «ScriptExtenderSettings.json.txt» или вариации!). Если он уже был у вас в папке \bin, откройте его через блокнот и добавьте этот код в конец.
После этого при запуске игры у вас будет открываться дополнительное окно с консолью (спрятано под тем же ярлыком на Панели Задач). Для того, чтобы воспользоваться ею, переключитесь на неё, не закрывая игру.
Коды[]
Перед вводом кода нажмите один раз «Enter», чтобы в начале строки появились знаки «S >>». После них и вводите код. Учтите, что код применяется к выбранному персонажу, состоящему в группе игрока.
1. Добавить предмет в инвентарь[]
TemplateAddTo("UUID", GetHostCharacter(), quantity)
Например, введение кода
TemplateAddTo("204de787-46de-4d39-8fe0-2e080bf44a61", GetHostCharacter(), 1)
добавит одно Селунитское одеяние в инвентарь выбранного персонажа. Если вам нужно больше, измените 1 в конце на нужное значение.
Посмотреть UUID предметов можно в английской википедии по BG3, щелкнув на странице предмета на нужное меню. Так же файл со списком доступен на Нексусе.

2. Добавить золото в инвентарь[]
AddGold(GetHostCharacter(), X)
Замените «X» на нужное значение.
3. Добавить опыт[]
Osi.AddExplorationExperience(GetHostCharacter(), X)
Замените «X» на нужное количество опыта. Нужно будет повторить для каждого члена группы, выбирая их по-очереди.
4. Изменить отношение персонажа к использованию личинок[]
SetTadpoleTreeState(GetHostCharacter(), X)
Замените «X» нужное значение:
1: Не готов использовать личинок.
2: Готов использовать личинок.
5. Добавить очки для иллитидских способностей[]
AddTadpole(GetHostCharacter(), X)
Замените «X» на нужное количество очков.
6. Добавить очки вдохновения[]
Osi.GiveInspirationPoints(GetHostCharacter(), X, "", "")
Замените «X» на нужное количество очков.
7. Изменить внешний вид[]
Osi.StartChangeAppearance(GetHostCharacter())
Неизвестно, что произойдет, если вы играете за персонажа с предысторией и у вас нет мода «Appearance Enhanced». Это может вызвать проблемы, так что не забудьте сохраниться перед его использованием.
8. Сброс уровня[]
Osi.StartRespec(GetHostCharacter())
9. Изменение отношений[]
Osi.ChangeApprovalRating("COMPANION UUID", GetHostCharacter(), 0, X)
Возьмите «COMPANION UUID» из списка ниже. Кавычки должны остаться. Замените «X» на то количество очков отношений, которое вы хотите получить. Можно использовать отрицательные значения, добавив минус в начале.
UUID спутников
- S_Player_Karlach_2c76687d-93a2-477b-8b18-8a14b549304c
- S_Player_Minsc_0de603c5-42e2-4811-9dad-f652de080eba
- S_GOB_DrowCommander_25721313-0c15-4935-8176-9f134385451b -- Minthara
- S_GLO_Halsin_7628bc0e-52b8-42a7-856a-13a6fd413323
- S_Player_Jaheira_91b6b200-7d00-4d62-8dc9-99e8339dfa1a
- S_Player_Gale_ad9af97d-75da-406a-ae13-7071c563f604
- S_Player_Astarion_c7c13742-bacd-460a-8f65-f864fe41f255
- S_Player_Laezel_58a69333-40bf-8358-1d17-fff240d7fb12
- S_Player_Wyll_c774d764-4a17-48dc-b470-32ace9ce447d
- S_Player_ShadowHeart_3ed74f06-3c60-42dc-83f6-f034cb47c679
10. Изменить размер группы без сторонних модов[]
SetMaxPartySizeOverride(12) Osi.PROC_CheckPartyFull()
В данном примере лимит группы будет увеличен до 12.