Skip to content

自动倒卖失败 #1385

@Lefengisbee

Description

@Lefengisbee

问题描述及复现步骤

  1. 进入好友飞船,进入弹性需求界面后失败
  2. 倒卖完成后,加载时间过长导致失败

下述可能导致该问题的位置

进入界面后失败前,导出以下日志
(可在 maa.bak.log 中找到)
[2026-03-17 21:46:15.600][DBG][Px23988][Tx52128][TemplateMatcher.cpp][L45][MaaNS::VisionNS::TemplateMatcher::analyze] ResellShipPage1Click ...下略 [best_result_={"box":[29,359,62,33],"score":0.980379}] [cost=36ms] [param_.template_=["Resell/storeItem.png"]] [templates_.size()=1] [param_.thresholds=[0.800000]] [param_.method=5] [param_.green_mask=false]

最佳坐标为 [29,359,62,33]
但由于 ResellShipPage1Click 和 ResellShipPage2Click 的 target_offset 为 [0, 0, 40, -100]
输出结果为 [29,359,102,-67],h 坐标为负值,导致下面结果
[2026-03-17 21:46:15.818][ERR][Px23988][Tx52128][Actuator.cpp][L178][MaaNS::TaskNS::Actuator::click] failed to get target rect [name=ResellShipPage1Click]
得到无效矩形后,任务失败
这个 pull request #1288 有尝试解决该问题,不知道为什么没有合入代码
将 offset 改为 "target_offset": [40,-100,0,0],即使用水平位置偏移而不是宽高偏移后,就能得到有效矩形,倒卖成功

但倒卖成功、离开飞船后,任务再次失败。失败前导出以下日志
(可在 maa.log 中找到)

[2026-03-17 22:04:25.478][INF][Px23396][Tx4517][Utils/EventDispatcher.hpp][L65][MaaNS::EventDispatcher::notify] !!!OnEventNotify!!! [handle=true] [msg=Node.Recognition.Failed] [details={"focus":null,"name":"ResellShipReturnOwnShip","reco_details":{"algorithm":"TemplateMatch","box":null,"detail":{"all":[{"box":[239,9,33,18],"score":0.260267}],"best":null,"filtered":[]},"name":"ResellShipReturnOwnShip","reco_id":400000398},"reco_id":400000398,"task_id":200000001}]
[2026-03-17 22:04:25.480][DBG][Px23396][Tx4517][ColorMatcher.cpp][L33][MaaNS::VisionNS::ColorMatcher::analyze] ColorMatch [all_results_=[{"box":[0,462,0,0],"count":0}]] [filtered_results_=[]] [best_result_=null] [cost=0ms] [param_.count=1] [param_.method=4] [param_.connected=false]
[2026-03-17 22:04:25.480][DBG][Px23396][Tx4517][Recognizer.cpp][L401][MaaNS::TaskNS::Recognizer::and_] And: sub recognition failed
[2026-03-17 22:04:25.480][DBG][Px23396][Tx4517][Recognizer.cpp][L420][MaaNS::TaskNS::Recognizer::and_] And recognition failed [name=WaitLoadingColor]
[2026-03-17 22:04:25.481][WRN][Px23396][Tx4517][PipelineTask.cpp][L167][MaaNS::TaskNS::PipelineTask::run_next] Task timeout [pretask.name=ResellShipEndVisitConfirm] [duration_since(start_clock)=5077ms] [pretask.reco_timeout=5000ms]

ResellShipEndVisitConfirm 要求 ResellShipReturnOwnShip 或 WaitLoadingColor 在 5000 毫秒内完成,但由于返回自己飞船的加载时间过长,均未能在时限内完成,导致超时。即使使用 SSD,也有较高概率超过 5000 毫秒。
建议将 timeout 缓冲时间调整为 30000~60000 毫秒,以给予玩家足够的加载时间(我将其调整为 50000 后,任务可以顺利完成)。

如果需要,我也可以提交一个 pull request 来加入上述建议的修改。

日志文件

MaaEnd-logs-v2.1.0-20260317-224140.zip

软件画面截图

当时忘记截图,测试时多次重启。这是重新复现问题后的截图。
Image

游戏画面截图

Image Image

版本信息截图

Image

调试图片 (仅识别问题)

No response

dmp 文件 (仅崩溃闪退问题)

No response

其他信息

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions