PapyrusUtil SE — функции утилит для создания скриптов для моддеров

Автор:exiledviperПоследнее обновление:26/02/2024 22:14:5815.2M559KB

The Elder Scrolls V: Skyrim Special Edition PapyrusUtil SE — функции утилит для создания скриптов для моддеров-1-lagofast mod master

Предварительные зависимости

Введение в мод

Плагин SKSE, добавляющий несколько новых скриптов с собственными функциями, которые предоставляют различные удобства, связанные с хранением данных и другими разнообразными функциями для скриптера/моддера.

Эта версия предназначена для Skyrim Special Edition
Оригинальную версию можно получить здесь.

ВАЖНЫЙ: Если вы используете Skyrim версии 1.6+, вам необходимо установить версию AE PapyrusUtil и Address Library. Это НЕ ИМЕЕТ ЗНАЧЕНИЯ если у вас нет Anniversary Edition DLC, то любая версия после 1.5.97 считается AE. 

Убедитесь, что ваша библиотека адресов и установленный SKSE64 полностью обновлены.

И как всегда, убедитесь, что никакие моды не перезаписывают актуальную версию PapyrusUtil устаревшей версией (например, Simply Knock, Campfire и Wearable Lanterns)

Если вы все еще получаете сообщение об ошибке, попробуйте запустить стандартный лаунчер Skyrim из Steam или напрямую (через SkyrimSELauncher.exe в основной папке), а затем вернитесь к запуску с помощью skse и/или вашего менеджера модов.

Последняя версия будет совместима ТОЛЬКО с последней версией, выпущенной в Steam на данный момент. v1.6.1170. Все остальное не поддерживается, и вам придется загрузить более старую версию PapyrusUtil, соответствующую установленной у вас версии.

Очевидно, если у вас установлена версия игры GoG 1.6.1179, установите версию GoG.

1. Описание
2. Требования
3. Установка
4. Удаление
5. Обновление
6. Совместимость и проблемы
7. Кредиты
8. Журнал изменений


1. Описание

Плагин SKSE, позволяющий сохранять любое количество значений типа int, float, form и string в любой форме или глобально из скриптов Papyrus. Также поддерживает списки этих типов данных. Доступ к этим значениям возможен из любого мода, что обеспечивает лёгкую динамическую совместимость.

PapyrusUtil.psc - проверка версии и инициализация переменных массивов.
StorageUtil.psc - хранить переменные и списки данных в форме, которую можно извлечь, используя форму и имя переменной в качестве ключей. См. документацию в файле psc.
JsonUtil.psc - аналогично StorageUtil.psc, но сохраняет данные в настраиваемых внешних файлах .json вместо форм, что позволяет настраивать их вне игры и хранить независимо от файла сохранения пользователя.
MiscUtil.psc - некоторые другие команды.
ActorUtil.psc - Переопределение пакета актера.

2. Требования
SKSE SE/AE 2.2.6+ http://skse.silverlock.org/
Библиотека адресов для плагинов SKSE: https://www.nexusmods.com/skyrimspecialedition/mods/32444

3. Установка
Используйте менеджер модов или извлеките файлы вручную.


4. Удаление
Удалите файлы, добавленные вами на шаге 9 установки.


5. Обновление
Просто перезапишите все файлы.


6. Совместимость и проблемы
Должно быть совместимо со всем.


7. Кредиты
exiledviper — продолжение поддержки и рефакторинга исходного кода оригинального плагина
meh321 - оригинальная версия, идея, преобразование библиотеки адресов
Команде SKSE — за то, что сделали этот плагин возможным
milzschnitte - для предложений
eventHandler, Expired, aers, arha, ianpatt — помощь в преобразовании и обновлении SKSE64



8. Журнал изменений

4.6 AE/SE - 18.01.2024
Обновлено для SKSE64 AE/SE 2.2.6 и Skyrim 1.6.1170

4.5 AE/SE - 12/05/2023
Обновлено для SKSE64 AE/SE 2.2.4 и Skyrim 1.6.1130

