资讯动态

ZenlessZoneZero-OneDragon 丽都城募(大月卡)画面识别与自动领奖流程全解

发布时间:2026/10/2 17:26:50 来源:尧图企业网站定制
桌面应用RPA计算机视觉【免费下载链接】ZenlessZoneZero-OneDragon绝区零 一条龙 | 全自动 | 自动闪避 | 自动每日 | 自动空洞 | 支持手柄项目地址https://gitcode.com/gh_mirrors/ze/ZenlessZoneZero-OneDragon点击查看免费下载本文是 OneDragon 开源项目「绝区零 一条龙」系列画面文档之一以 docs/game/screens/丽都城募.md 为骨架结合仓库内city_fund模块源码screen_info 配置 与 city_fund_app.py展开。读完本文你将掌握丽都城募画面在游戏菜单中的入口位置与 5 个 Tab 子态结构、city_fundapp 的自动化领奖状态机成长任务→等级回馈→返回大世界、以及is_preciseFalse下如何用 OCR area 锚点完成画面匹配与稳定领奖。1. 画面概览丽都城募是什么「丽都城募」是绝区零游戏内的大月卡Battle Pass界面玩家可在此领取成长任务与等级回馈两类周期奖励。在 OneDragon 项目中它对应screen_id: city_fund见 city_fund.yml 首行并有一个专用自动化 appcity_fund负责零消耗自动领奖APP_IDcity_fundAPP_NAME丽都城募默认分组DEFAULT_GROUP True随每日日常任务组自动运行优先级PRIORITY 800city_fund_const.py该画面文档在 docs/game/screens/README.md 中被列为非战斗 app 建档进度 · 已建档纯 UIMCP 可复现的一员与email邮件、engagement_reward快捷手册-日常、ridu_weekly丽都周纪等并列属于纯界面、无战斗、可完全自动化的场景。2. 何时出现与状态流转2.1 入口路径从游戏主菜单底部点击「丽都城募」Tab锚点坐标约~(1467,1042)即可进入随后city_fundapp 承担领奖逻辑领取成长任务 等级回馈奖励。对应源码入口见 city_fund_app.pyoperation_node(name打开菜单, is_start_nodeTrue) def open_menu(self) - OperationRoundResult: op GotoMenu(self.ctx) return self.round_by_op_result(op.execute()) node_from(from_name打开菜单) operation_node(name点击丽都城募) def click_fund(self) - OperationRoundResult: area self.ctx.screen_loader.get_area(菜单, 底部列表) return self.round_by_ocr_and_click(self.last_screenshot, 丽都城募, areaarea, success_wait1, retry_wait1)第一步GotoMenu先保证进入菜单画面第二步在菜单「底部列表」areamenu.ymlrect200,924 → 1728,1058内做 OCR命中文字「丽都城募」后点击成功等待 1 秒、失败重试 1 秒。2.2 五个 Tab 子态进入后为丽都城募主界面顶部有5 个 Taby 坐标约~38选择奖励默认/ 兑换商店 / 等级回馈 / 成长任务 / 城募赠礼。子态入口出口city_fund 是否使用① 选择奖励默认菜单点丽都城募等级网格 购买等级 / 计划升级不主动交互② 成长任务点成长任务 Tab任务列表 任务-全部领取 → 领取✅ 使用③ 等级回馈点等级回馈 Tab等级奖励 等级-全部领取✅ 使用④ 开启丽都城募⚠️ 待条件账号未开通首次解锁流程appclick_task点「开启丽都城募」「按钮-确认」→ 开通 → ①✅ 使用兑换商店 / 城募赠礼点对应 Tabcity_fund 不用❌ 跳过返回左上返回→ 菜单由BackToNormalWorld兜底值得注意兑换商店与城募赠礼两个 Tab 虽然存在但city_fundapp 不消费它们自动化只关心与领奖相关的成长任务 / 等级回馈两个子态。3. 识别特征稳定锚点画面识别依赖稳定锚点而非全图匹配5 Tab 顶部y~38选择奖励 / 兑换商店 / 等级回馈 / 成长任务 / 城募赠礼其中成长任务、等级回馈两个 area 是主要 OCR 锚点配置见 city_fund.yml分别为 rect1436,26→1588,76与1218,20→1362,88。等级网格LV.38-45 REWARDS出现在「选择奖励 / 等级回馈」Tab。任务列表成长任务 Tab含任务-全部领取锚点坐标约~(1675,1014)配置 rect1592,982→1848,1056。易变值动态不作为锚点等级 / 任务 / 进度 / 本期剩余天数。这些 area 均以textlcs_percent方式做 OCR 相似度匹配如「成长任务」lcs_percent: 0.5、「开启丽都城募」因文字较长提高到lcs_percent: 0.7模板匹配阈值统一0.7且全部id_mark: false不参与画面唯一性判定。4. 识别快照4.1 选择奖励默认(city_fund_default2026-07-11)匹配画面丽都城募is_preciseFalse靠成长任务 / 等级回馈 area 命中。OCR 内容选择奖励 / 兑换商店 / 等级回馈 / 成长任务 / 城募赠礼 LV.38-45 REWARDS 基础方案 / 成长计划 购买等级 / 计划升级 本期剩余 15 天。4.2 成长任务 (city_fund_task2026-07-11)匹配画面丽都城募is_preciseFalse。area 命中成长任务0.999/ 等级回馈0.999/任务-全部领取「全部领取」1675,1014相似度 0.9996。OCR 内容今日 / 本周 / 本期任务 登录游戏 / 获取 18000 丁尼 / 累计消耗 160 点电量 / 活跃度达 400 已领取 全部领取。布局vision任务分类今日 / 本周 / 本期 任务行描述 进度 已领取 右下「全部领取」。4.3 等级回馈⚠️ 待补点等级回馈 Tab → 等级奖励 等级-全部领取area。2.6 版本行为全部领完后按钮会消失代码以双按钮缺失判定完成见下文第 6 节源码分析city_fund_app.py。快照待补需等级回馈可领时实拍。5. 可交互元素5 Tab 切换。等级奖励格选择奖励 / 等级回馈。任务-全部领取成长任务~(1675,1014)。等级-全部领取等级回馈等级满后出现。购买等级 / 计划升级选择奖励展示性screen_info 未建模。左上返回回菜单。city_fund.yml中共建模 6 个 area成长任务、等级回馈、等级-全部领取、任务-全部领取、开启丽都城募、按钮-确认覆盖了上述全部交互点city_fund.yml。6. 源码级流程city_fund 领奖状态机city_fundapp 是一个基于 OneDragon 操作节点框架operation_node/node_from装饰器驱动的状态机完整链路如下city_fund_app.py打开菜单 → 点击丽都城募 → 点击成长任务 → 任务全部领取 → 点击等级回馈 → 等级全部领取 → 返回大世界6.1 点击成长任务首次开通兜底node 兼容 ④ 子态click_task是最有技巧的一个节点city_fund_app.pynode_from(from_name点击丽都城募) node_from(from_name点击成长任务, status按钮-确认) operation_node(name点击成长任务) def click_task(self) - OperationRoundResult: result self.round_by_find_and_click_area(self.last_screenshot, 丽都城募, 开启丽都城募) if result.is_success: return self.round_wait(statusresult.status, wait1) result self.round_by_find_and_click_area(self.last_screenshot, 丽都城募, 按钮-确认) if result.is_success: return self.round_success(statusresult.status, wait1) return self.round_by_find_and_click_area(self.last_screenshot, 丽都城募, 成长任务, success_wait1, retry_wait1)执行顺序说明先探测「开启丽都城募」area——若账号未开通大月卡此处会命中点击后等待 1 秒进入开通弹窗再探测「按钮-确认」area——若上一步刚进入开通弹窗此处命中「确认」即完成开通返回状态按钮-确认并让流程通过node_from(..., status按钮-确认)自循环回到本节点把子态收敛到 ①选择奖励默认态后再走正常领奖若两个 area 均未命中说明账号已开通直接点「成长任务」Tab成功等待 1 秒、失败重试 1 秒。这正是文档中「④ 开启丽都城募」子态的处理实现同一个 node 用三次round_by_find_and_click_area探测兼容已开通 / 未开通两种账号状态避免单独建模开通流程。6.2 任务全部领取click_task_claimcity_fund_app.py在「成长任务」子态点击任务-全部领取arearect1592,982→1848,1056success_wait1, retry_wait1。6.3 点击等级回馈click_levelcity_fund_app.py点击等级回馈arearect1218,20→1362,88切换到等级奖励子态。6.4 等级全部领取双按钮缺失判定2.6 行为click_level_claim是处理版本兼容的核心节点city_fund_app.pynode_from(from_name点击等级回馈) node_notify(whenNotifyTiming.CURRENT_SUCCESS) operation_node(name等级全部领取) def click_level_claim(self) - OperationRoundResult: # 2.6版本更新等级回馈领取已领取过全部领取按钮是会消失的 for screen_name, area_name in [ (丽都城募, 等级-全部领取), (丽都城募, 按钮-确认), ]: result self.round_by_find_and_click_area(self.last_screenshot, screen_name, area_name, success_wait1) if result.is_success: return self.round_retry(statusresult.status, wait1) return self.round_success() # 两个按钮都未找到说明已领取完毕关键点依次探测等级-全部领取rect1240,982→1496,1076与按钮-确认rect874,600→1074,860两个 area任一命中则点击并round_retry留在本节点继续循环直至把等级奖励全部领完当两个按钮都找不到时才round_success()判定完成——这正是文档中「2.6 行为全部领完后按钮消失代码以双按钮缺失判定完成」的源码证据节点带有node_notify(whenNotifyTiming.CURRENT_SUCCESS)成功时向用户发送通知对应city_fund_const.py中NEED_NOTIFY True。6.5 返回大世界back_to_worldcity_fund_app.py在领奖成功或成功判定完成后调用BackToNormalWorld返回大世界结束整个 app 周期。补充细节在 back_to_normal_world.py 的注释中特意说明——该操作必须放在完成判定之前否则在丽都城募 app 中若购买了大月卡会误点击已完成购买弹窗按钮对应 issue #2005。6.6 运行记录与刷新周期CityFundAppFactorycity_fund_app_factory.py将 app 与运行记录绑定def create_run_record(self, instance_idx: int) - AppRunRecord: return CityFundRunRecord( instance_idxinstance_idx, game_refresh_hour_offsetself.ctx.game_account_config.game_refresh_hour_offset, )CityFundRunRecordcity_fund_run_record.py基于AppRunRecord以game_refresh_hour_offset对齐游戏每日刷新时间保证成长任务这类每日刷新任务每天只跑一次、不重复领取同时由于DEFAULT_GROUP True它会跟随日常任务组自动调度执行。7. 画面识别精度说明is_preciseFalse文档备注中明确is_preciseFalse——丽都城募画面未启用精准判定因为id_mark锚点不足以唯一定位该画面。含义画面匹配靠 OCR area成长任务 / 等级回馈等文字命中即可不需要全屏模板匹配相应地在 screen_info 配置中所有 area 均为id_mark: false好处是面对等级 / 任务 / 进度 / 本期剩余天数等动态内容时依然稳定坏处是理论上存在与其他含相似文字的画面的混淆风险因此实际自动化中由city_fundapp 的状态机先点 Tab、再点领取按钮保证流程有序推进。8. 实战要点小结维度关键信息入口菜单底部「丽都城募」Tab ~(1467,1042)screen_infoassets/game_data/screen_info/city_fund.yml共 6 个 areaapp 源码src/zzz_od/application/city_fund/ 下 4 个文件领奖链路成长任务任务-全部领取→ 等级回馈等级-全部领取→ 返回大世界版本兼容2.6 等级回馈全部领完按钮消失以「等级-全部领取」「按钮-确认」双按钮缺失判定完成账号兼容未开通账号走「开启丽都城募」「按钮-确认」开通后自动收敛到默认态消耗无消耗不花电量、不花菲林刷新每日刷新任务按game_refresh_hour_offset对齐游戏刷新时刻精度is_preciseFalse依赖成长任务 / 等级回馈 OCR area 锚点结合画面文档丽都城募.md、screen_info 配置city_fund.yml与状态机源码city_fund_app.py即可完整理解并复现丽都城募自动领奖这一零消耗日常模块也可在新增游戏版本导致按钮布局变化时据此定位并调整对应 area 的 rect 与匹配参数。赞分享桌面应用RPA计算机视觉【免费下载链接】ZenlessZoneZero-OneDragon绝区零 一条龙 | 全自动 | 自动闪避 | 自动每日 | 自动空洞 | 支持手柄项目地址https://gitcode.com/gh_mirrors/ze/ZenlessZoneZero-OneDragon点击查看免费下载相关推荐ZenlessZoneZero-OneDragon 屏幕识别规范解读道具处理界面与「合成电池」自动化全流程ZenlessZoneZero OneDragon 屏幕识别规范解读道具处理界面与「合成电池」自动化全流程 「道具处理」是《绝区零》仓库中的批处理子界面支持桌面应用RPA计算机视觉ZenlessZoneZero-OneDragon模型训练教程提升自动识别准确率ZenlessZoneZero OneDragon模型训练教程提升自动识别准确率 引言 你是否还在为绝区零自动战斗中技能释放时机不准、敌人攻击闪避不及时而烦恼桌面应用RPA计算机视觉ZenlessZoneZero-OneDragon 的 Screen Scope 分层迁移指南基于 app_id 的画面识别隔离实践ZenlessZoneZero OneDragon 的 Screen Scope 分层迁移指南基于 app_id 的画面识别隔离实践 本篇指南围绕 Zenle桌面应用RPA计算机视觉创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