• 注册
  • 一般交流 一般交流 关注:6312 内容:10230

    【原创】【开发记录】治疗弹、Buff 刀、支援手雷已在 Fika 跑通|SPT 跨物品效果原型

  • 查看作者
  • 打赏作者
  • 当前位置: ODDBA社区 > 离线版交流区 > 一般交流 > 正文
  • 6
  • 一般交流
  • 自成一派
    VIP4

    大家好,最近在开发和测试一个面向 SPT 的新功能,暂定名为:

    SPT Triggered Effects——跨物品类别触发效果系统

    治疗弹、增益刀、恢复手雷……

    这些以前听起来比较离谱的玩法,现在已经完成了基础功能验证。

    目前已经接入并测试了五类物品:

    • 子弹;

    • 医疗物品;

    • 食物和饮料;

    • 刀具及近战武器;

    • 手雷及其爆炸、破片。

    这五类物品都可以通过同一套规则结构和效果执行系统,触发生命、能量、水分以及游戏内针剂 Buff 等效果。


    这套功能是做什么的?

    这套系统主要解决一个问题:

    把物品类别和效果类型拆开。

    原本子弹主要负责造成伤害,医疗物品负责治疗,食物负责恢复能量和水分,刀具和手雷则有各自固定的伤害逻辑。

    现在,我为这些物品增加了一套额外的事件触发机制。

    不同物品可以在弹药命中、一次使用动作正常完成、近战命中,或爆炸与破片产生有效伤害事件时,执行配置好的效果。

    需要说明的是,这套系统是在物品原有逻辑之外追加执行配置效果,并不会默认替换弹药、近战武器或爆炸物本身的伤害。因此,治疗弹或恢复手雷在当前实现下仍可能保留原有伤害。若要制作完全不造成伤害的版本,还需要进一步调整原始伤害逻辑,并确保对应的命中或伤害触发事件仍然能够正常产生。

    例如:

    • 子弹命中后为目标恢复生命;

    • 子弹命中后添加针剂 Buff;

    • 医疗物品的一次使用动作正常完成并结算后,恢复能量和水分;

    • 食物或饮料的一次使用动作完成后获得临时增益;

    • 刀具命中后添加特殊状态;

    • 手雷爆炸或破片产生有效伤害事件后,触发恢复效果。

    这些效果可以单独使用,也可以组合在同一个物品上。

    例如,一发特殊弹药可以同时设置为:

    恢复命中目标的生命+恢复能量和水分+添加一个针剂 Buff+一定概率附带副作用

    系统支持为整条规则以及其中的单个效果分别设置触发概率。


    一、子弹触发效果

    子弹命中目标后,可以根据弹药 ID 执行对应规则。

    目前已经验证:

    • 改变命中目标的生命值;

    • 改变命中目标的能量和水分;

    • 为命中目标添加针剂 Buff;

    • 多个效果同时执行;

    • 不同弹药使用不同规则。

    因此可以用来制作治疗弹、增益弹、带有异常状态的弹药,或者同时具有收益与副作用的实验弹药。

    在命中或伤害事件能够正常成立的前提下,效果可以作用于队友或敌人,具体取决于实际命中对象、物品规则以及 Fika 房间设置。

    【原创】【开发记录】治疗弹、Buff 刀、支援手雷已在 Fika 跑通|SPT 跨物品效果原型


    二、医疗物品触发效果

    医疗包、绷带以及其他医疗物品,可以在一次使用动作正常完成并结算后执行额外效果。

    目前已经验证:

    • 额外恢复生命;

    • 改变能量和水分;

    • 添加针剂 Buff;

    • 添加正面或负面状态;

    • 同时执行多个效果。

    例如,可以设计一种恢复能力较强的医疗物品,在治疗的同时补充能量和水分,但使用后附带某种负面状态。

    系统会判断本次使用动作是否正常完成。中途取消时,不会结算本次使用动作对应的附加效果,避免通过重复取消动作反复触发。

    【原创】【开发记录】治疗弹、Buff 刀、支援手雷已在 Fika 跑通|SPT 跨物品效果原型


    三、食物和饮料触发效果

    食物和饮料同样会在一次使用动作正常完成并结算后触发附加效果。

    目前可以附加:

    • 生命值变化;

    • 能量和水分变化;

    • 针剂 Buff;

    • 正面或负面状态;

    • 多种效果组合。

    这部分可以用来制作战斗口粮、强化饮料、实验食品,或者在恢复基础属性的同时提供短时间战斗增益。

    也可以为效果加入代价,例如增益结束后降低能量,或者附带其他负面状态。

    【原创】【开发记录】治疗弹、Buff 刀、支援手雷已在 Fika 跑通|SPT 跨物品效果原型


    四、刀具和近战武器触发效果

    近战武器会在实际命中目标后,根据当前使用的刀具执行对应规则。

    目前已经验证:

    • 改变命中目标的生命值;

    • 改变命中目标的能量和水分;

    • 为命中目标添加针剂 Buff;

    • 添加正面或负面状态;

    • 单次命中执行多个效果。

    这部分可以实现带毒刀具、命中后为目标添加增益或其他特殊状态的近战武器,也可以制作带有辅助效果的特殊装备。

    刀具之间的差异不再只体现在伤害、攻击距离和攻击速度上,也可以通过命中效果形成不同的用途。

    【原创】【开发记录】治疗弹、Buff 刀、支援手雷已在 Fika 跑通|SPT 跨物品效果原型


    五、手雷、爆炸和破片触发效果

    手雷的爆炸伤害和破片命中也已经接入触发系统。

    目前可以执行:

    • 生命值恢复或减少;

    • 能量和水分变化;

    • 针剂 Buff;

    • 正面或负面状态;

    • 多个效果组合。

    因此可以设计附带恢复效果的手雷、通过爆炸或破片命中为目标添加增益的手雷,或者附带特殊状态的爆炸物。

    当前触发入口仍然来自实际产生的伤害事件。也就是说,如果目标没有产生有效的伤害事件,对应的附加效果也不会触发。在多破片、多部位命中的情况下,一次爆炸可能产生多次独立事件。

    这部分仍在继续测试,后续会根据实际表现完善触发次数限制和去重逻辑,避免某些手雷因为破片数量过多导致效果叠加失控。

    【原创】【开发记录】治疗弹、Buff 刀、支援手雷已在 Fika 跑通|SPT 跨物品效果原型


    共用的效果系统

    五类物品并不是分别编写了五套固定逻辑,而是共用同一套效果执行系统。

    目前支持的效果包括:

    • 生命值变化;

    • 能量变化;

    • 水分变化;

    • 直接伤害;

    • 正面状态;

    • 负面状态;

    • 游戏内 Stimulator(针剂)Buff;

    • 多效果组合;

    • 规则触发概率;

    • 单个效果触发概率。

    系统可以调用游戏数据库中现有的针剂 Buff 组,并将它们附加到不同物品上。

    因此,原本属于针剂的效果,也可以通过弹药、医疗物品、食物、刀具或手雷触发。


    关于 Fika 联机兼容

    本轮对子弹、医疗物品、食物与饮料、刀具和手雷的验证,全部是在 Fika 联机战局 中完成的,并不是只完成单机测试后再推测联机兼容性。

    当前测试中,五类物品的数值效果、针剂 Buff 和多效果组合均能在联机环境中正常触发。

    联机使用时,各成员需要安装相同版本的:

    • 插件 DLL;

    • 效果规则文件;

    • Buff 清单;

    • 相关客户端配置。

    如果成员之间的规则或插件版本不同,可能出现属性显示和实际效果不一致的问题。

    另外,依赖命中或伤害事件的功能仍然会受到 Fika 房间设置影响,例如 Friendly Fire、伤害是否成立、多弹丸和多破片判定等。这套系统不会主动绕过 Fika 本身的房间规则。


    游戏内属性显示与客户端适配

    除了实际触发效果,我也在处理物品详情界面的属性显示。

    这部分并不是简单地给物品增加几行说明文字。

    EFT/SPT 现有客户端的物品属性显示链路,主要用于展示游戏中已经定义好的固定属性。插件规则中额外加入的生命、能量、水分、触发概率,以及通过规则额外调用的针剂 Buff,并不会自动出现在物品详情界面中。

    也就是说,即使效果已经能够在战局内正常触发,客户端仍然无法直接识别并显示这些自定义内容。

    因此,我需要额外适配物品属性的生成、注入和刷新流程,将插件中的效果规则转换成客户端能够显示的属性信息,并处理物品状态发生变化时的界面更新。

    当前已经验证:

    • 正面效果使用蓝色显示;

    • 负面效果使用红色显示;

    • 可以显示效果数值与触发概率;

    • 装弹、退弹后属性仍然保留;

    • 弹药合并、拆分后属性不会丢失;

    • 重复刷新物品时不会无限添加相同属性;

    • 在当前测试配置下,界面显示内容与实际运行规则保持一致。

    这部分适配的目标,是让玩家在使用物品之前,就能直接看到它包含的附加效果、具体数值和触发概率,而不是只能进入战局后通过实际触发来判断效果。


    可以做出哪些玩法?

    目前已经能够规划的内容包括:

    • 治疗弹和远程支援弹药;

    • 为队友添加临时 Buff 的增益弹;

    • 通过爆炸或破片命中触发恢复、增益效果的手雷;

    • 带毒刀具以及其他附带正面或负面状态的近战武器;

    • 带有针剂效果的食物和饮料;

    • 强力但存在副作用的医疗物品;

    • 围绕医疗、支援和状态效果设计的联机装备。

    这些只是比较直接的用法。

    由于触发方式和效果类型是分离的,后续可以通过规则组合出更多用途,不需要为每一种特殊物品单独编写插件逻辑。


    后续计划

    下一步准备将这套系统与物品数据库修改工具联动,提供图形化配置界面。

    计划中的基本流程是:

    1. 选择需要修改或者克隆的游戏物品;

    2. 选择弹药命中、一次使用动作正常完成、近战命中、爆炸或破片命中等触发方式;

    3. 添加生命、能量、水分或针剂 Buff;

    4. 设置数值和触发概率;

    5. 预览生成的数据库与插件规则;

    6. 检查物品 ID 和 Buff 名称;

    7. 生成客户端配置及联机安装包。

    这样在制作特殊物品时,就不需要手动编写大量 JSON 配置。


    当前测试环境

    本轮开发和验证使用的环境为:

    • SPT:4.0.13

    • EFT Build:40087

    • SPT Triggered Effects:0.2.0-alpha.5.5

    • Fika Client:2.3.9

    • Fika Server:2.3.5

    目前只能确认这套版本组合已经完成测试。

    SPT、EFT 或 Fika 更新后,内部接口和运行逻辑可能发生变化,因此其他版本需要重新构建和验证。


    当前开发状态

    目前五类物品的基础触发链路已经跑通,生命、能量、水分、针剂 Buff 以及多效果组合均完成了实际验证。

    接下来主要处理以下内容:

    • 多弹丸和多破片的触发次数;

    • 极端情况下的重复事件;

    • 联机成员之间的配置一致性;

    • 不同版本的兼容测试;

    • 安装包和文件校验;

    • 示例规则与使用文档;

    • 图形化配置工具。

    当前版本仍然处于开发和测试阶段,更适合个人使用或配置统一的私人联机环境,暂时不会作为正式稳定版本发布。


    碎碎念

    目前,治疗弹、特殊状态刀具、恢复手雷这些玩法,已经有了实际可运行的基础。

    其实早在两年前第一次发布作品时,我就参考过论坛里的相关帖子,尝试验证“子弹触发 Buff”是否可行。可惜当时技艺不精,对游戏内部逻辑和插件开发也知之甚少,最终没能把这条触发链路跑通。

    如今已经毕业,学识和开发经验也比当时增长了许多。再次回头做这件事,当年那些看似虚无缥缈的宏大设想,终于不再只能停留在设想里,已经可以从一条触发链路、一套规则开始,一点点变成真正能够运行的功能。

    后续我会继续完善边界情况、配置工具、安装流程和版本兼容,并根据测试结果逐步增加可以直接使用的示例规则。

    大家也可以聊聊,还想看到哪些特殊物品和玩法。

    比如:

    治疗弹、增益食物、特殊状态刀具、毒刀,或者给队友添加 Buff 的战术支援手雷?

    初窥堂奥

    [s-10]

    回复
    圆转纯熟

    [s-44]

    回复
    登堂入室

    太强了 [s-37]

    回复
    渐入佳境

    牛的

    回复
    初窥堂奥
    VIP2
    赠送了礼物[比心]
    回复
    初来乍到

    6666666666666

    回复

    请登录之后再进行评论

    登录
    离线版交流区
  • 今日 4
  • 内容 11837
  • 关注 6312
  • 聊天
    关注 117

    【招募】GRIFFIN TKF项目开工 期待你的加入 || 你是否想加入格里芬书写自己与人形的故事

    捐助我们

    • 微信
    • 支付宝
  • 签到
  • 任务
  • 发布
  • 模式切换
  • 偏好设置
  • 帖子间隔 侧栏位置: