Этот демонстрационный мод поможет вам зарегистрировать в игре собственную консольную команду средствами 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 (угол зрения) без учёта модификаторов (без приближени в прицеливании и т.п.).

Создание собственного аддона - Часть 1

  1. Откройте Creation Kit и, не загружая ни один из плагинов, сразу перейдите в раздел Character/Quest.
  2. Создайте новый квест, во вкладке Quest Data укажите ID и Quest Name.
  3. Перейдите на вкладку Quest Stages и создайте в секции Index новую стадию.
  4. Нажмите OK, чтобы сохранить квест, иначе вы не сможете прикрепить скрипт на этапе ниже.
  5. Перейдите на вкладку Quest Aliases и создайте новый Reference Alias.
  6. Задайте Alias Name и укажите тип Specific Reference. Кликните Select Forced Reference, укажите Cell = Any, Ref = PlayerRef. Нажмите ОК.
  7. Кликните Add у секции скриптов и создайте новый скрипт, укажите Name, укажите Extends = ConsoleCommandsForEveryone, укажите свойство AddonPluginName = "MyPluginName.esp", т.е. название вашего плагина, включая расширение.
  8. Кликните ПКМ по названию скрипта и выберите Edit Source. Скрипт должен иметь события OnInit и OnPlayerLoadGame с функцией RegisterConsoleCommands(). 
  9. При вызове ваших событий sArgument будет содержать полные команды, которые игрок ввёл в консоли. fArgument будет содержать количество использованных аргументов. Например при использовании "CoolCommand 14 28" вы получите "CoolCommand 14 28" в sArgument и 3 в fArgument.
  10. Сохраните скрипт и скомпилируйте его, чтобы убедиться, что ошибок на этом этапе нет.
  11. Сохраните алиас, квест и плагин.

Создание собственного аддона - Часть 2

  1. В папке Data создайте файл JSON и назовите его "MyPluginName.esp_CCFE.json", где MyPluginName.esp - название вашего плагина с расширением (ESP/ESM/ESL).
  2. Внутри JSON обязательно должна быть секция "Data" с записями вида: "CallbackName" : [ "CommandNameA", "CommandNameB", "CommandNameC", ... ]
  3. CallbackName - название события в вашем скрипте, CommandName# - имя консольной команды, которая будет запускать событие.
  4. Типовой файл JSON есть в демонстрационном аддоне, используйте его как пример.

Требования

• Skyrim SE
SKSE64
PapyrusUtil SE
ConsoleUtil SE и PO3 Papyrus Extender (опционально, для корректной работы аддона)

Как установить мод

• Установка стандартная, но мод сам по себе ничего не делает.
• Вам необходимо использовать опциональный аддон или создать свой.

Загрузил:
Meridiano
7

Комментарии

Авторизуйтесь, чтобы оставить новый комментарий. Или зарегистрируйтесь.