描述
这是什么虫子,它又是怎么运作的?
关键在于:随从的路线不是为你量身定制的,而是基于你位置的“快照”,并且这个快照只会在你走远到一定程度后才会刷新。所以,你的伙伴会全速冲向这条过时路线的终点,然后开始为“到达”而减速……而你早在很久前就已离开了那个位置。正是在这个机动过程中,引擎直接断开了他的路径跟随代理。砰,这就是你看到的“冲刺→停顿→转身→再冲刺”的循环。
想象一下GPS提示“您已到达”,但路其实还在延伸,而导航已经卡住了。那就是你的帮手在那2-3秒里脑袋的状态。
而且有时候(为什么???)代理甚至根本不会重新上线。路线构建好了,路线也交付了,但就是没人再驾驶它了,那家伙就站在那儿转着头,直到有什么东西踢他一脚让他重新动起来。至于那些真正无望的情况,比如卡在地形里、水里、人群中,引擎对开放世界随从完全没有紧急追赶传送机制。那个机制只存在于坐着/睡着的NPC身上。这个bug从2011年起就一直在引擎里躺着,没人管过。
插件功能:每个跟随周期都会将路径与您的实时位置进行比对,一旦检测到“抵达虚无”状态,便会立即向您当前实际所在位置发起新的请求,跟随者会直接穿过该点,不会停顿。脱离的代理会被强制重新上线,转向锁定解除。真正卡住的跟随者会在几秒内被传送至您身边。且仅作用于实际跟随您的单位,原地等待指令、商队、守卫等均不受影响。
兼容性✓ 随从框架(AFT、NFF、EFF)
✓ 自定义随从
✓ 动画与移动模组
✓ 任何使用标准跟随包的内容
需求SKSE64 ·
地址库
推荐模组以获得最佳效果:
龙裔军团狗狗对话故事管理器 - 禁用安装使用模组管理器安装,或将DLL文件放入
Data/SKSE/Plugins/.
版本历史v1.x - 检测到卡顿,并将追随者向前推进。
v2.0 - 使用真正的引擎级修复来全面重写。
v2.01 - 更安全的走廊清理,为战斗/骑乘/坐下状态增加了防护门,减少了日志噪音。
v3.0:
- VR 支持
- 改进的线程安全性
- 更精准的失速检测
所有检查的统一验证路径
- 键入型跟随目标验证
安全角色提取
- 提升了稳定性与崩溃防护
v3.1:
- 扩展对非原版同伴的支持。新版本修复了更广泛的自定义同伴问题。
- 改进日志记录。该模组现在会记录它修复的每个同伴的名字和FormID。
- 单一日志文件。日志现已整合到一个文件中:tesfankeepup.log。
v4.0新增内容:
- 已找到并确认这整个卡顿系列的真正根源:跟随路线是基于你位置的过时快照构建的。插件现在能在问题发生前就阻止它,而不是事后补救,检测器仅针对真实bug特征触发,空闲的NPC不受影响。
- 拯救绝望的搁浅者:若同伴因地形、水域或人群而远远落后,系统将在检测到后的1-2秒内将其传送至你身边。坐姿或睡眠中的同伴则通过引擎自带的“起身追赶”机制被唤醒,不会出现突兀的瞬移。顺便一提,引擎本身在开放世界中并未提供任何搁浅救援功能。
如果整支小队同时卡住,系统会逐一传送他们,而不是一次性全部传送,以避免大规模传送时出现引擎竞争问题。
当前实际剧集日志(tesfankeepup.log,[fsm]标签),记录从掉队到修复期间的每一次停顿,包含持续时间及修复方式。所有旧的诊断噪音已移除
- 全面内部重构为模块化架构,引擎知识、决策逻辑和干预措施相互分离,并在安装时分别验证。在游戏更新中更加稳健,维护起来也容易得多
现在你跟随时,追随者会立刻冲刺,而不是等你落后半个屏幕才跟上。即使长途奔跑,队伍尾巴也能紧跟你(可在INI中关闭此功能)。
狗和其他动物伙伴(它们完全无法冲刺)在落后时会获得速度加成,追上后加成消失
每帧寻路预算已提升,原版的2(为什么???)增加到12,多个随从组成的队伍在疾跑途中不再让寻路器饿肚子
- tesfankeepup.ini 记录了所有机制和阈值,并可进行调优,包括观察者模式、仅遥测、无干预,用于前后对比
- 可靠性:每个挂钩和每个虚表槽位在安装前都会经过检查,未知的游戏版本只会让该功能悄然关闭,而不会导致崩溃。所有时间均与小队规模和帧率无关。
v4.1 版本更新内容:- 已修复根本原因:损坏的导航网格数据中存在单向三角形链接(A知晓B,但B不知晓A)。这导致随从们永远卡在重试同一条失败路径上,更严重的情况下,会困在一个永远无法走出的死胡同里,整个队伍都堵在他们身后。
修复内容:追随者路径现在使用引擎自身的回退标志,可即时弥合破损接缝。不会再停顿或堆积。适用于任何加载顺序,无需修补任何人的导航网格。
- 救援重定位已重做为真正的最后手段:绝不会触碰正在移动的随从,会先等待温和修复,一次只移动一个随从,并将他们放置在您附近而非您身上。现在这是一个罕见的备用机制,而非主要机制。
更智能的行动升级:先软性路径修复,再路径重置,最后重新部署,并如实跟踪进度。
- 修复“将随从传送至其他区域”的问题:现在模组仅在您真正处于同一空间时才会生效,在通过门或快速旅行后的8秒内保持静默,并忽略因区域切换而产生的距离读数。
- 新的INI设置
iPathFallbackMode (0 = 关闭,1 = 仅在卡住时,2 = 保护所有随从路径,默认)。旧版
b路径回退修复 钥匙还能用。
v4.2版本更新内容:
- iPathFallbackMode 默认值从 2 改为 1。模式 1 保留了卡住跟随者的修复,同时不会在崎岖地形或水中产生副作用。
- 救援传送现在默认为关闭(bDeepStallNet = 1 以启用)。卡住的随从只会等待你,原版风格。
引擎自带的追越虫洞保持不变(事实证明它并无害处,也从未与模组的修复产生冲突)。将bDisableVanillaWarp设置为1可将其禁用,默认为0。
- 添加了针对玩家无法到达且不在导航网格上时重复无意义传送的保护措施。
- 游泳中的追随者现在完全不受干扰——改由引擎自身的逻辑处理。
冲刺追赶现在会在300单位而非100单位时解除,因此追随者会平滑减速,而不会猛撞到你身上。
- 现在,只有当跟随者的路径真正中断时,才会触发路径重置,而不仅仅是因为他们移动缓慢。
- 日志现在安静多了,只记录对诊断真正有用的内容。
- 修复了生物速度增益效果,使其不再永久生效或随时间叠加。
忙碌中的追随者(如锻造、坐下、睡觉、骑马等)现在会被所有机制完全忽略。
现在,身体无法移动的追随者——如被麻痹、击倒或昏迷——会被正确判定为“倒地”,而非“卡住”。
- 小动物速度加成现在会在战斗期间关闭,并在战斗结束后恢复(如果仍落后的话)。
修复了iPathFallbackMode = 2用户的一个罕见边界情况,该情况下新的随从路径可能绕过保护。
- 救援传送现在会在发射前双重检查目标,并在任何异常情况下安全回退。