From 75e8ed7eca01f77c098b9dbb760534999d25368d Mon Sep 17 00:00:00 2001 From: Chen Shaokun Date: Tue, 6 Aug 2024 11:28:00 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E6=B8=85=E6=97=A5=E5=B8=B8=EF=BC=8C=E5=8C=85=E6=8B=AC=E6=94=B6?= =?UTF-8?q?=E9=92=B1=E3=80=81=E5=B7=A5=E4=BD=9C=E3=80=81=E7=A4=BE=E5=9B=A2?= =?UTF-8?q?=E9=80=81=E7=A4=BC=E3=80=81=E7=A1=AC=E5=B8=81=E6=8A=BD=E5=A5=96?= =?UTF-8?q?=E3=80=81=E5=95=86=E5=BA=97=E8=B4=AD=E7=89=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 收钱:无条件点击 - 工作:检测上一份工作完成后图标右上角的红点。选择偶像时,优先寻找空闲的好调偶像,如果找不到就用第一个位置的(咲季) - 社团送礼:发布默认物品(sense vocal note)的请求,并打开募集列表从上到下依次送礼 - 硬币抽奖:用社团硬币抽奖 - 商店购物:到商店买一件推荐物品 --- assets/resource/base/pipeline/daily.json | 478 +++++++++++++++++++++++ 1 file changed, 478 insertions(+) create mode 100644 assets/resource/base/pipeline/daily.json diff --git a/assets/resource/base/pipeline/daily.json b/assets/resource/base/pipeline/daily.json new file mode 100644 index 0000000..e9d4af7 --- /dev/null +++ b/assets/resource/base/pipeline/daily.json @@ -0,0 +1,478 @@ +{ + "Daily_Begin": { + "next": "活動費_Collect", + "_doc": ["自动清日常。TODO:1. 选择お仕事角色时,如果咲季正在工作,选择默认位置时或许会出错,需要测试 2. 如果社团有别人送的礼物,进社团时可能会卡住(因为忘截图了不记得收礼页面有什么。明天要记得截图)"] + }, + "活動費_Collect": { + "action": "Click", + "target": [70, 560, 1, 1], + "next": "活動費_Wait_Popup" + }, + "活動費_Wait_Popup": { + "recognition": "OCR", + "expected": "保管上限", + "next": "活動費_Close" + }, + "活動費_Close": { + "recognition": "OCR", + "expected": "閉じる", + "action": "Click", + "next": "お仕事_Open" + }, + "お仕事_Open": { + "recognition": "ColorMatch", + "roi": [80, 650, 25, 25], + "lower": [254, 17, 72], + "upper": [255, 19, 74], + "action": "Click", + "Target": [70, 680, 1, 1], + "next": [ + "お仕事_Done_FLAG", + "お仕事_Finish_Previous", + "お仕事_Choose" + ] + }, + "お仕事_Finish_Previous": { + "is_sub": true, + "recognition": "OCR", + "expected": "完了", + "index": 1, + "action": "Click" + }, + "お仕事_Choose": { + "is_sub": true, + "recognition": "OCR", + "expected": "お仕事を選択", + "pre_wait_freezes": 500, + "action": "Click", + "next": "お仕事_Wait_Idol" + }, + "お仕事_Wait_Idol": { + "recognition": "OCR", + "expected": "選択する", + "next": [ + "お仕事_Choose_Done_FLAG", + "お仕事_Choose_Idol" + ] + }, + "お仕事_Choose_Done_FLAG": { + "recognition": "OCR", + "expected": "12時間", + "next": "お仕事_Choose_Time" + }, + "お仕事_Choose_Idol": { + "is_sub": true, + "next": [ + "お仕事_Idol_Available_FLAG_00", + "お仕事_Idol_Available_FLAG_01" + ], + "_doc": "依次检查每个偶像是否在工作、是否好调。若遇到空闲的好调偶像则直接选择并返回上一级;若未找到则则右划4格并返回;若已经右划到底,则检查最右边的偶像(拉到末端时坐标不同);若检查完最右边偶像还没找到空闲的好调偶像,则选中默认偶像并返回" + }, + "お仕事_Idol_Available_FLAG_00": { + "recognition": "OCR", + "roi": [9, 705, 160, 160], + "expected": "お仕事中", + "inverse": true, + "next": [ + "お仕事_Choose_Idol_00", + "お仕事_Idol_Available_FLAG_01" + ] + }, + "お仕事_Choose_Idol_00": { + "recognition": "ColorMatch", + "roi": [9, 705, 160, 160], + "lower": [14, 180, 254], + "upper": [16, 182, 255], + "count": 500, + "action": "Click", + "next": "お仕事_Choose_Idol_Confirm" + }, + "お仕事_Idol_Available_FLAG_01": { + "recognition": "OCR", + "roi": [161, 705, 160, 160], + "expected": "お仕事中", + "inverse": true, + "next": [ + "お仕事_Choose_Idol_01", + "お仕事_Idol_Available_FLAG_02" + ] + }, + "お仕事_Choose_Idol_01": { + "recognition": "ColorMatch", + "roi": [161, 705, 160, 160], + "lower": [14, 180, 254], + "upper": [16, 182, 255], + "count": 500, + "action": "Click", + "next": "お仕事_Choose_Idol_Confirm" + }, + "お仕事_Idol_Available_FLAG_02": { + "recognition": "OCR", + "roi": [313, 705, 160, 160], + "expected": "お仕事中", + "inverse": true, + "next": [ + "お仕事_Choose_Idol_02", + "お仕事_Idol_Available_FLAG_03" + ] + }, + "お仕事_Choose_Idol_02": { + "recognition": "ColorMatch", + "roi": [313, 705, 160, 160], + "lower": [14, 180, 254], + "upper": [16, 182, 255], + "count": 500, + "action": "Click", + "next": "お仕事_Choose_Idol_Confirm" + }, + "お仕事_Idol_Available_FLAG_03": { + "recognition": "OCR", + "roi": [465, 705, 160, 160], + "expected": "お仕事中", + "inverse": true, + "next": [ + "お仕事_Choose_Idol_03", + "お仕事_Idol_Available_FLAG_10" + ] + }, + "お仕事_Choose_Idol_03": { + "recognition": "ColorMatch", + "roi": [465, 705, 160, 160], + "lower": [14, 180, 254], + "upper": [16, 182, 255], + "count": 500, + "action": "Click", + "next": "お仕事_Choose_Idol_Confirm" + }, + "お仕事_Idol_Available_FLAG_10": { + "recognition": "OCR", + "roi": [9, 857, 160, 160], + "expected": "お仕事中", + "inverse": true, + "next": [ + "お仕事_Choose_Idol_10", + "お仕事_Idol_Available_FLAG_11" + ] + }, + "お仕事_Choose_Idol_10": { + "recognition": "ColorMatch", + "roi": [9, 857, 160, 160], + "lower": [14, 180, 254], + "upper": [16, 182, 255], + "count": 500, + "action": "Click", + "next": "お仕事_Choose_Idol_Confirm" + }, + "お仕事_Idol_Available_FLAG_11": { + "recognition": "OCR", + "roi": [161, 857, 160, 160], + "expected": "お仕事中", + "inverse": true, + "next": [ + "お仕事_Choose_Idol_11", + "お仕事_Idol_Available_FLAG_12" + ] + }, + "お仕事_Choose_Idol_11": { + "recognition": "ColorMatch", + "roi": [161, 857, 160, 160], + "lower": [14, 180, 254], + "upper": [16, 182, 255], + "count": 500, + "action": "Click", + "next": "お仕事_Choose_Idol_Confirm" + }, + "お仕事_Idol_Available_FLAG_12": { + "recognition": "OCR", + "roi": [313, 857, 160, 160], + "expected": "お仕事中", + "inverse": true, + "next": [ + "お仕事_Choose_Idol_12", + "お仕事_Idol_Available_FLAG_13" + ] + }, + "お仕事_Choose_Idol_12": { + "recognition": "ColorMatch", + "roi": [313, 857, 160, 160], + "lower": [14, 180, 254], + "upper": [16, 182, 255], + "count": 500, + "action": "Click", + "next": "お仕事_Choose_Idol_Confirm" + }, + "お仕事_Idol_Available_FLAG_13": { + "recognition": "OCR", + "roi": [465, 857, 160, 160], + "expected": "お仕事中", + "inverse": true, + "next": [ + "お仕事_Choose_Idol_13", + "お仕事_Swipe_End_FLAG", + "お仕事_Swipe" + ] + }, + "お仕事_Choose_Idol_13": { + "recognition": "ColorMatch", + "roi": [465, 857, 160, 160], + "lower": [14, 180, 254], + "upper": [16, 182, 255], + "count": 500, + "action": "Click", + "next": "お仕事_Choose_Idol_Confirm" + }, + "お仕事_Swipe_End_FLAG": { + "recognition": "ColorMatch", + "roi": [14, 779, 10, 10], + "lower": [207, 241, 248], + "upper": [217, 251, 255], + "count": 80, + "inverse": true, + "next": [ + "お仕事_Idol_Available_FLAG_0N", + "お仕事_Idol_Available_FLAG_1N", + "お仕事_Choose_Idol_Confirm" + ], + "_doc": "识别第一个头像左边位置是否蓝色背景色。若否,说明已经划到尽头,这个位置被某个头像覆盖" + }, + "お仕事_Swipe": { + "action": "Swipe", + "begin": [708, 800, 1, 1 ], + "end": [100, 800, 1, 1 ] + }, + "お仕事_Idol_Available_FLAG_0N": { + "recognition": "OCR", + "roi": [465, 857, 160, 160], + "expected": "お仕事中", + "inverse": true, + "next": [ + "お仕事_Choose_Idol_0N", + "お仕事_Idol_Available_FLAG_1N" + ] + }, + "お仕事_Choose_Idol_0N": { + "recognition": "ColorMatch", + "roi": [465, 857, 160, 160], + "lower": [14, 180, 254], + "upper": [16, 182, 255], + "count": 500, + "action": "Click", + "next": "お仕事_Choose_Idol_Confirm" + }, + "お仕事_Idol_Available_FLAG_1N": { + "recognition": "OCR", + "roi": [465, 857, 160, 160], + "expected": "お仕事中", + "inverse": true, + "next": [ + "お仕事_Choose_Idol_1N", + "お仕事_Choose_Idol_Confirm" + ] + }, + "お仕事_Choose_Idol_1N": { + "recognition": "ColorMatch", + "roi": [465, 857, 160, 160], + "lower": [14, 180, 254], + "upper": [16, 182, 255], + "count": 500, + "action": "Click", + "next": "お仕事_Choose_Idol_Confirm" + }, + "お仕事_Choose_Idol_Confirm": { + "recognition": "OCR", + "expected": "選択する", + "action": "Click" + }, + "お仕事_Choose_Time": { + "recognition": "OCR", + "expected": "12時間", + "action": "Click", + "next": "お仕事_Confirm_Time" + }, + "お仕事_Confirm_Time": { + "recognition": "OCR", + "expected": "決定する", + "action": "Click", + "next": "お仕事_Begin" + }, + "お仕事_Begin": { + "recognition": "OCR", + "expected": "開始する", + "action": "Click" + }, + "お仕事_Done_FLAG": { + "is_sub": true, + "recognition": "OCR", + "roi": [90, 1000, 540, 80 ], + "expected": "短縮", + "index": 1, + "next": "お仕事_Close" + }, + "お仕事_Close": { + "action": "Click", + "target": [85, 1215, 1, 1], + "next": "寄付_Open_Main_Menu" + }, + "寄付_Open_Main_Menu": { + "recognition": "TemplateMatch", + "template": "icon_menu.png", + "action": "Click", + "next": "寄付_Open_Circle_Menu" + }, + "寄付_Open_Circle_Menu": { + "recognition": "OCR", + "expected": "サークル", + "action": "Click", + "next": [ + "寄付_Requesting_FLAG", + "寄付_Publish_Request" + ] + }, + "寄付_Requesting_FLAG": { + "recognition": "OCR", + "expected": "リクエスト中", + "next": "寄付_Open_Request_List" + }, + "寄付_Publish_Request": { + "recognition": "OCR", + "expected": "リクエスト", + "action": "Click", + "next": "寄付_Confirm_Request_0" + }, + "寄付_Confirm_Request_0": { + "recognition": "OCR", + "expected": "決定", + "action": "Click", + "next": "寄付_Confirm_Request_1" + }, + "寄付_Confirm_Request_1": { + "recognition": "OCR", + "expected": "決定", + "action": "Click", + "next": "寄付_Open_Request_List" + }, + "寄付_Open_Request_List": { + "recognition": "OCR", + "expected": "募集リスト", + "action": "Click", + "next": "寄付_Wait_Request_List" + }, + "寄付_Wait_Request_List": { + "recognition": "OCR", + "roi": [370, 200, 220, 32], + "expected": "本日残り", + "next": "寄付_Donate_Routine" + }, + "寄付_Donate_Routine": { + "next": [ + "寄付_Donate_Finish_FLAG", + "寄付_Donate", + "寄付_Scroll_Bottom_FLAG", + "寄付_Scroll" + ] + }, + "寄付_Donate_Finish_FLAG": { + "recognition": "OCR", + "roi": [640, 200, 55, 32], + "expected": "0", + "next": "寄付_Close" + }, + "寄付_Donate": { + "is_sub": true, + "recognition": "OCR", + "expected": "寄付する", + "action": "Click", + "next": "寄付_Donate_Confirm" + }, + "寄付_Donate_Confirm": { + "recognition": "OCR", + "expected": "決定", + "action": "Click", + "next": "寄付_Donate_Wait" + }, + "寄付_Donate_Wait": { + "recognition": "OCR", + "expected": "Slow down, bro :)", + "inverse": true + }, + "寄付_Scroll_Bottom_FLAG": { + "recognition": "ColorMatch", + "roi": [700, 1120, 12, 10], + "lower": [133, 142, 145], + "upper": [135, 144, 147], + "next": "寄付_Close" + }, + "寄付_Scroll": { + "is_sub": true, + "action": "Swipe", + "begin": [340, 1040, 1, 1], + "end": [340, 365, 1, 1] + }, + "寄付_Close": { + "next": "コインガシャ_Open_Main_Menu" + }, + "コインガシャ_Open_Main_Menu": { + "recognition": "TemplateMatch", + "template": "icon_menu.png", + "action": "Click", + "next": "コインガシャ_Open_Shop_Menu" + }, + "コインガシャ_Open_Shop_Menu": { + "recognition": "OCR", + "expected": "ショップ", + "action": "Click", + "next": "コインガシャ_Open_Gasha_Menu" + }, + "コインガシャ_Open_Gasha_Menu": { + "recognition": "OCR", + "expected": "コインガシャ", + "action": "Click", + "next": "コインガシャ_Gasha" + }, + "コインガシャ_Gasha": { + "recognition": "OCR", + "expected": "引く", + "action": "Click", + "next": "コインガシャ_Gasha_Confirm" + }, + "コインガシャ_Gasha_Confirm": { + "recognition": "OCR", + "expected": "決定", + "action": "Click", + "next": "コインガシャ_Close" + }, + "コインガシャ_Close": { + "recognition": "OCR", + "expected": "閉じる", + "action": "Click" + }, + "交換所_Open_Main_Menu": { + "recognition": "TemplateMatch", + "template": "icon_menu.png", + "action": "Click", + "next": "交換所_Open_Shop_Menu" + }, + "交換所_Open_Shop_Menu": { + "recognition": "OCR", + "expected": "ショップ", + "action": "Click", + "next": "交換所_Open_Exchange_Menu" + }, + "交換所_Open_Exchange_Menu": { + "recognition": "OCR", + "expected": "デイリー交換所", + "action": "Click", + "next": "交換所_Choose_Item" + }, + "交換所_Choose_Item": { + "recognition": "OCR", + "expected": "おすすめ", + "action": "Click", + "next": "交換所_Confirm_Exchange" + }, + "交換所_Confirm_Exchange": { + "recognition": "OCR", + "expected": "決定", + "action": "Click" + } +} \ No newline at end of file From 28e5a0b5a120b4e38a423b08f53c31022f4f1d8f Mon Sep 17 00:00:00 2001 From: Chen Shaokun Date: Tue, 6 Aug 2024 13:48:56 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E5=B7=A5=E4=BD=9C?= =?UTF-8?q?=E6=97=A0=E6=B3=95=E6=AD=A3=E7=A1=AE=E9=80=89=E4=BA=BA=E7=9A=84?= =?UTF-8?q?bug=EF=BC=9B=E6=B7=BB=E5=8A=A0=E8=8B=A5=E5=B9=B2=E7=AD=89?= =?UTF-8?q?=E5=BE=85=E5=92=8C=E6=9D=A1=E4=BB=B6=E6=A3=80=E6=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/resource/base/pipeline/daily.json | 287 +++++++++++++---------- 1 file changed, 161 insertions(+), 126 deletions(-) diff --git a/assets/resource/base/pipeline/daily.json b/assets/resource/base/pipeline/daily.json index e9d4af7..738db53 100644 --- a/assets/resource/base/pipeline/daily.json +++ b/assets/resource/base/pipeline/daily.json @@ -1,23 +1,27 @@ { "Daily_Begin": { "next": "活動費_Collect", - "_doc": ["自动清日常。TODO:1. 选择お仕事角色时,如果咲季正在工作,选择默认位置时或许会出错,需要测试 2. 如果社团有别人送的礼物,进社团时可能会卡住(因为忘截图了不记得收礼页面有什么。明天要记得截图)"] + "_doc": ["自动清日常"] }, "活動費_Collect": { "action": "Click", "target": [70, 560, 1, 1], - "next": "活動費_Wait_Popup" - }, - "活動費_Wait_Popup": { - "recognition": "OCR", - "expected": "保管上限", "next": "活動費_Close" }, "活動費_Close": { "recognition": "OCR", "expected": "閉じる", "action": "Click", - "next": "お仕事_Open" + "next": "活動費_Closed_Wait" + }, + "活動費_Closed_Wait": { + "recognition": "OCR", + "roi": [25, 600, 88, 35], + "expected": "活動費", + "next": [ + "お仕事_Open", + "寄付_Open_Main_Menu" + ] }, "お仕事_Open": { "recognition": "ColorMatch", @@ -66,7 +70,7 @@ "お仕事_Idol_Available_FLAG_00", "お仕事_Idol_Available_FLAG_01" ], - "_doc": "依次检查每个偶像是否在工作、是否好调。若遇到空闲的好调偶像则直接选择并返回上一级;若未找到则则右划4格并返回;若已经右划到底,则检查最右边的偶像(拉到末端时坐标不同);若检查完最右边偶像还没找到空闲的好调偶像,则选中默认偶像并返回" + "_doc": "依次检查每个偶像是否在工作、是否好调。若遇到空闲的好调偶像则直接选择并返回上一级;若未找到则则右划4格并返回;若已经右划到底,则选中默认偶像并返回" }, "お仕事_Idol_Available_FLAG_00": { "recognition": "OCR", @@ -75,18 +79,10 @@ "inverse": true, "next": [ "お仕事_Choose_Idol_00", - "お仕事_Idol_Available_FLAG_01" + "お仕事_Idol_Available_FLAG_01", + "お仕事_Idol_Available_FLAG_02" ] }, - "お仕事_Choose_Idol_00": { - "recognition": "ColorMatch", - "roi": [9, 705, 160, 160], - "lower": [14, 180, 254], - "upper": [16, 182, 255], - "count": 500, - "action": "Click", - "next": "お仕事_Choose_Idol_Confirm" - }, "お仕事_Idol_Available_FLAG_01": { "recognition": "OCR", "roi": [161, 705, 160, 160], @@ -94,18 +90,10 @@ "inverse": true, "next": [ "お仕事_Choose_Idol_01", - "お仕事_Idol_Available_FLAG_02" + "お仕事_Idol_Available_FLAG_02", + "お仕事_Idol_Available_FLAG_03" ] }, - "お仕事_Choose_Idol_01": { - "recognition": "ColorMatch", - "roi": [161, 705, 160, 160], - "lower": [14, 180, 254], - "upper": [16, 182, 255], - "count": 500, - "action": "Click", - "next": "お仕事_Choose_Idol_Confirm" - }, "お仕事_Idol_Available_FLAG_02": { "recognition": "OCR", "roi": [313, 705, 160, 160], @@ -113,18 +101,10 @@ "inverse": true, "next": [ "お仕事_Choose_Idol_02", - "お仕事_Idol_Available_FLAG_03" + "お仕事_Idol_Available_FLAG_03", + "お仕事_Idol_Available_FLAG_10" ] }, - "お仕事_Choose_Idol_02": { - "recognition": "ColorMatch", - "roi": [313, 705, 160, 160], - "lower": [14, 180, 254], - "upper": [16, 182, 255], - "count": 500, - "action": "Click", - "next": "お仕事_Choose_Idol_Confirm" - }, "お仕事_Idol_Available_FLAG_03": { "recognition": "OCR", "roi": [465, 705, 160, 160], @@ -132,18 +112,10 @@ "inverse": true, "next": [ "お仕事_Choose_Idol_03", - "お仕事_Idol_Available_FLAG_10" + "お仕事_Idol_Available_FLAG_10", + "お仕事_Idol_Available_FLAG_11" ] }, - "お仕事_Choose_Idol_03": { - "recognition": "ColorMatch", - "roi": [465, 705, 160, 160], - "lower": [14, 180, 254], - "upper": [16, 182, 255], - "count": 500, - "action": "Click", - "next": "お仕事_Choose_Idol_Confirm" - }, "お仕事_Idol_Available_FLAG_10": { "recognition": "OCR", "roi": [9, 857, 160, 160], @@ -151,18 +123,10 @@ "inverse": true, "next": [ "お仕事_Choose_Idol_10", - "お仕事_Idol_Available_FLAG_11" + "お仕事_Idol_Available_FLAG_11", + "お仕事_Idol_Available_FLAG_12" ] }, - "お仕事_Choose_Idol_10": { - "recognition": "ColorMatch", - "roi": [9, 857, 160, 160], - "lower": [14, 180, 254], - "upper": [16, 182, 255], - "count": 500, - "action": "Click", - "next": "お仕事_Choose_Idol_Confirm" - }, "お仕事_Idol_Available_FLAG_11": { "recognition": "OCR", "roi": [161, 857, 160, 160], @@ -170,18 +134,10 @@ "inverse": true, "next": [ "お仕事_Choose_Idol_11", - "お仕事_Idol_Available_FLAG_12" + "お仕事_Idol_Available_FLAG_12", + "お仕事_Idol_Available_FLAG_13" ] }, - "お仕事_Choose_Idol_11": { - "recognition": "ColorMatch", - "roi": [161, 857, 160, 160], - "lower": [14, 180, 254], - "upper": [16, 182, 255], - "count": 500, - "action": "Click", - "next": "お仕事_Choose_Idol_Confirm" - }, "お仕事_Idol_Available_FLAG_12": { "recognition": "OCR", "roi": [313, 857, 160, 160], @@ -192,15 +148,6 @@ "お仕事_Idol_Available_FLAG_13" ] }, - "お仕事_Choose_Idol_12": { - "recognition": "ColorMatch", - "roi": [313, 857, 160, 160], - "lower": [14, 180, 254], - "upper": [16, 182, 255], - "count": 500, - "action": "Click", - "next": "お仕事_Choose_Idol_Confirm" - }, "お仕事_Idol_Available_FLAG_13": { "recognition": "OCR", "roi": [465, 857, 160, 160], @@ -208,76 +155,138 @@ "inverse": true, "next": [ "お仕事_Choose_Idol_13", - "お仕事_Swipe_End_FLAG", "お仕事_Swipe" ] }, - "お仕事_Choose_Idol_13": { + "お仕事_Idol_Available_FLAG_0N": { + "recognition": "OCR", + "roi": [550, 705, 160, 160], + "expected": "お仕事中", + "inverse": true, + "next": [ + "お仕事_Choose_Idol_0N", + "お仕事_Idol_Available_FLAG_1N" + ] + }, + "お仕事_Idol_Available_FLAG_1N": { + "recognition": "OCR", + "roi": [550, 857, 160, 160], + "expected": "お仕事中", + "inverse": true, + "next": [ + "お仕事_Choose_Idol_1N", + "お仕事_Choose_Idol_Confirm" + ] + }, + "お仕事_Choose_Idol_00": { "recognition": "ColorMatch", - "roi": [465, 857, 160, 160], + "roi": [9, 705, 160, 160], "lower": [14, 180, 254], "upper": [16, 182, 255], "count": 500, "action": "Click", "next": "お仕事_Choose_Idol_Confirm" }, - "お仕事_Swipe_End_FLAG": { + "お仕事_Choose_Idol_01": { "recognition": "ColorMatch", - "roi": [14, 779, 10, 10], - "lower": [207, 241, 248], - "upper": [217, 251, 255], - "count": 80, - "inverse": true, - "next": [ - "お仕事_Idol_Available_FLAG_0N", - "お仕事_Idol_Available_FLAG_1N", - "お仕事_Choose_Idol_Confirm" - ], - "_doc": "识别第一个头像左边位置是否蓝色背景色。若否,说明已经划到尽头,这个位置被某个头像覆盖" + "roi": [161, 705, 160, 160], + "lower": [14, 180, 254], + "upper": [16, 182, 255], + "count": 500, + "action": "Click", + "next": "お仕事_Choose_Idol_Confirm" }, - "お仕事_Swipe": { - "action": "Swipe", - "begin": [708, 800, 1, 1 ], - "end": [100, 800, 1, 1 ] + "お仕事_Choose_Idol_02": { + "recognition": "ColorMatch", + "roi": [313, 705, 160, 160], + "lower": [14, 180, 254], + "upper": [16, 182, 255], + "count": 500, + "action": "Click", + "next": "お仕事_Choose_Idol_Confirm" }, - "お仕事_Idol_Available_FLAG_0N": { - "recognition": "OCR", - "roi": [465, 857, 160, 160], - "expected": "お仕事中", - "inverse": true, - "next": [ - "お仕事_Choose_Idol_0N", - "お仕事_Idol_Available_FLAG_1N" - ] + "お仕事_Choose_Idol_03": { + "recognition": "ColorMatch", + "roi": [465, 705, 160, 160], + "lower": [14, 180, 254], + "upper": [16, 182, 255], + "count": 500, + "action": "Click", + "next": "お仕事_Choose_Idol_Confirm" }, - "お仕事_Choose_Idol_0N": { + "お仕事_Choose_Idol_10": { "recognition": "ColorMatch", - "roi": [465, 857, 160, 160], + "roi": [9, 857, 160, 160], "lower": [14, 180, 254], "upper": [16, 182, 255], "count": 500, "action": "Click", "next": "お仕事_Choose_Idol_Confirm" }, - "お仕事_Idol_Available_FLAG_1N": { - "recognition": "OCR", + "お仕事_Choose_Idol_11": { + "recognition": "ColorMatch", + "roi": [161, 857, 160, 160], + "lower": [14, 180, 254], + "upper": [16, 182, 255], + "count": 500, + "action": "Click", + "next": "お仕事_Choose_Idol_Confirm" + }, + "お仕事_Choose_Idol_12": { + "recognition": "ColorMatch", + "roi": [313, 857, 160, 160], + "lower": [14, 180, 254], + "upper": [16, 182, 255], + "count": 500, + "action": "Click", + "next": "お仕事_Choose_Idol_Confirm" + }, + "お仕事_Choose_Idol_13": { + "recognition": "ColorMatch", "roi": [465, 857, 160, 160], - "expected": "お仕事中", - "inverse": true, - "next": [ - "お仕事_Choose_Idol_1N", - "お仕事_Choose_Idol_Confirm" - ] + "lower": [14, 180, 254], + "upper": [16, 182, 255], + "count": 500, + "action": "Click", + "next": "お仕事_Choose_Idol_Confirm" + }, + "お仕事_Choose_Idol_0N": { + "recognition": "ColorMatch", + "roi": [550, 705, 160, 160], + "lower": [14, 180, 254], + "upper": [16, 182, 255], + "count": 500, + "action": "Click", + "next": "お仕事_Choose_Idol_Confirm" }, "お仕事_Choose_Idol_1N": { "recognition": "ColorMatch", - "roi": [465, 857, 160, 160], + "roi": [550, 857, 160, 160], "lower": [14, 180, 254], "upper": [16, 182, 255], "count": 500, "action": "Click", "next": "お仕事_Choose_Idol_Confirm" }, + "お仕事_Swipe": { + "action": "Swipe", + "begin": [708, 800, 1, 1 ], + "end": [100, 800, 1, 1 ], + "next": "お仕事_Swipe_End_FLAG" + }, + "お仕事_Swipe_End_FLAG": { + "recognition": "ColorMatch", + "roi": [14, 779, 10, 10], + "lower": [207, 241, 248], + "upper": [217, 251, 255], + "count": 80, + "inverse": true, + "next": [ + "お仕事_Idol_Available_FLAG_0N", + "お仕事_Idol_Available_FLAG_1N" + ], + "_doc": "识别第一个头像左边位置是否蓝色背景色。若否,说明这个位置被某个头像覆盖,已经划到尽头。未划到尽头则返回お仕事_Choose_Idol,从头检查一次;划到尽头之后检查0N和1N(两行最右边的)" + }, "お仕事_Choose_Idol_Confirm": { "recognition": "OCR", "expected": "選択する", @@ -323,15 +332,30 @@ "recognition": "OCR", "expected": "サークル", "action": "Click", + "next": "寄付_Wait_Circle_Menu" + }, + "寄付_Wait_Circle_Menu": { + "recognition": "OCR", + "expected": [ + "リクエスト", + "受け取り" + ], + "next": [ + "寄付_Request_Finish_FLAG", + "寄付_Request_Routine" + ] + }, + "寄付_Request_Routine": { + "is_sub": true, "next": [ - "寄付_Requesting_FLAG", + "寄付_Close_Previous_Request", "寄付_Publish_Request" ] }, - "寄付_Requesting_FLAG": { + "寄付_Close_Previous_Request": { "recognition": "OCR", - "expected": "リクエスト中", - "next": "寄付_Open_Request_List" + "expected": "閉じる", + "action": "Click" }, "寄付_Publish_Request": { "recognition": "OCR", @@ -349,6 +373,16 @@ "recognition": "OCR", "expected": "決定", "action": "Click", + "next": "寄付_Request_Wait" + }, + "寄付_Request_Wait": { + "recognition": "OCR", + "expected": "Slow down, bro", + "inverse": true + }, + "寄付_Request_Finish_FLAG": { + "recognition": "OCR", + "expected": "リクエスト中", "next": "寄付_Open_Request_List" }, "寄付_Open_Request_List": { @@ -361,12 +395,12 @@ "recognition": "OCR", "roi": [370, 200, 220, 32], "expected": "本日残り", - "next": "寄付_Donate_Routine" + "next": "寄付_Donate" }, - "寄付_Donate_Routine": { + "寄付_Donate": { "next": [ "寄付_Donate_Finish_FLAG", - "寄付_Donate", + "寄付_Donate_Item", "寄付_Scroll_Bottom_FLAG", "寄付_Scroll" ] @@ -375,9 +409,10 @@ "recognition": "OCR", "roi": [640, 200, 55, 32], "expected": "0", - "next": "寄付_Close" + "next": "寄付_Close", + "_doc": "残り寄付可能回数 = 0" }, - "寄付_Donate": { + "寄付_Donate_Item": { "is_sub": true, "recognition": "OCR", "expected": "寄付する", @@ -392,7 +427,7 @@ }, "寄付_Donate_Wait": { "recognition": "OCR", - "expected": "Slow down, bro :)", + "expected": "Slow down, bro", "inverse": true }, "寄付_Scroll_Bottom_FLAG": { From 42edaa26e2e0e3de44a0bb6713cd3de046f80ca4 Mon Sep 17 00:00:00 2001 From: Chen Shaokun Date: Tue, 6 Aug 2024 14:04:54 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E7=A7=BB=E9=99=A4vscode=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E5=92=8Cnicegui=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit vscode设置是个人偏好,版本管理反而带来不便(但是如果有新开发者加入,有必要提醒新人复制json schema设置) nicegui文件在运行时生成,不必进行管理 --- .gitignore | 5 +++-- .nicegui/storage-general.json | 1 - .vscode/settings.json | 20 -------------------- 3 files changed, 3 insertions(+), 23 deletions(-) delete mode 100644 .nicegui/storage-general.json delete mode 100644 .vscode/settings.json diff --git a/.gitignore b/.gitignore index a652f0b..cbebfa3 100644 --- a/.gitignore +++ b/.gitignore @@ -414,11 +414,11 @@ FodyWeavers.xsd # VS Code files for those working on multiple tools **/.vscode/* .vscode/* -!.vscode/settings.json +# !.vscode/settings.json # !.vscode/tasks.json # !.vscode/launch.json # !.vscode/extensions.json -*.code-workspace +# *.code-workspace # Local History for Visual Studio Code .history/ @@ -446,3 +446,4 @@ install # Tools tools/ImageCropper/**/*.png +.nicegui/ diff --git a/.nicegui/storage-general.json b/.nicegui/storage-general.json deleted file mode 100644 index 2dc5434..0000000 --- a/.nicegui/storage-general.json +++ /dev/null @@ -1 +0,0 @@ -{"controller_type":"Adb","adb_path":"C:\\Program Files\\BlueStacks_nxt_cn\\HD-Adb.exe","adb_address":"127.0.0.1:5555","hwnd":"","window_name":"","resource_dir":"D:\\Github\\MaaHatsuboshiTA\\assets\\resource\\base","task_entry":"Clear_Data"} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index beea32e..0000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "json.schemas": [ - { - "fileMatch": [ - "/assets/resource/**/*.json", - "/install/resource/**/*.json" - ], - "url": "/deps/tools/pipeline.schema.json" - } - ], - "[json]": { - "editor.formatOnSave": true, - "editor.insertSpaces": true, - "editor.tabSize": 4, - "editor.indentSize": "tabSize" - }, - "[python]": { - "editor.defaultFormatter": "ms-python.black-formatter" - } -} \ No newline at end of file From 4a114c0bf4206ad4987df59c59c8b3683475a918 Mon Sep 17 00:00:00 2001 From: Chen Shaokun Date: Tue, 6 Aug 2024 14:13:32 +0800 Subject: [PATCH 4/5] fix typo --- assets/resource/base/pipeline/daily.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/assets/resource/base/pipeline/daily.json b/assets/resource/base/pipeline/daily.json index 738db53..bbb719f 100644 --- a/assets/resource/base/pipeline/daily.json +++ b/assets/resource/base/pipeline/daily.json @@ -1,7 +1,7 @@ { "Daily_Begin": { "next": "活動費_Collect", - "_doc": ["自动清日常"] + "_doc": "自动清日常" }, "活動費_Collect": { "action": "Click", @@ -29,7 +29,7 @@ "lower": [254, 17, 72], "upper": [255, 19, 74], "action": "Click", - "Target": [70, 680, 1, 1], + "target": [70, 680, 1, 1], "next": [ "お仕事_Done_FLAG", "お仕事_Finish_Previous", From 9c4f19f114faf5d382ff7d027a0e0e0d302a6bfe Mon Sep 17 00:00:00 2001 From: Chen Shaokun Date: Wed, 7 Aug 2024 16:48:34 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E6=9B=B4=E6=AD=A3=E6=B8=85=E6=97=A5?= =?UTF-8?q?=E5=B8=B8=E7=9A=84bug=EF=BC=9B=E5=B0=86=E6=B8=85=E6=97=A5?= =?UTF-8?q?=E5=B8=B8=E6=B7=BB=E5=8A=A0=E5=88=B0interface=EF=BC=9B=E7=A7=BB?= =?UTF-8?q?=E9=99=A4install.py=E8=A6=86=E7=9B=96OCR=E6=A8=A1=E5=9E=8B?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 清日常流程中有两处跳转目标写错了,导致执行顺序有误,部分代码可能执行不到,现已更正 - install.py会自动用中文OCR模型覆盖resource/base中的OCR模型,删除了这段代码 --- assets/interface.json | 4 ++++ assets/resource/base/pipeline/daily.json | 8 ++++---- install.py | 4 ---- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/assets/interface.json b/assets/interface.json index a43ac6e..8087d93 100644 --- a/assets/interface.json +++ b/assets/interface.json @@ -30,6 +30,10 @@ "option": [ "打几号位 | Which Target" ] + }, + { + "name": "自动日常", + "entry": "Daily_Begin" } ], "recognizer": {}, diff --git a/assets/resource/base/pipeline/daily.json b/assets/resource/base/pipeline/daily.json index bbb719f..1cc7fe1 100644 --- a/assets/resource/base/pipeline/daily.json +++ b/assets/resource/base/pipeline/daily.json @@ -310,7 +310,6 @@ "action": "Click" }, "お仕事_Done_FLAG": { - "is_sub": true, "recognition": "OCR", "roi": [90, 1000, 540, 80 ], "expected": "短縮", @@ -479,7 +478,8 @@ "コインガシャ_Close": { "recognition": "OCR", "expected": "閉じる", - "action": "Click" + "action": "Click", + "next": "交換所_Open_Main_Menu" }, "交換所_Open_Main_Menu": { "recognition": "TemplateMatch", @@ -503,9 +503,9 @@ "recognition": "OCR", "expected": "おすすめ", "action": "Click", - "next": "交換所_Confirm_Exchange" + "next": "交換所_Confirm_Purchase" }, - "交換所_Confirm_Exchange": { + "交換所_Confirm_Purchase": { "recognition": "OCR", "expected": "決定", "action": "Click" diff --git a/install.py b/install.py index 3c609b9..daecb8f 100644 --- a/install.py +++ b/install.py @@ -4,8 +4,6 @@ import sys import json -from configure import configure_ocr_model - working_dir = Path(__file__).parent install_path = working_dir / Path("install") @@ -33,8 +31,6 @@ def install_deps(): def install_resource(): - configure_ocr_model() - shutil.copytree( working_dir / "assets" / "resource", install_path / "resource",