Плагин SFSE, автоматически выполняющий заданные пользователем консольные команды при запуске, а также при открытии или закрытии меню. Не нужно открывать консоль!
Что это?
**Запускатель консольных команд** — это плагин для SFSE, который автоматически выполняет список консольных команд из определённых пользователем .toml-файлов.
Почему?
Хотя в базовой игре есть настройка в ini-файле, позволяющая выполнять консольные команды при запуске, у меня всё же было несколько причин создать собственную реализацию.
- Внесение правок в ini-файл для добавления хотя бы одной новой команды под каждый мод может быть утомительным для пользователя. Console Command Runner выполнит столько команд, сколько укажет автор или авторы.
- Команды с этим модом могут срабатывать при открытии/закрытии меню, а также при первой загрузке главного меню, что позволяет более интересно и точно запускать команды.
- Я с нетерпением ждал возможности начать модифицировать Starfield! А ещё задокументированная функция «выполнить команду», которую игра использует внутренне, обеспечивает лёгкий доступ к множеству других возможностей, которые в противном случае потребовали бы гораздо больше времени на полноценную обратную разработку.
В конце концов, когда выйдет Creation Kit, этот мод станет несколько избыточным, но пока что я надеюсь, что он поможет большему числу людей начать создавать моды для Starfield.
Установка пользователя
Просто поместите мод в папку data игры, как и любой другой плагин для SFSE.
Требования
Я также настоятельно рекомендую
**Блокировщик достижений для бака**так как консольные команды в противном случае отключают достижения.
Использование автора
Для создания пресета консольных команд сначала создайте файл .toml с уникальным именем в папке Starfield\Data\SFSE\Plugins\ConsoleCommandRunner. Можно использовать любое количество .toml-файлов — вы не ограничены одним файлом. Это обеспечивает совместимость с другими модами.
В этом новом .toml файле вам нужно создать структуру, которая будет выглядеть так:
[[Событие]]
EventType = "DataLoaded"
['tgm', 'tcl', 'coc CityNeonEuphorika']
[[Событие]]
EventType = "OnMenuOpenCloseEvent"
asMenuName = "BSMissionMenu"
abOpening = true
Команды = ['tgm', 'tcl']
Каждое отдельное событие начинается с тега "[[Event]]". Внутри события необходимо указать его тип. Если у события есть параметры, они перечисляются. Затем указываются команды, которые должны выполниться. Здесь могут использоваться любые валидные консольные команды. Команды должны быть заключены в апострофы (кавычки также подойдут для команд, не принимающих строковые параметры, то есть без кавычек внутри кавычек) и разделены запятыми.
И всё!
**Допустимые названия событий**
DataLoaded
Срабатывает при первом переходе в главное меню после запуска игры. Учтите, что это единоразовое событие: если вы загрузите другое сохранение или вернётесь в главное меню, команды этого события не выполнятся повторно.
OnMenuOpenCloseEventСрабатывает при открытии или закрытии любого действующего меню. Содержит два параметра: asMenuName — для фильтрации по типу меню, и abOpening — для фильтрации по факту открытия или закрытия меню.
Допустимые названия меню:
Спойлер:
Показать
```cpp
// CursorMenu
```
# TitleSequenceMenu
# Меню ожидания сна
# SitWaitMenu
# MessageBoxMenu
# Главное меню - ВРЕМЕННО НЕ РАБОТАЕТ
# CreditsMenu
# Меню загрузки
# FanfareMenu
```plaintext
# HUDМеню
```
# Меню избранного
# Меню диалогов
# FaderMenu
# Меню контейнера
# ConsoleNativeUIMenu
# BookMenu
# Консоль
# Мастерская_МенюЧертежей
# WorkshopTargetMenu
# Быстрое меню мастерской
```russian
# МенюМастерской
```
# WorkshopBuilderMenu
# МенюКрафтаОружия
# TextInputMenu
# Меню способностей
# TestMenu
# GenesisTerminalMenu
# Меню потоковой установки
# Меню состояния
```
# GalaxyStarMapMenu
# Карта звездной галактики
```
# Меню взлёта
# SpaceshipHudMenu
# Меню прицела
# PlayBinkMenu
# Меню паузы
# DrugsCraftingMenu
# Меню данных
# ChargenMenu
# Меню навыков
# ShipRefuelMenu
# WeaponGroupAssignmentMenu
# ShipCrewAssignMenu
**Меню назначения экипажа**
# ShipCrewMenu
Меню экипажа
# Меню безопасности
```
# Меню исследований
```
# Меню карманника
**# PhotoModeMenu**
# MonocleMenu
# Доска заданий
# Инвентарь
# ПромышленноеКрафтМеню
# HUDMessagesMenu
# Меню крафта еды
# Меню планшета данных
# DataSlateButtons
# BSMissionMenu
# EndGameCreditsMenu
**Меню титров**
# Меню обмена
**БроняКрафтМеню**
# Меню редактора корабля
# BoundaryMenu
# Меню принятия документов
# PhotoGalleryMenu
Пожалуйста, предоставьте текст для перевода.
Не судите строго, это мой первый плагин-расширение для скриптов :p