4.4 AE/SE - 01/7/2022
Обновлено для SKSE AE сборки 2.2.2
Добавлены функции ListRandom() в StorageUtil и JsonUtil.
Исправлены некоторые ошибки

4.3 АЕ/SE - 01.07.2022
Обновлено для SKSE AE сборки 2.1.5

4.2 AE/SE - 14.12.2021
Обновлено для SKSE AE сборки 2.1.4

4.1 AE/SE - 23.11.2021

Обновлено для SKSE AE сборки 2.1.3
Обновлено для библиотеки адресов


4.0 AE/SE - 19.11.2021

Обновлено для SKSE AE сборки 2.1.2
Добавлены функции RemoveDupe(), GetDiff() и GetMatching() в PapyrusUtil.psc.
Исправлена ошибка JsonUtil, из-за которой возвращалось неверное значение формы при выгрузке соответствующего плагина.


3.9 SE - 02/04/2020
Исправлена загрузка выделенных форм FF из совместного сохранения.
Изменено местоположение файла журнала на Мои документы/Мои игры/Skyrim Special Edition/SKSE/PapyrusUtilDev.log.


3.8 SE - 22.11.2019
Обновлено для SKSE 2.0.17
Исправлена обработка форм из файла ESL

3.7b SE - 17.06.2019
Обновлено для SKSE64 SE 2.0.16

3.7 SE - 19.03.2019
Обновлено для SKSE 2.0.13-15
Добавлен MiscUtil.FoldersInFolder()

3.6b SE - 09/10/2018
Обновлено для SKSE64 SE 2.0.11

3.6 SE - 09/10/2018
Обновлено для SKSE64 SE 2.0.9/2.0.10

3.5 SE - 09/10/2018
Обновлено для SKSE64 SE 2.0.8
Исправлены функции сканирования ячеек MiscUtil.

3.4b SE - 04/05/2018
Обновлено для SKSE64 SE 2.0.7
Скопировал скрипты в папку creationkit /source/scripts


3.4 SE - 01/05/2018
Добавлены обратно функции, связанные с TFC
Добавлены обратно функции переопределения пакета ActorUtil.
Исправлена проблема с формами, которые иногда сохранялись/возвращались неправильно, если файл .esl был активен в порядке загрузки.

Исправление 3.3c SE — 12.04.2017
Обновлено для SKSE64 SE 2.0.6

Исправление 3.3b SE — 12.11.2017
Обновлено для SKSE64 SE 2.0.5
Добавлена обратно функция MiscUtil.SetMenus()


3.3 SE- 21.10.2017
Первоначальный выпуск версии SKSE64



3.3 - 15.09.2016
Различные исправления различных проблем с CTD и производительностью
Новые функции JsonUtil:
Добавлены функции произвольного пути для возможности пользовательского форматирования JSON.
JsonInFolder(string folder) для получения массива JSON-файлов, которые существуют в заданной папке
Новая функция MiscUtil:
ScanCellNPCsByFaction() для поиска в ячейке актеров заданной фракции
Новая функция PapyrusUtil:
GetScriptVersion() для получения текущей установленной версии скрипта, которая может отличаться от значения DLL GetVersion() в зависимости от различной и/или неправильной установки мода пользователем. 
Исправления:
Некоторые исправления в обработке файлов JsonUtil и отсутствующих значениях.
Множество других исправлений, которые я сейчас не могу вспомнить.


