状态指示框架(SIF)的附加条件。为SIF的图标规则增加角色数值范围检查、派系成员判断、昏迷状态以及AI包检测功能,无需修改SIF本体。编写JSON即可在NPC头顶显示图标。这就是全部内容。
那它是干什么的?你知道的
状态指示框架 根据JSON规则在角色头顶渲染图标?开箱即用时,它可以匹配表单类型、关键词以及其他几种条件。但如果想为守卫(派系成员)、被击晕的NPC(昏迷状态)或运行特定AI包的NPC显示图标,你就束手无策了。或者说,你
是 卡住了。
iSIF扩展插件接入SIF的插件API,并注册了四个新条件:
你使用这些键编写SIF JSON规则,SIF会处理渲染、合并、距离淡出,全部搞定。无需INI,无需MCM,无需配置。开箱即用。
与...搭配效果佳
击晕与投降或处决补丁 (或任何设定无意识生命状态的机制)。在倒地的NPC上方显示击倒图标。或者用基于阵营的标识来标记守卫、商人和窃贼。由你决定。
条件"actorValue" - 演员值范围- 当某个角色的数值(生命值、魔力值、麻痹等)处于指定范围内时显示图标
- 适用于任何《天际》角色属性名称
- 用于侦测麻痹的NPC、低血量敌人、高攻击性角色等目标
- 至少满足以下条件之一
最小值
或
最大
是必需的
示例(麻痹 >= 1,用于击晕检测):
"match": {
"formType": "NPC",
“actorValue”:{
}
"name": "麻痹"
"min": 1
}
}
“阵营” - 阵营成员资格- 当演员属于一个或多个派系时显示图标,可选择最低等级要求
- 支持FormLists:指向一个BGSListForm时,列表中的所有派系都会被展开
- 当Actor匹配时 任意 派系达到等级门槛
- 等级0表示该角色属于该阵营。省略
最低排名
或设为0以匹配任何成员。对排名阵营(如公会进度)使用较高数值。
示例(排名1或更高的强盗阵营):
"match": {
"formType": "NPC",
"faction": {
"formId": ["Skyrim.esm|0x0001BCC0"],
"minRank": 1
}
}
"isUnconscious" - 昏迷状态- 当角色失去意识(被击晕,未死亡)时显示图标
- 使用行动者的生命状态(睡眠中的NPC不受影响)
- 适用于任何设置昏迷状态的模组,不仅限于击倒与投降。
示例:
"match": {
"formType": "NPC",
"isUnconscious": true
}
"package" - 当前AI包- 当角色执行特定AI包时显示图标。
- 支持包组的FormLists
- 用于检测尾随、沙盒、逃跑等行为。也可作为调试工具,查看NPC正在运行的AI包。
示例(雇工珍妮莎沙盒与白漫城艾尔林迪尔醉酒猎人包24x7):
"match": {
"formType": "NPC",
"package": ["Skyrim.esm|0x000B998B", "Skyrim.esm|0x0002BE1F"]
}
需求安装使用你的模组管理器安装。就这样。确保SIF已安装并启用。iSIF Extra会在游戏加载时自动向SIF注册。无需担心加载顺序(SKSE按字母顺序排列插件,默认情况下“iSIFExtra”排在“StatusIndicatorFramework”之后)。
如何使用使用SIF JSON规则编写
阵营,
昏迷状态, 或
包“match”块中的键。将JSON文件放在你的模组文件夹中的`SKSE/Plugins/SIF/`目录下(MO2和Vortex会自动处理Data/映射)。
该目录中的任何.json文件都会被SIF自动加载。示例文件,
iSIFExtra.json.example 包含在下载中。将其重命名为
iSIFExtra.json 并启动《天际》查看演示图标生效情况。有关示例,请参阅上文“条件”部分……
兼容性- 需要SIF(没有它也不会崩溃,只是没有任何用处)
- 与其他SKSE插件无冲突。iSIF Extra不挂钩任何内容,仅通过SIF的公共API注册条件。
- 兼容所有开放插件API的SIF版本
- 兼容所有SIF图标包及其他SIF扩展
包含工具该下载内容在mods工具/目录中包含两个附加内容。
sif_icon_builder.py 从PNG图像创建SIF兼容的图标SWF文件。无需Flash CS6或FFDec,只需Python和Pillow。PNG像素尺寸=(相对)游戏内图标大小,因此请在构建前调整尺寸。支持多图标打包、染色和缩放。
python sif_icon_builder.py myicon.png -n myIcon -o icons.swf
-n 名称必须与 JSON 规则中所需的标签字段完全匹配(区分大小写)。典型图标尺寸为 16-32 像素。RGBA 透明度将被保留。输出的 SWF 文件应放置在模组的 Interface/ 文件夹中(例如
MyModsRootDiretory/Interface/MyMod/icons.swf) 并在你的 JSON 规则中引用为 "source": "MyMod/icons.swf"。照常通过你的模组管理器安装。
SIF-AI规则参考.md 所有SIF和iSIFExtra匹配条件、图标字段及FormID格式的完整参考。可提供给AI助手,让其为你编写SIF JSON规则。涵盖所有内置SIF条件以及iSIFExtra中的四个额外条件。
创建SIF图标的更好替代方案对了,我创建了
🔥SWF熔炼炉 帮助为您的SIF需求制作炫酷图标。
模组作者指南如果你正在制作一个使用SIF图标的模组,并且需要进行阵营/包裹/昏迷检查,你可以将iSIF Extra作为依赖项打包,而不是分支SIF。你的用户安装SIF + iSIF Extra + 你的图标包 + 你的JSON规则,一切就能正常运行。
完整源代码可在以下地址获取:
GitHub. MIT 许可相关(内置的 SIF API 头文件隶属于 SIF 项目)。
制作人员名单