Простой в использовании интерфейс, позволяющий сохранять и загружать внутриигровые переменные в файл и из файла соответственно, что может быть полезно для модмейкеров.
Это может пригодиться в различных ситуациях. Например, всё больше и больше модов обладают обширными настройками в МКМ, которые при начале новой игры приходится выставлять заново. FISS позволяет создателям модов обеспечить возможность создания пользовательских пресетов данных, которые могут быть сохранены, загружены или использованы где-то ещё.
Моды, в настоящее время использующие FISS:
Take Notes - Journal of the Dragonborn;
MinimalHUD;
Spellmaking in Skyrim - The last altar;
Dynamic Potions - Poisons - Ingredients - Food;
Dynamic Magicka and Stamina Growth;
A Matter of Time - A HUD clock widget;
Enchanted Arsenal;
Widget Mod;
Living takes time;
Timing is everything;
Awakened Magicka.
Как использовать: Для игроков:
Скачать и установить FISS (извлечь в папку “Skyrim/Data/”);
Активировать FISS.ESP в вашем лаунчере/менеджере модов;
После него установить любой использующий FISS мод и использовать его возможности.
Для мододелов:
1 и 2 - аналогично;
Использовать FISS в ваших скриптах (см. API и пример ниже);
Когда выпускаете свой мод, следует включить следующие файлы в директорию Scripts Вашего мода:
FISSFactory.pex
FISSInterface.pex
Но не включать каких-либо других файлов FISS.
ЧАВО: Вопрос: Где будут находиться созданные файлы? Ответ: В директории “/Skyrim/Data/SKSE/Plugins/FISS/” или, если используете ModOrganizer, в “/ModOrganizer/overwrite/SKSE/Plugins/FISS”. Вы также можете создавать свои подпапки: например, fiss.beginSave(“MySubfolderMyFile.xml”).
Вопрос: Нужно ли выпускать другую версию мода для людей, у которых не установлен FISS? Ответ: Нет. Просто сделайте простую проверку на наличие установленного FISS:
FISSInterface fiss = FISSFactory.getFISS()
If !fiss
debug.MessageBox(“FISS not installed. Save/Reload disabled”)
return
endif
API (также это есть в файле MS Word папке "Документация" в архиве, наряду с оригинальной документацией):
API FISS'а состоит из двух скриптов: FISSFactory для обращения к интерфейсу FISS, и FISSInterface для операций с файлами.
Функции FISSFactory:
FISSInterface Function getFISS()
Получает ссылку на интерфейс FISS. Возвращает “none”, когда FISS не установлен.
Функции FISSInterface: Функции загрузки: Все операции загрузки должны начинаться с объявлений beginLoad и endLoad.
Function beginLoad(string filename)
Объявляет о начале набора операций загрузки.
string Function endLoad()
Объявляет о завершении набора операций загрузки. Возвращает сообщения об ошибке в виде строки. Cтрока будет пустой, если все операции загрузки прошли успешно.
bool Function loadBool(string name)
Загружает переменную логического типа с заданным именем.
string Function loadString(string name)
Загружает строку с заданным именем.
float Function loadFloat(string name)
Загружает число с плавающей точкой с заданным именем.
int Function loadInt(string name)
Загружает целое число с заданным именем.
Функции сохранения: Все операции сохранения должны начинаться с beginSave и заканчиваться с endSave.
Function beginSave(string filename, string modname)
Объявляет о начале набора операций сохранения. "filename" должен (но не обязательно) заканчиваться “.XML”. "Modname" здесь - имя мода.
string Function endSave()
Объявляет о завершении набора операций сохранения. Возвращает сообщения об ошибке в виде строки. Cтрока будет пустой, если все операции загрузки прошли успешно.
Function saveBool(string name, bool value)
Сохраняет переменную логического типа с заданным именем.
Function saveString(string name, string value)
Сохраняет строку с заданным именем.
Function saveFloat(string name, float value)
Сохраняет число с плавающей точкой с заданным именем.
Function saveInt(string name, int value)
Сохраняет целое число под заданным именем.
Другие функции:
float Function getVersion()
Получает установленную версию FISS
float Function getInterfaceVersion()
Получает версию интерфейса.
string Function saveTextToTxtFile(string filename, string text)
Напрямую сохраняет строку в текстовый файл. Эта функция должна быть использована без BeginSave и EndSave.
Небольшой пример использования: Модификация под названием "My Mod" сохранит и загрузит переменные в/из файла “MyFile.xml”. Для этого определяются функции “MySaveFunction” и “MyLoadFunction”.
Script MyScript extends <whatever>;
переменные
bool bMyBool
int iMyInt
string sMyString;
импорт FISSFactory для создания интерфейса с FISS
import FISSFactory;
функция сохранения
Function MySaveFunction;
получение ссылки на интерфейс FISS
FISSInterface fiss = FISSFactory.getFISS();
проверка, установлен ли вообще FISS
If !fiss
debug.MessageBox(“FISS не установлен. Сохранение отменено”)
return
endif;
The Elder Scrolls V: Skyrim Платформы:PC, PS3, Xbox 360, PS4, Xbox One, Nintendo Switch, PS VR, HTC Vive Режим игры:Однопользовательский Дата анонса:11 декабря 2010 года Игровой движок: Creation Engine Разработчик:Bethesda Softworks Издатель:Bethesda Softworks Локализатор:1С-СофтКлаб Жанр игры:Action RPG