普通副本模式面向当天列表中实际可做的普通副本。金手指不会把副本数量永久写成一个固定值,而是在普通副本列表中识别“进入”按钮:当前识别到 2 个就执行 2 个,识别到 3 个就执行 3 个,并且这个模式不进入侠士副本。它仍然需要队长窗口,因为打开副本、推进剧情和队员准备都围绕队长与组队窗口展开。

进入列表前先完成窗口准备

先从主界面选择队长所用的梦幻西游手游时空客户端,确认绿色外沿围住正确窗口并提交。所有参与窗口保持可见,不要最小化。普通副本与 320、520 三选一,可与固定十轮捉鬼组合;如果勾选十轮捉鬼,执行顺序是先完成当前普通副本,再进入十轮捉鬼阶段。

队长窗口在运行期间可以正常读取新的窗口矩形,但客户端关闭重开后句柄会变化。运行前还应让活动入口、右侧任务栏和副本面板不被其他窗口覆盖。若队伍尚未准备好,先在游戏内处理明显的离线或弹窗状态,减少进入后短暂准备窗口被错过。

普通副本从列表计数、逐个进入到完成复核的状态流程
普通副本从列表计数、逐个进入到完成复核的状态流程

数量来自真实进入按钮,不来自日历推测

打开副本列表后,执行器在限定区域搜索完整“进入”模板,并根据队长窗口宽度选择合理的模板缩放。代码注释明确避免使用只覆盖 0.5 至 1.5 倍的窄范围,因为 2K 屏上放大的游戏窗口可能需要更大的模板比例。候选按钮经过位置和尺度约束后去重,才形成当前普通副本数量。

这一步的日志会写出“当前普通副本列表识别到 N 个”。若肉眼看到三个而日志只有两个,先检查第三个按钮是否被滚动、弹窗或窗口边缘遮住,再查看匹配分数和模板比例。不要直接把数量强行改成三;强行进入一个没有真实按钮的位置,会把后续所有状态带到错误页面。

每次进入都要重新确认页面状态

选择第 N 个普通副本时,流程先确保普通副本页签处于正确状态,再点击对应真实“进入”按钮。进入后页面可能出现队员准备、剧情提示或战斗状态,它们的出现时机不同。程序不会把“点击进入”当成副本完成,只把它视为当前副本已经交给后续状态机。

如果点击后仍停在列表,可能是按钮未生效、窗口焦点变化或弹窗阻挡;如果队长进入而队员未进入,重点查看准备按钮的短时扫描;如果已经进入剧情,则应转向右侧任务栏和战斗图标,不再反复点击列表中的旧位置。

队员准备采用少量同帧扫描

进入副本后的准备倒计时窗口较短。当前参数在进入后约半秒开始扫描,最多取两帧:第一帧命中后快速点击多个队员窗口,第二帧用于查漏;两帧没有目标就继续流程,而不是长期占用倒计时页面反复扫描。模板比例会参考各自窗口宽度,避免把普通画面里的小黄图标误当作准备按钮。

排查准备失败时,最重要的是保存进入后的完整同帧画面和窗口顺序。多次慢速截屏可能已经错过弹窗,后来看到的普通画面不能证明当时没有准备按钮。还要确认队员窗口没有最小化、没有被系统通知遮挡,并且前台切换能够成功。

剧情、战斗与完成提示分开判断

副本剧情期间,程序限制任务栏和剧情搜索区域,避免在全窗口内对相似黄色元素做低分匹配。检测到真实战斗图标后进入战斗等待;图标消失并不立即等于副本完成,因为最终完成提示可能晚几秒刷新。执行器会保留完成提示的等待窗口,并处理常见遮挡弹窗,再决定本副本是否结束或需要由外层重新进入。

非战斗剧情长时间没有有效状态变化时也有单独保护,避免沿用整个副本的最长时间一直等待。日志中的“正在处理剧情和战斗”“检测到副本完成”“本次副本失败”分别对应不同边界。用户应从最后一个成功阶段开始查,而不是只截取最终超时一行。

普通副本与十轮捉鬼的组合复核

当十轮捉鬼同时选中,普通副本完成后才进入固定十轮捉鬼。捉鬼会先看右侧是否已有任务,有就继续,没有才走活动领取。普通副本数量是运行时识别结果,捉鬼数量则是明确的十轮,两者不要混成“总共若干个任务”的模糊统计。

运行完成后核对三类日志:列表识别到的普通副本数量;每个副本的进入、准备和完成序号;是否按设置切换到十轮捉鬼。软件使用准备见金手指使用教程,视觉入口的模板比例原理可参考OpenCV 多尺度模板匹配实践