马上注册领取绝版勋章
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 amgo 于 2025-5-12 04:55 编辑
原址:SL Triggers Redux - Framework & Resources - LoversLab
这是对旧版SL Triggers的继续开发和更新 它有什么作用: SL Triggers Redux (SLT) 本质上是一种运行各种脚本(用“SLTScript”编写)以响应游戏中事件的方法。SLT 最初的重点纯粹是四个基本的 SexLab 事件(性爱开始、性高潮、性爱结束、通过 SLSO 的单独性高潮),但该框架已扩展到不仅仅与 SexLab 事件相关联。此外,开箱即用,您还可以设置热键以按需运行脚本,将脚本设置为在(游戏内)时间运行,甚至通过控制台命令直接运行脚本。
这些脚本是简单的 .ini 文件,具有易于理解的语法和许多可供使用的示例。脚本由命令组成。命令可以是 “av_set” 之类的内容 (用于设置 Actor 值) 或语法命令 “goto” (用于将脚本执行编写到不同的行)。
SLT 附带一个基本函数库,可用于不断增长的脚本编写。也就是说,它具有一个扩展架构,通过该架构,mod 作者可以实现其他功能,这些功能将可供其他也安装该扩展的 SLT 用户使用。这允许扩展函数库,而无需将其添加到核心库中。
您不必对脚本进行编程即可使用它们。您可以从一开始就使用一些选项,还可以与其他 SLT 用户共享脚本。
要求: SKSE PapyrusUtil (可选)SexLab 框架 (可选)ConsoleUtil (可选)MfgFix (可选)SexLab P+ 框架(也适用于此版本) (可选)Devious Followers (可选)OSLAroused (可选)Devious Devices
别忘了把旧版触发器SKSE\Plugins\sl_triggers\commands中的那些你喜欢的json指令复制过来 安装: 如果您有旧版本(即 Fotogen 的原始版本),您将需要一个新的存档。不好意思。
关于性能: 已努力避免脚本对系统造成不必要的压力,但仍存在限制。每个脚本都将在游戏中的 Actor(玩家或 NPC)上运行。任何一个 Actor 一次运行的脚本都不能超过 30 个。如果您让脚本运行时间很长,那么脚本可能会长时间运行,因此要小心不要让事情跑掉。 手动运行脚本: 您可以使用控制台列出可用脚本并运行它们。在控制台中,使用: SLT 列表 列出可用的脚本。要运行给定的脚本,请使用: slt run “scriptname” 仅当脚本名称包含空格时,才需要引号。所以,要给自己一个免费的 10 个 septims,请尝试: slt run “给金币(10)” 使用 Trigger 自动执行作: MCM 在左侧列出“扩展”,在右侧列出与其关联的触发器和设置。每个“扩展”代表一组触发器/事件,您可以添加和配置这些触发器/事件以运行 SLT 脚本作为响应。 当您添加触发器时,它将显示其可配置选项。每个选项都表示在触发所选事件时将进行的检查。如果所有检查都通过,则被验证的 Actor 将在其上运行脚本。 您还可以“软删除”触发器,将其标记为非活动状态,直到您恢复它或进入并完全删除触发器。在恢复之前,它将保持非活动状态。 因此,以 SexLab 活动为例,例如 SLSO 性高潮(即两个演员发生性关系,但只有一个演员达到性高潮)。以下是条件检查的运行方式。请注意,这是特定于 SexLab 事件的,在上下文中可能涉及 1 个或多个参与者。其他事件(如热键)在逻辑上不会涉及超过 1 个 actor。 - SexLab “On Separate Orgasm” 活动启动 - SexLab Extension(和任何其他侦听器)接收事件 - 然后,SLX 检查与“On Separate Orgasm”事件匹配的每个触发器 - 对于每个匹配的触发器 - 对于场景中的每个角色 - 演员是否满足所有条件?如果是这样,请运行脚本 因此,即使演员 1 达到了高潮,但由于事件的性质,所有演员都接受了条件检查,根据这些条件,任何演员都可能对他们运行了剧本。或者所有参与者。这取决于您如何配置触发器。例如,如果您为“On Separate Orgasm”事件将其设置为 “Location = Outside”,则两个演员都会受到影响,因为当其中一个演员发生单独的 Orgasm 时,他们都在户外。 涉及多个参与者的 SexLab 事件的设置稍微复杂一些,但一段时间后所有触发器都应该很容易掌握。 与原版有什么不同? Fotogen 最初的 sl_triggers 努力很棒,并且仍然运行良好。此外,我已经向它添加了其中一些功能(如 Keymapping 和 Top of the Hour 事件处理)。 - 可扩展 - 使用新的命令库,可以很容易地扩展功能以添加更多作以在脚本中可用;Papyrus 脚本开发人员可以创建自己的具有全局函数的 .psc 文件,以添加新作,这些作将可用于系统上运行的任何脚本 - 新的脚本格式 - 原来的格式使用了 JSON,在 Skyrim 环境中支持很方便,但不方便开发;新的 .ini 格式更易于阅读,并且可以方便地与某些功能的语法高亮一起使用 - 不仅仅是 SexLab - 我知道,SexLab 是 SLT 中的 SL;但框架支持任何事件来触发脚本 - ModEvent 支持脚本执行 - Mod 作者可以发送带有脚本名称的 Mod 事件,SLT 将在目标 Actor(如果没有可用的目标,则为 Player)上运行脚本。 - API 支持 - 如果您愿意,您还可以通过 API 访问相同的功能 - 控制台命令支持 - 控制台提供的一些功能 - 其他 SLTScript 语言功能:子例程、使用调用参数的脚本到脚本执行、命名变量
如果游戏里找不到esl或mod内容,请安装:扩展的ESL支持 Backported Extended ESL Support BEES 加入我的QQ千人交流群774650232,帮助你解决游戏问题
版本 112 中的新功能PROBABLY-SAVE-BREAKING:重复使用存档,风险自负。
错误修复:是的,复数。 只。。。 如果您好奇,请查看最近的几次提交,
我已经测试了报告失败的脚本,它们对我有用 我提供了几个额外的脚本,它们通过一些关键/复杂命令运行以进行回归测试 我还可以在那里做更多的事情,但目前这很好 现在确定了一个合适的活动设计。由于当时我测试的非常轻微,之前的设计有一些我没有意识到的问题。 版本 114 中的新功能Savegame 安全与 113 增强功能:性能改进以加快命令库访问
为中心增强功能:改进了脚本的错误报告(请参阅控制台以了解脚本中的错误;功能开发中)
错误修正:inc 不再强制浮点数;如果找到 int
,则保持 int 增强:改进了 'set'/'inc'/'cat' 的性能(永远不应该成为命令库的一部分;移至内置功能;速度更快)
增强:文档再次随 .zip (sl_triggers_function_library.txt) 提供;现在从源代码生成,以及 wiki 内容(应该基本相同) 版本 115 中的新功能保存游戏兼容性:使用 v114 的更新成功测试(安装 114、新游戏、验证、保存、更新到 115、加载、验证)
错误修正:核心函数库(仅限 toh_elapsed_time)正在寻找具有错误 formID
的扩展 错误修复:更正了几个具有边缘大小写失败的函数以适当设置 $$
错误修复:在遍历函数库
时修复了几个逻辑错误增强功能:完成了对所有作/函数
的参数检查的添加 增强功能:actor_isaffectedby现在可以匹配 ALL(请参阅更新的文档)
增强功能:多个sl_函数没有采用参与者;已将 Actor 添加为可选参数(例如 sl_animname)
增强功能:添加了围绕 Param 索引访问和对象引用
更改的保护性检查:在尝试注册扩展之前,在 SLT 启动时添加了大约 4 秒(技术上为 3.9 秒)的额外延迟,以改善启动同步 版本 116 中的新功能Savegame 兼容性:通过 v115 的更新成功测试 增强功能:添加了 JSONTult 和 StorageUtil 函数作为同名
PapyrusUtil 脚本的包装器 增强功能:次要性能调整(重组了某些内置查找的顺序)
增强:在 wiki 上和.txt 文件形式中使用 MOD
的更多文档 增强功能:添加了 osla_* 函数作为 OSLAroused_ModInterface
的包装器 增强功能:添加了 slso_bonus_enjoyment 函数 版本 117 中的新增功能保存游戏兼容性:通过 v116
的更新成功测试 主要增强:现在应该在加载存档时恢复运行脚本(您现在可以拥有长时间运行的脚本;理论上是生命周期的)
主要增强:新核心事件:OnNewSession(在新游戏开始时和每次加载存档时触发;为每个会话提供唯一的 sessionId)
增强功能:新的 ModEvent 已发布(“_slt_event_slt_on_new_session_”),在新会话开始时触发(即在新游戏开始时和每次存档加载后)增强功能
:在 API 中添加了检索事件名称
的函数 增强功能:actor_getscale/actor_setscale
错误修正:Top of the Hour 事件未遵守 Chance
错误修正:sl_triggersAPI.psc.headeronly 无效
更改:删除了大约 4 秒(技术上为 3.9 秒)的额外延迟,并解雇了负责它的人 版本 120 中的新功能保存游戏兼容性:使用 v119
的更新成功测试错误修正:在某些情况下可能会发生调用堆栈损坏;修复
bugfix: 回归测试中的 BUG!YUCK
错误修复: 解析器将不再假设 “!=” 是名为 “=”
的全局变量 错误修复: 部分: 如果以 “$” 开头的字符串中有空格,现在将起作用。整个 “variables starts with $, everything is a string, resolve all the things!”设计
解决方法:如果你需要一个没有空格的字符串,以 “$” 开头......你可以使用 'cat $food “$” “therestofthestring”';丑陋,我知道,需要一些思考
增强:添加了额外的相等运算符“==”,因为我厌倦了我的大脑试图阻止我不输入它
增强:如果两个值“可以”评估为相等的数字,您应该能够安全地混合“==”、“=”=“和”&=“(以及相反的”!=“和”&!=“),
它们将是,否则它将执行字符串相等
性增强:sl_triggers_internal。SafeSmartEquals(string, string) 是本机逻辑包装器(主要为了速度)
增强功能:“set <variable> resultfrom <function.....>“
示例:
set $actorName resultfrom actor_name $player
反正我们都是这么做的
|