SAIN 原版与 v4.2.0 增强版差异对照表
字数
1390 字
阅读时间
6 分钟
原版: Solarint/SAIN v4.1.3 | 兼容版: Moew-SAIN-For-3114 v4.3.0 日期: 2026-05-31
一、Bug 修复
| 问题 | 原版状态 | 兼容版修复 |
|---|---|---|
震聋机制 _BotDeafedTime 比较方向 | 反向,完全失效 | < → > 修正 |
| 对话声音列表传入错误 | 非枪声不触发 AI 反应 | 传入 _Conversations 修正 |
| 听觉定位 ratio 括号错误 | 精度梯度丧失 | 加括号修正 |
| NoBushESP 组件基类错误 | 生命周期注册失败 | BotBase → BotComponentClassBase |
| TrimExcess 不必要重分配 | 内存浪费 | 移除 |
二、感知公平性
| 功能 | 原版 | 兼容版 |
|---|---|---|
| 被击中转向精度 | 无视距离精确转向 | 30m内精确 → 100m外 60°误差 |
| 弹着点定位精度 | 恒定分散值 | 三阶分级(近/中/远)+ 连续命中缩减 |
| 视觉与倍镜 | 无倍镜判断 | 无镜 80m+ 极难发现 / 8x 镜有效视距 350m+ |
| 枪声定位与倍镜 | 无区分 | 8x 镜枪声定位难度 +80% |
| 开门行为 | 穿门 | 退后 0.5m + 延迟碰撞移除 |
三、战斗行为
| 功能 | 原版 | 兼容版 |
|---|---|---|
| 空仓行为 | 原地罚站或撤退 | 自动切手枪继续战斗 |
| 换弹战术 | 开阔地直接换弹 | 优先找掩体再换弹 |
| 队友阵亡 | 无反应,仅重选队长 | 语音 + 个性差异化反应 |
| 战斗结束 | 不主动恢复 | 自动治疗 + 补充弹药 |
| 击杀确认 | 立即转移目标 | 保持瞄准 2s 确认 |
| 腿部受伤 | 无移动惩罚 | 骨折 60% 移速禁止冲刺 |
四、LootingBots 整合
| 功能 | 原版 | 兼容版 |
|---|---|---|
| 搜刮时威胁感知 | LootingBots 不查询 SAIN 状态 | 检测 15m 内敌人/被压制自动中断 |
| 搜刮前安全位置 | 原地蹲下 | 检查掩体/区域安全才允许 |
| 小队搜刮警戒 | 各自搜刮 | 一人搜刮,其余自动守望 |
| 战后搜刮触发 | 手动 | 战后恢复完毕自动调用 ForceBotToScanLoot |
| 物品估价 | 每次反射调用 | 60s 缓存 |
五、战术系统
| 功能 | 原版 | 兼容版 |
|---|---|---|
| 战术投掷物 | 仅破片手雷 | 闪光弹清房(10%概率,F6开关) |
| 小队角色 | 无自动分配 | 基于武器类型分配狙击/突击/支援 |
| 兴趣点探索 | 无 | 标记交战/阵亡/枪声位置,和平状态探索 |
| 冲刺限制 | 无 | <10m/被压制/腿伤/濒死不冲刺 |
| 区域状态 | 无 | 已搜索/危险标记影响后续行为 |
六、武器隐蔽值
| 功能 | 原版 | 兼容版 |
|---|---|---|
| 装备隐蔽系统 | 8 个硬编码条目,2/6 类型 | 纯 JSON 驱动,覆盖全部 6 类 |
| 武器视觉暴露 | 无 | 长枪管/重型增加远距离被发现概率 |
| 武器听觉暴露 | 无 | 重型武器增加移动噪音 |
| F6 装备条目管理 | 仅编辑已有 | 新增"添加新条目"按钮 |
| 手枪听觉暴露 | 无 | 0.90x(移动更安静) |
| 机枪听觉暴露 | 无 | 1.30x(移动噪音更大) |
| 狙击枪视觉暴露 | 无 | 0.70x(远距离更易被看到) |
七、F6 GUI 新增
| 分类 | 字段数 | 控制范围 |
|---|---|---|
| 转向误差 | 4 | 梯度开关 + 三种距离/角度参数 |
| 受伤与限制 | 2 | 移速惩罚 + 冲刺限制 |
| 搜刮安全 | 2 | 威胁中断 + 掩体检查 |
| 声音定位 | 2 | 弹着点分级 + 倍镜枪声定位 |
| 倍镜视觉 | 2 | 开关 + 最大有效视距 |
| 开门 | 1 | 退后开关 |
| v4.2.0 战斗行为 | 5 | 切副武器/掩体换弹/阵亡反应/战后恢复/击杀确认 |
| v4.2.0 战术 | 2 | 闪光弹/小队角色 |
| v4.2.0 氛围 | 3 | 战斗疲劳/武器识别/异常警觉 |
| 武器暴露 | 2 | 听觉开关 + 视觉开关 |
八、v4.3.0 战斗逻辑优化
| 优化项 | 说明 |
|---|---|
| MoveToEngage 激活 | shallMoveToEngage() 方法已存在但未调用 — 原版 Bot 超出射程不推进。修复后插入决策链 |
| AggressionMultiplier 差异化 | 原版 8 种个性全为 1.0(无效)。现 GigaChad=2.0 ~ Coward=0.3,搜索/坚守/冻结统一缩放 |
| Regroup 小队集结 | shallRegroup() 逻辑完整但被注释 — 原版 Bot 散开后不归队。解除注释启用 |
| 室外谨慎 Freeze | 原版 Freeze 仅限室内。现 Rat/SnappingTurtle 室外听到敌人会先跑向掩体再蹲守 |
| 枪声 10% 漏听 | 新增 — 原版所有通过修正的枪声 100% 被听到,缺乏真实感 |
| 战后恢复 30s | 原版 10s 窗口过短,手术中 Bot 被中断。延长至 30s + 手术状态不掉落 |
| Holster 武器切换 | SelfAction 的 WEAPON_SWAP_ON_DRY 原版仅检查 SecondPrimaryWeapon,遗漏 Holster 槽 |
| LootingBots 武器分级 | LootingBots 外部修改 — 原版所有 Bot 统一 80% 切换概率,无 Boss/Scav 区别 |
| IsBotLooting API | LootingBots 新增 API + SAIN 反射调用 — 原版 LootingOverwatch 仅用启发式推断 |
| 手雷即时过期 | 原版手雷威胁仅靠 10s 超时清理,销毁后不立即清除 |
| 狗斗退出延迟 | 原版进入/退出阈值(10m/15m)边缘可能高频切换,新增 0.5s 锁 |
| Tagilla 死代码清理 | 移除 SAIN 自定义近战决策(BSG 原生 AI 自行处理) |
v4.3.0 统计: SAIN 7 文件 + LootingBots 2 文件 / 0 编译错误
总计: 原版 v4.1.3 与兼容版 v4.3.0 差异 50+ 项,零编译错误,全部 F6 GUI 可控。