【免费下载链接】ok-nte异环 后台副本挂机 Automation for Neverness to Everness项目地址https://gitcode.com/gh_mirrors/ok/ok-nte点击查看免费下载如果你在用ok-nte这款《异环》Neverness to Everness后台副本挂机工具或者正准备给它添加角色支持那么Combat Planner战斗规划器就是最值得先搞懂的一块。它是 ok-nte 自动战斗系统的队伍大脑负责决定什么时候切人、谁先放大招、队友之间如何衔接配合。本文用最少的代码带你从零理解 Combat Planner 的设计思路并学会如何为《异环》角色编写一套协作战斗策略。为什么自动战斗需要一个队伍大脑《异环》的战斗是四人队伍制每个角色有自己的终结技Q、技能E、弧盘R打得好要靠不断切人、在正确的时间点放正确的技能。想让程序无脑循环点击很难打出合理输出ok-nte 的解法是把决策权集中到一个组件——CombatPlanner源码位于 src/combat/planner/每个角色只负责声明我是什么定位、我会哪些动作、我什么时候想进场Planner 负责决策切人评分、动作执行、协作请求推进、站场兜底。这种声明与执行分离的设计是理解整个战斗系统的关键。官方开发文档在 docs/zh-CN/development/combat-planner.md写角色前建议先通读一遍。角色策略三件套定位、计划、长期策略每个角色类继承自 src/char/BaseChar.py只需覆盖 3 个钩子Combat Planner 就能接管整个队伍的战斗循环钩子作用一句话理解describe_role()返回RoleProfile声明队伍定位与站场偏好我是主C还是副Ccombat_plan(context)返回CombatPlan声明动作、入场诉求、进场流程进场后我该干什么combat_policies(context)声明随队伍生命周期生效的长期策略常驻规则帮我保留某个队友的技能槽第一步describe_role 声明角色定位RoleProfile有 4 个字段最常用的两个是roleMAIN_DPS/SUB_DPS/SUPPORT供request_role()匹配用field_preference站场倾向。主C 持续站场、副C 短时站场、辅助/准备位完成动作就轮换max_field_time允许 planner 内建站场兜底的最长时长默认 1.5 秒设 0 关闭combat_start_priority开战首切优先级大于 0 才参与首切候选。以副C角色零为例它的定位声明非常简洁见 src/char/Zero.pySUB_DPS定位、最多站场 1 秒。第二步combat_plan 声明动作目录combat_plan()通过self.plan(*actions, claimsNone, entryNone)创建CombatPlan。动作ActionIntent有 3 个关键属性tags动作标签表达动作意义如ULTIMATE_ACTIONQ、SKILL_ACTIONE、SUPPORT、HIGH_PRIORITYplanner 用标签打分只挑该角色当前最高分的就绪动作代表它参与切人竞争不会累加所有动作slot动作槽位协作匹配用的标准槽位SKILL/ULTIMATE/ARC/CUSTOM等比动作名更稳定协作请求优先用 slot 匹配can_execute / priority_ready前者是硬限制不满足则动作失败后者只影响切人评分不满足只是不吸引切人。好消息是普通动作不用手写BaseChar提供了现成 helper——click_ultimate_action()、click_skill_action()、click_arc_action()自动设置好 slot、默认标签和技能可用才执行的条件。零的完整计划只有一小段堪称最简模板def combat_plan(self, context): claims [] if self.skill_available(): claims.append(FieldClaim.normal(reasonZero skill instant cycle)) return self.plan( self.click_ultimate_action(), self.click_skill_action( can_executeself.should_use_skill, add_tagsPlanner.ActionTag.HIGH_PRIORITY, ), claimsclaims, )示例来自 src/char/Zero.py省略了 imports第三步进阶entry 定制进场后的动作流CombatPlan还有entry参数一个 Python generator用来表达进场后先做 AA 成功且 Q 可用就再补一发 E这类带分支的流程。yield action会真实执行动作并把结果ActionResult送回 generator只有成功时bool(result)才是 True所以可以自然写出条件分支def entry(): if (yield ultimate): self._perform_burst(context) # Q 成功后进入爆发输出循环 return if (yield skill): self._post_skill_dodge() else: yield fallback_dodge # Q/E 都不可用时的兜底普攻 return self.plan(skill, ultimate, fallback_dodge, entryentry)这是主C白藏的计划骨架完整实现在 src/char/Baicang.pyQ 成功后跑一段限时重击连招期间按冷却穿插弧盘与第二技能。几个容易踩的规矩同一个 action 在同一次入场中只真实执行一次需要有限次额外执行用action.repeat_for_entry()未提供entry时默认按actions声明顺序执行普通入场受 planner 的单次入场动作数上限约束默认 20见 core.py 的MAX_ACTIONS_PER_ENTRY创建 plan 时只声明、不发送输入一次性协作请求应在动作执行成功后再发布。FieldClaim让角色申请进场FieldClaim表达我现在应该被切进来不是动作。等级从低到高low→normal→high→critical逐级抬高普通入场评分strict则在下一次切人决策时直接选定该角色。使用建议Q/E 可用时不需要claim动作本身已经参与评分想之后抢回场用普通 claim限时窗口内必须回场用FieldClaim.strict()多个 claim 表达多个独立机制入口planner 只取最高等级那个不叠加分数普通 claim 可加expected_entry指定回场后优先尝试的槽位。协作请求角色之间如何打招呼角色动作成功后可以通过CombatContext发布协作请求planner 负责推进request_route(steps)固定顺序协作路线例如切入 A 执行完本轮 → B 放大招路线步骤用FollowupStep.for_switch(...)/FollowupStep.for_action(target, slot)描述request_switch(target)请求下一次普通调度切给某角色request_role(Planner.Role.SUPPORT)请求切给某个定位的角色request_tags({...})请求队友们各完成一次带指定标签的成功动作比如让任一队友完成一次治疗reserve_actions(reservations, until...)保留队友的某个动作槽位常用于这个 E 我要留给特定衔接。请求返回RequestHandle可以查询is_pending()/is_fulfilled()/is_expired()还能用until把不同请求的生命周期挂在一起比如 reservation 跟随 route 完成一起释放。长期策略放在combat_policies()临时窗口放在 entry flow 里——这是官方文档明确推荐的分工。新手上手清单为角色写策略的最快路径复制 src/char/Zero.py 这类最简角色当模板在 src/char/ 下新建你的角色类继承BaseChardescribe_role()定好定位主C 用MAIN_DPS 较大max_field_time副C/辅助用SUB_DPS/SUPPORT 短站场combat_plan()里用click_ultimate_action()/click_skill_action()声明 Q/E有复杂衔接再补entry需要抢回场加FieldClaim需要固定队友衔接加request_route参考官方文档 combat-planner.md 的行为摘要核对评分与执行规则角色代码只从src.combat.planner公共入口导入类型不要直接 import 内部模块core/requests/state等。切人执行的生命周期首切、切换、战斗会话由 src/combat/BaseCombatTask.py 统一管理角色代码不需要直接接触执行端。理解了这个分工——角色声明意图planner 负责调度——你就掌握了 ok-nte 战斗系统的核心也能读懂仓库里几乎所有角色的战斗策略实现。赞分享【免费下载链接】ok-nte异环 后台副本挂机 Automation for Neverness to Everness项目地址https://gitcode.com/gh_mirrors/ok/ok-nte点击查看免费下载相关推荐终极解决G Helper CPU功耗限制失效从驱动修复到代码级优化的完整指南终极解决G Helper CPU功耗限制失效从驱动修复到代码级优化的完整指南 作为华硕笔记本用户您是否曾遇到过这样的困扰明明在G Helper中设置了CP桌面应用系统编程Theo CLI工具完全指南命令行操作设计令牌的10个技巧Theo CLI工具完全指南命令行操作设计令牌的10个技巧 Theo是一个用于转换和格式化设计令牌Design Tokens的强大工具它提供了直观的命令开发工具计算机视觉最佳实践7大场景完整教程与实战指南 计算机视觉最佳实践7大场景完整教程与实战指南 想要快速掌握计算机视觉的核心技术 计算机视觉最佳实践项目 Computer Vision Recipe计算机视觉深度学习创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考