3.2 - 01.04.2016
  • Множество исправлений различных проблем с CTD и производительностью.
  • Новые функции JsonUtil:
        Unload() — выгружает файл из памяти, который использовался JsonUtil, при необходимости предварительно сохраняя изменения. IsPendingSave() — проверяет, был ли изменен указанный Json-файл с момента его последней загрузки/сохранения. IsGood() — проверяет, загружен ли в данный момент указанный Json-файл и нет ли в нем ошибок. GetErrors() — возвращает отформатированную строку ошибок анализа Json, если таковые имеются. JsonInFolder() — возвращает массив всех Json-файлов в указанном каталоге.
  • Новые функции StorageUtil:
        CountObj<type> Prefix() — подсчитывает количество ключей, начинающихся со строки, в определенном объекте ClearObj<type> Prefix() — удаляет все значения с ключами, начинающимися со строки определенного объекта.
  • Новые функции MiscUtil:
        FilesInFolder() — возвращает массив всех файлов или файлов с заданными расширениями, содержащихся в папке. ScanCellActors() — возвращает массив ближайших объектов в ячейке, соответствующих критериям. ScanCellObjects() — возвращает массив ближайших объектов заданного типа формы в ячейке, соответствующих критериям. WriteToFile() — считывается после удаления в предыдущем обновлении. ReadFromFile() — считывается после удаления в предыдущем обновлении.

3.1 - 09/01/2015
  • Исправлена ошибка, вызывавшая вылет при загрузке сохранения у некоторых пользователей.
  • Добавлено количество<type> Prefix() для StorageUtil и JsonUtil — подсчитывает количество ключей, начинающихся со строки
  • Добавлено Очистить<type> Prefix() для StorageUtil — удаляет все значения с ключами, начинающимися со строки
  • Добавлено Pluck<type> () в StorageUtil — получает значение и возвращает его, а затем удаляет его из хранилища.
  • Добавлен сдвиг<type> List() в StorageUtil — получает первое значение списка, а затем удаляет его из этого списка.
  • Добавлен поп<type> List() в StorageUtil — получает последнее значение списка, а затем удаляет его из этого списка.

3.0 - 21.08.2015
  • ТРЕБУЕТСЯ SKSE 1.7.3
  • StorageUtil и JsonUtil Int/Float/String/FormListToArray()
  • Различные новые служебные функции и функции массивов в PapyrusUtil.psc
  • Различные другие новые функции, которые я не могу вспомнить, в основном связанные с работой с массивами или их возвратом.
  • Исправлены различные ошибки, связанные со сбоями.
  • Улучшена производительность многих функций
  • УДАЛЕНО MiscUtil.WriteToFile(),ReadFromFile(),ExecuteBat() — функции в основном не использовались, представляли угрозу безопасности и лучше выполнялись другими способами.

2.8 - 10/03/2014
  • Исправлена критическая ошибка, из-за которой StringListRemove делал ровно противоположное тому, что вы хотели.
  • Исправлена проблема сбоя на рабочем столе, с которой сталкивались некоторые пользователи, когда плагин загружал внешние JSON-файлы для чтения.
  • Добавлены функции инициализации массива papyrus в PapyrusUtil.psc.

2.7 - 09/09/2014
  • Добавлено сохранение переопределения обратного пакета.
  • Добавлены функции AdjustInt/FloatValue() и Int/FloatListAdjust() в StorageUtil и JsonUtil, сокращенная функция для корректировки существующих значений на заданную величину.
  • Добавлена функция ClearAll() в JsonUtil для очистки содержимого внешних JSON-файлов.
  • Очистили различные собственные функции для лучшей проверки правильности передаваемых аргументов и предотвращения потенциальных сбоев.

2.6 - 08/11/2014
  • Исправлена ошибка, приводившая к сбою/зависанию при попытке загрузить несуществующий внешний файл.

2.5 - 08.08.2014
  • ТРЕБУЕТСЯ SKSE 1.7.1
  • Переписывание исходного кода плагина
  • Добавлен новый скрипт JsonUtil
  • Функция ListSlice() для копирования списка в массив Papyrus
  • Функция ListCopy() для копирования массива Papyrus в список
  • Функция ListResize() для изменения длины списка
  • Различные другие исправления ошибок и небольшие новые функции.
 

Этот инструмент предоставлен сторонним разработчиком [bufftool]Внимание (Нормальное)

Загрузите моды сейчас

Установите LagoFast, запустите The Elder Scrolls V: Skyrim Special Edition и играйте с модами, которые вам нравятся.