Консольные команды для каждого 2.3.1
Этот демонстрационный мод поможет вам зарегистрировать в игре собственную консольную команду средствами Papyrus, без написания DLL-плагина SKSE64. Сделать это будет достаточно просто, если вы умеете обращаться с Creation Kit и писать простейшие скрипты PEX. Это аналог мода Custom Console Commands, автор которого помог мне, поэтому я указываю его в качестве благодарности. Отличие "Console Commands For Everyone" состоит в более надёжном способе регистрации команд.
Демонстрационный аддон содержит 4 функции, которые вы можете использовать.
- SetPerkPoints <int> : Устанавливает количество очков перков, доступных игроку.
- MaxSkills <string> : Прокачивает указанный навык игрока до максимума. Если аргумент не указан, прокачивает все навыки (18 штук).
- GetCombatStyle : Возвращает стиль боя выбранного в консоли персонажа, формат вывода: "Название-плагина;EditorID-стиля".
- DebugNotification <string> : Показывает сообщение в углу экрана.
- AddAchievement <int> : Добавляет достижение под номером <int> или все достижения, если номер не не указан.
- GetBaseFOV : Выводит в консоли текущий FOV (угол зрения) без учёта модификаторов (без приближени в прицеливании и т.п.).
- GetRefInfo : Выводит имя плагина и локальный FormID выделенного объекта.
- DeleteReference : Выполняет bat-файл с командами Disable и MarkForDelete.
- WhatWeather : Выводит две погоды - проходящую и наступающую - с прогрессом их смены.
Создание собственного аддона - Часть 1
- Откройте Creation Kit и, не загружая ни один из плагинов, сразу перейдите в раздел Character/Quest.
- Создайте новый квест, во вкладке Quest Data укажите ID и Quest Name.
- Перейдите на вкладку Quest Stages и создайте в секции Index новую стадию.
- Нажмите OK, чтобы сохранить квест, иначе вы не сможете прикрепить скрипт на этапе ниже.
- Перейдите на вкладку Quest Aliases и создайте новый Reference Alias.
- Задайте Alias Name и укажите тип Specific Reference. Кликните Select Forced Reference, укажите Cell = Any, Ref = PlayerRef. Нажмите ОК.
- Кликните Add у секции скриптов и создайте новый скрипт, укажите Name, укажите Extends = ConsoleCommandsForEveryone, укажите свойство AddonPluginName = "MyPluginName.esp", т.е. название вашего плагина, включая расширение.
- Кликните ПКМ по названию скрипта и выберите Edit Source. Скрипт должен иметь события OnInit и OnPlayerLoadGame с функцией RegisterConsoleCommands().
- При вызове ваших событий sArgument будет содержать полные команды, которые игрок ввёл в консоли. fArgument будет содержать количество использованных аргументов. Например при использовании "CoolCommand 14 28" вы получите "CoolCommand 14 28" в sArgument и 3 в fArgument.
Сохраните скрипт и скомпилируйте его, чтобы убедиться, что ошибок на этом этапе нет.
- Сохраните алиас, квест и плагин.
Создание собственного аддона - Часть 2
- В папке Data создайте файл JSON и назовите его "MyPluginName.esp_CCFE.json", где MyPluginName.esp - название вашего плагина с расширением (ESP/ESM/ESL).
- Внутри JSON обязательно должна быть секция "Data" с записями вида: "CallbackName" : [ "CommandNameA", "CommandNameB", "CommandNameC", ... ]
- CallbackName - название события в вашем скрипте, CommandName# - имя консольной команды, которая будет запускать событие.
- Типовой файл JSON есть в демонстрационном аддоне, используйте его как пример.
Требования
• Skyrim SE
• SKSE64
• PapyrusUtil SE
• ConsoleUtil SE и PO3 Papyrus Extender (опционально, для корректной работы аддона)
• Установка стандартная, но мод сам по себе ничего не делает.
• Вам необходимо использовать опциональный аддон или создать свой.
Комментарии