插件开发

AI3 审核:石头、冲锋、喷吐

Tank 连跳和投石按键被引擎丢掉、牛状态机 OnExit 从不跑、胖子胆汁弹报错、口水复制粘贴选错目标,8 月 13 日一并修了。

ai_tank3 1.0.0.8:OnPlayerRunCmd 现在把各子逻辑的返回值聚在一起再返回。扔石头距离限制、反头顶卡强制投石、连跳跳跃按键,以前会被引擎丢掉。挥拳锁视角改用 GameTime。投石出手高度按动画活动名解析,不再碰序列号和枚举数值碰巧一致。tank_swing_range 变更钩子换图不再重复挂。

ai_charger3 1.0.1.6:transitionTo 里旧状态 OnExit 先判断后读取,等于从来没跑过。空中急停、后跳、人为冲锋延时现在会在切状态时重置。player_spawn 改 Post 钩子。梯子上清跳 / 蹲之后正确返回 Plugin_Changed。

ai_boomer_3 3.0.6:L4D_OnVomitedUpon 校验 attacker,胆汁弹 attacker 为 0 不再每次报错。已有转喷队列就不再重建,避免强喷递归把目标堆膨胀。目标选择提前返回时的 trace 句柄会关,强制被喷循环不再标错人。最近生还者查询加了 0.2 秒缓存。

ai_spitter_3 3.0.4:「人多处」策略误用了被控目标坐标,还有 -1 索引。getTargetByPriority 在有人被控或只剩一人时漏 ArrayList。场上 1 名生还者也能按路程选。人群距离累加前先清零。恒假的射线过滤器删了。

ai_path_movement.inc 给起跳安全检查失败加了 0.1 秒节流。撞墙 / 断层 / 落点危险在冷却内不再重试,四个 AI 的地面起跳都走这套。特感被地形卡住时 hull / ray 开销大概降到原来的 1/6(60 tick),多牛阵容最明显。无视野的角度拒绝提到 hull trace 之前,被拒绝的尝试不再打射线。