From 799503460c4105498814a21f5cfbf67c4bb56d36 Mon Sep 17 00:00:00 2001 From: david <22984788@qq.com> Date: Sat, 25 Jul 2026 13:49:15 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E7=82=B9=E5=87=BB=E5=8C=BA=E5=9F=9F?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 每月活动,点击挑战的时候,经常点到切换门票模式和体力模式。 --- module/atom/ocr.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/module/atom/ocr.py b/module/atom/ocr.py index f8f7f1b75..35662bc55 100644 --- a/module/atom/ocr.py +++ b/module/atom/ocr.py @@ -49,7 +49,11 @@ def coord(self) -> tuple: else: area = self.roi - x, y, w, h = self.area + # 原代码:x, y, w, h = self.area + # 修改原因:20260725 , 每月活动,点击挑战的时候,经常点到切换门票模式和体力模式 + # OCR识别到并点击,在SINGLE模式下,识别到挑战,点击区域应该为ROI,而不是AREA + # 该地方应该是误写为self.area,本地变量area没有起作用,如果是self.area,上面几句话就白写了,没起作用 + x, y, w, h = area x = np.random.randint(x, x + w) y = np.random.randint(y, y + h) return x, y From f291cafe4664a8628f945e89e9376a540c5badb1 Mon Sep 17 00:00:00 2001 From: david <22984788@qq.com> Date: Sat, 25 Jul 2026 16:41:04 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E6=9C=88=E6=B4=BB?= =?UTF-8?q?=E5=8A=A8=E7=9A=84=E4=BD=93=E5=8A=9B=E6=A1=86=E8=AF=86=E5=88=AB?= =?UTF-8?q?=E8=8C=83=E5=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 20260725 缩小体力和活动体力的检测范围,范围太大,可能把0识别为10的情况. # 潜在风险1,超过1000的数字可能会只识别到最后的000,还有识别0的时候,score比较低,只有0.3,不知道怎么优化。 # 潜在风险2,部分数字,遇到过300等,会识别为0,之前没截上图,待后面遇到再处理这种情况。 --- tasks/ActivityShikigami/assets.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/tasks/ActivityShikigami/assets.py b/tasks/ActivityShikigami/assets.py index a11086c67..939535740 100644 --- a/tasks/ActivityShikigami/assets.py +++ b/tasks/ActivityShikigami/assets.py @@ -93,10 +93,13 @@ class ActivityShikigamiAssets: # Ocr Rule Assets # 挑战 O_FIRE = RuleOcr(roi=(1124,599,96,50), area=(1123,570,106,100), mode="Single", method="Default", keyword="挑战", name="fire") + # 20260725 缩小体力和活动体力的检测范围,范围太大,有可能把0识别为10的情况。 + # 潜在风险1,超过1000的数字可能会只识别到最后的000,还有识别0的时候,score比较低,只有0.3,不知道怎么优化。 + # 潜在风险2,部分数字,遇到过300等,会识别为0,之前没截上图,待后面遇到再处理这种情况。 # 体力的数量检测 - O_REMAIN_AP = RuleOcr(roi=(777,17,63,30), area=(776,16,63,30), mode="DigitCounter", method="Default", keyword="", name="remain_ap") - # 活动体力的剩余检测 - O_REMAIN_PASS = RuleOcr(roi=(599,15,50,29), area=(600,16,49,28), mode="DigitCounter", method="Default", keyword="", name="remain_pass") + O_REMAIN_AP = RuleOcr(roi=(793, 18, 44, 25), area=(793, 18, 44, 25), mode="DigitCounter", method="Default", keyword="", name="remain_ap") + # 活动体力的剩余检测 + O_REMAIN_PASS = RuleOcr(roi=(600, 18, 44, 25), area=(600, 18, 44, 25), mode="DigitCounter", method="Default", keyword="", name="remain_pass") # 还有多少次购买体力的机会 O_REMAIN_BUY = RuleOcr(roi=(808,531,39,42), area=(808,531,39,42), mode="DigitCounter", method="Default", keyword="", name="remain_buy") # 活动票数(没有百分比) From 3c7962cf48daa6d3d3be69ce37d7e59e728cd1f5 Mon Sep 17 00:00:00 2001 From: mbby <2391868879@qq.com> Date: Tue, 28 Jul 2026 23:58:12 +0800 Subject: [PATCH 3/6] =?UTF-8?q?fix=EF=BC=9A=E5=88=87=E6=8D=A2=E8=B4=A6?= =?UTF-8?q?=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/template.json | 4 +-- tasks/Component/SwitchAccount/assets.py | 12 ++++---- .../Component/SwitchAccount/login_account.py | 5 ++-- tasks/Component/SwitchAccount/ocr.json | 15 ++++++++-- tasks/Component/SwitchAccount/res/image.json | 26 +++++++++--------- .../res/res_sa_check_select_svr_1.png | Bin 0 -> 13486 bytes .../res/res_sa_check_select_svr_2.png | Bin 0 -> 18639 bytes .../res/res_sa_login_form_android.png | Bin 0 -> 11809 bytes .../res/res_sa_login_form_apple.png | Bin 0 -> 7436 bytes tasks/FindJade/script_task.py | 2 +- 10 files changed, 37 insertions(+), 27 deletions(-) create mode 100644 tasks/Component/SwitchAccount/res/res_sa_check_select_svr_1.png create mode 100644 tasks/Component/SwitchAccount/res/res_sa_check_select_svr_2.png create mode 100644 tasks/Component/SwitchAccount/res/res_sa_login_form_android.png create mode 100644 tasks/Component/SwitchAccount/res/res_sa_login_form_apple.png diff --git a/config/template.json b/config/template.json index 0f684f945..5d919bd1e 100644 --- a/config/template.json +++ b/config/template.json @@ -28,9 +28,7 @@ "combat_screenshot_interval": 1.0, "task_hoarding_duration": 0, "when_task_queue_empty": "goto_main", - "schedule_rule": "Filter", - "queue_mode": false, - "queue_idle_threshold": 10 + "schedule_rule": "Filter" } }, "restart": { diff --git a/tasks/Component/SwitchAccount/assets.py b/tasks/Component/SwitchAccount/assets.py index 353f1389c..1f8d2df6e 100644 --- a/tasks/Component/SwitchAccount/assets.py +++ b/tasks/Component/SwitchAccount/assets.py @@ -41,13 +41,15 @@ class SwitchAccountAssets: # 选择服务器界面 底部角色所属服务器名 列表 O_SA_SELECT_SVR_SVR_LIST = RuleOcr(roi=(205,540,815,25), area=(205,540,815,25), mode="FULL", method="Default", keyword="", name="sa_select_svr_svr_list") # 选择服务器界面 底部角色名 列表 - O_SA_SELECT_SVR_CHARACTER_LIST = RuleOcr(roi=(205,570,815,40), area=(205,570,815,40), mode="FULL", method="Default", keyword="", name="sa_select_svr_character_list") + O_SA_SELECT_SVR_CHARACTER_LIST = RuleOcr(roi=(418,131,641,481), area=(417,135,647,482), mode="Full", method="Default", keyword="", name="sa_select_svr_character_list") # 选择账号界面 账号列表 O_SA_ACCOUNT_ACCOUNT_LIST = RuleOcr(roi=(460,280,440,330), area=(460,280,440,330), mode="FULL", method="Default", keyword="", name="sa_account_account_list") # 选择账号界面 已选择的账号 O_SA_ACCOUNT_ACCOUNT_SELECTED = RuleOcr(roi=(460,280,370,50), area=(460,280,370,50), mode="SINGLE", method="Default", keyword="", name="sa_account_account_selected") # 登录界面 用户中心(区别于游戏内用户中心) 账户名 O_SA_LOGIN_FORM_USER_CENTER_ACCOUNT = RuleOcr(roi=(290,185,290,50), area=(290,185,290,50), mode="SINGLE", method="Default", keyword="", name="sa_login_form_user_center_account") + # 判断是否在 选择服务器 界面的文本特质 + O_SA_CHECK_SELCET_SVR = RuleOcr(roi=(252,145,97,32), area=(248,141,102,38), mode="Single", method="Default", keyword="已有角色", name="sa_check_selcet_svr") # Swipe Rule Assets @@ -77,12 +79,12 @@ class SwitchAccountAssets: # 登录界面-选取账号界面-账号下拉菜单-已经打开标志. I_SA_ACCOUNT_LOGIN_BTN = RuleImage(roi_front=(400,400,480,90), roi_back=(400,400,480,90), threshold=0.8, method="Template matching", file="./tasks/Component/SwitchAccount/res/sa_account_login_btn.png") # 登录界面-选择手机类型为苹果. - I_SA_LOGIN_FORM_APPLE = RuleImage(roi_front=(490,350,100,100), roi_back=(490,350,100,100), threshold=0.8, method="Template matching", file="./tasks/Component/SwitchAccount/res/sa_login_form_apple.png") + I_SA_LOGIN_FORM_APPLE = RuleImage(roi_front=(508,354,100,100), roi_back=(508,355,100,100), threshold=0.8, method="Template matching", file="./tasks/Component/SwitchAccount/res/res_sa_login_form_apple.png") # 登录界面-选择手机类型为android - I_SA_LOGIN_FORM_ANDROID = RuleImage(roi_front=(690,350,100,100), roi_back=(690,350,100,100), threshold=0.8, method="Template matching", file="./tasks/Component/SwitchAccount/res/sa_login_form_android.png") + I_SA_LOGIN_FORM_ANDROID = RuleImage(roi_front=(671.3333333333333,353.33333333333337,100,100), roi_back=(670.6666666666667,352.33333333333337,100,100), threshold=0.8, method="Template matching", file="./tasks/Component/SwitchAccount/res/res_sa_login_form_android.png") # 判断是否在 选择服务器 界面的标志物 角色的服务器图标还未显示时 - I_SA_CHECK_SELECT_SVR_1 = RuleImage(roi_front=(240,530,120,40), roi_back=(240,530,120,40), threshold=0.8, method="Template matching", file="./tasks/Component/SwitchAccount/res/sa_check_select_svr.png") + I_SA_CHECK_SELECT_SVR_1 = RuleImage(roi_front=(213,133,181,60), roi_back=(210,128,185,68), threshold=0.8, method="Template matching", file="./tasks/Component/SwitchAccount/res/res_sa_check_select_svr_1.png") # 判断是否在 选择服务器 界面的标志物 角色的服务器图标已经显示时 - I_SA_CHECK_SELECT_SVR_2 = RuleImage(roi_front=(240,410,120,40), roi_back=(240,410,120,40), threshold=0.8, method="Template matching", file="./tasks/Component/SwitchAccount/res/sa_check_select_svr.png") + I_SA_CHECK_SELECT_SVR_2 = RuleImage(roi_front=(209.99999999999994,131.33333333333337,184,64.33333333333334), roi_back=(207.33333333333331,127.00000000000006,187,70), threshold=0.8, method="Template matching", file="./tasks/Component/SwitchAccount/res/res_sa_check_select_svr_2.png") diff --git a/tasks/Component/SwitchAccount/login_account.py b/tasks/Component/SwitchAccount/login_account.py index 0a8c7060f..827ebd54b 100644 --- a/tasks/Component/SwitchAccount/login_account.py +++ b/tasks/Component/SwitchAccount/login_account.py @@ -89,7 +89,8 @@ def switch_character(self, characterName: str): @rtype: """ logger.info("start switch_character") - self.ui_click(self.C_SA_LOGIN_FORM_SWITCH_SVR_BTN, self.I_SA_CHECK_SELECT_SVR_1) + # 改成对比是否出现 已有角色 + self.ui_click(self.C_SA_LOGIN_FORM_SWITCH_SVR_BTN, self.O_SA_CHECK_SELCET_SVR) # 展开底部角色列表,显示角色所属服务器 self.screenshot() while (not self.appear(self.I_SA_CHECK_SELECT_SVR_2)) and self.appear(self.I_SA_CHECK_SELECT_SVR_1): @@ -134,7 +135,7 @@ def switch_character(self, characterName: str): break logger.info(f'{characterName} not found,start swipe') lastCharacterNameList = characterNameList - self.swipe(self.S_SA_SVR_SWIPE_LEFT) + self.swipe(self.S_SA_ACCOUNT_LIST_UP) # 等待滑动动画完成 time.sleep(1.5) diff --git a/tasks/Component/SwitchAccount/ocr.json b/tasks/Component/SwitchAccount/ocr.json index d15c6f62c..d347e4df1 100644 --- a/tasks/Component/SwitchAccount/ocr.json +++ b/tasks/Component/SwitchAccount/ocr.json @@ -19,9 +19,9 @@ }, { "itemName": "sa_select_svr_character_list", - "roiFront": "205,570,815,40", - "roiBack": "205,570,815,40", - "mode": "FULL", + "roiFront": "418,131,641,481", + "roiBack": "417,135,647,482", + "mode": "Full", "method": "Default", "keyword": "", "description": "选择服务器界面 底部角色名 列表" @@ -52,5 +52,14 @@ "method": "Default", "keyword": "", "description": "登录界面 用户中心(区别于游戏内用户中心) 账户名" + }, + { + "itemName": "sa_check_selcet_svr", + "roiFront": "252,145,97,32", + "roiBack": "248,141,102,38", + "mode": "Single", + "method": "Default", + "keyword": "已有角色", + "description": "判断是否在 选择服务器 界面的文本特质" } ] \ No newline at end of file diff --git a/tasks/Component/SwitchAccount/res/image.json b/tasks/Component/SwitchAccount/res/image.json index 3f3cb7eaf..e637903ab 100644 --- a/tasks/Component/SwitchAccount/res/image.json +++ b/tasks/Component/SwitchAccount/res/image.json @@ -21,7 +21,7 @@ "itemName": "sa_user_center_profile", "imageName": "sa_user_center_profile.png", "roiFront": "590,60,90,55", - "roiBack": "590,60,90,55", + "roiBack": "590,60,90,55", "method": "Template matching", "threshold": 0.8, "description": "游戏内-点击头像弹出的设置界面-顶部设置字样" @@ -82,36 +82,36 @@ }, { "itemName": "sa_login_form_apple", - "imageName": "sa_login_form_apple.png", - "roiFront": "490,350,100,100", - "roiBack": "490,350,100,100", + "imageName": "res_sa_login_form_apple.png", + "roiFront": "508,354,100,100", + "roiBack": "508,355,100,100", "method": "Template matching", "threshold": 0.8, "description": "登录界面-选择手机类型为苹果." }, { "itemName": "sa_login_form_android", - "imageName": "sa_login_form_android.png", - "roiFront": "690,350,100,100", - "roiBack": "690,350,100,100", + "imageName": "res_sa_login_form_android.png", + "roiFront": "671.3333333333333,353.33333333333337,100,100", + "roiBack": "670.6666666666667,352.33333333333337,100,100", "method": "Template matching", "threshold": 0.8, "description": "登录界面-选择手机类型为android" }, { "itemName": "sa_check_select_svr_1", - "imageName": "sa_check_select_svr.png", - "roiFront": "240,530,120,40", - "roiBack": "240,530,120,40", + "imageName": "res_sa_check_select_svr_1.png", + "roiFront": "213,133,181,60", + "roiBack": "210,128,185,68", "method": "Template matching", "threshold": 0.8, "description": "判断是否在 选择服务器 界面的标志物 角色的服务器图标还未显示时" }, { "itemName": "sa_check_select_svr_2", - "imageName": "sa_check_select_svr.png", - "roiFront": "240,410,120,40", - "roiBack": "240,410,120,40", + "imageName": "res_sa_check_select_svr_2.png", + "roiFront": "209.99999999999994,131.33333333333337,184,64.33333333333334", + "roiBack": "207.33333333333331,127.00000000000006,187,70", "method": "Template matching", "threshold": 0.8, "description": "判断是否在 选择服务器 界面的标志物 角色的服务器图标已经显示时" diff --git a/tasks/Component/SwitchAccount/res/res_sa_check_select_svr_1.png b/tasks/Component/SwitchAccount/res/res_sa_check_select_svr_1.png new file mode 100644 index 0000000000000000000000000000000000000000..72b6b34e06594b1de8887e2ae2ae3d6d9bb794c5 GIT binary patch literal 13486 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 P00000NkvXXu0mjfJ?aE! literal 0 HcmV?d00001 diff --git a/tasks/Component/SwitchAccount/res/res_sa_login_form_apple.png b/tasks/Component/SwitchAccount/res/res_sa_login_form_apple.png new file mode 100644 index 0000000000000000000000000000000000000000..9ee6984121874a4c923e3514b232688aeb664035 GIT binary patch literal 7436 zcmWkzbyQRD8;4ON9X(+JqY(s#AVYd|H_|miq&uV;AteoxiVkHUDczuS2q++33P=iH zx_$0T@`iy0dzR*&hW&5$hnthX6OlS|a>7kfY=R=s_+57)U46v! z3;H$doP9rx^}ixq)-p3lHoIHznYaGVK~kwD*c{6>z=pZKcdH4(+znhkH{2><^9bs6 zV$L@cp`v*{+xwyCo1!YwqSHyls@PMZAu$T4OW(VjyXEk`Cr=)w+?vL(&w9kG{yyi- zioU7K@NVQuRagHEOBT7^dvIHvxL<9r1!FzNo?@>}xrm21v9kmgLQpH_eUc&nC`-O}(m+%(& zU?2h`!b!Wky9)~zy~1Glw{PF>$zC7!-jhv2{3+nj)hR$uOi%m&Tl?11($diIM7`#kG@fGj z$-vmBktl3mwE)f+^tg{s3BSy=!Sz>AW=3K&4G+eeOP!OH=xP6ua`2OR z7i^se#G8WQsXMA)jg5w&3Mk%$$(fn6?T^K=y{j`;FZX(4j!T_;(s{A^PJGyu^@z(P zF4IiA@4ENuo>Q!;QrRU*sGKeMjQ{;v&Kh#q9TgQ-X7KTE>?$$^f-*9~2%`)1*N`Jh z^OA|Cy}fB_85I50U@vv&z~{U$DpuLB>yNTG&PW(H&@Ug(yPnFMOKk3s)z$Q?u=#fJ zp}=sm5MqX27G%o$@kP&Sb?N=Xs#sgsg(k1wSjs7Nb#L$57`amCzb#`Dc1e6>ze5N& zmPs8+;f7hcrAlCY!Rvz}X^+kue**)9@bJzO$e2Xk1Fb3cwD=O61WoSR1_2o`9|*)QBGm$D}STKC-Js8|liOZ~+sByJ;F(5G``XY}Cn+eeb*Se9w zeQ(UJ@;y45U1kKQL|4^}j5yL%X*^SDK;35|7T0D1rB)yW_k8m}5{JITS zY7}b0;>n2H-dw$o^ogOLU;X%|4-^R*@G6my%9&}T3BCAzcRr~GiFz~)3hFkI8>n{} z&b~)=`>j?$SZ)#(8U6HM*2j3lK2>lfFC8~Mm~d`xju-pbX-pB^mD4psje1*zP8Jg! zp#fclFrgt86U^f7*Sk)#l3r^V=e!7VkrxOGh1!#S{iJyOB@PVgovwlcK_5~`=)k(; z63@h5oiyEk&236bxtmMeYpfR@*&}N7VLNrmHFIWya?X;-1x%9MZWX{GrW+k zYl2STscHH?zjrA3T;M%F-gIPSq`^n+pFe(BbcEdR=*${!oCFV+(3xiwfcO+7=wg)T z9#Bk&UjMth-VbPS(2K&X3=mw4$hB(q5M9ATeGk(6^jRfnw?~6RyH;0M1D1k#WMyTg zrQ6%uMjE=gO1$jeQl~qZir49-8(?gd-jzB7jZ@pv5f&H--CZ<6sFMxyGp+o$Ji-yo zOI*~agNnDlJ<1`Wf^8kJdS+z)^A9GhSXf*}IGJ zvx8+1)9jGRtBcdL65f@>2#M$)MmXX|0gb6IztDP zxbc;JSl_|f)y-{1g#caHYIH$%wqsrc4!5_rSJiR(wR>>H=k&%2ZC?d=838z?|6BdVijA-i7 zZFeHL^#}M&i=q}wGR?AyOjkxm2J7qVo12?kDmfH;RtK;e#l5lLn#|PN7-5Eeu1b2y z0AiA>ySX7_R=l=r7oj zI_hm3MJELzNJ~pAfNg<5h_O_VpXzvXJpA;R(?RQjjFFK;^%^qULCM}wO1=l$Tki1g zd0^nD2LAvBg=h#!6C8p5aVtt21#iF?o-Ob);Yl2V619-d6op38XL3(sJ?N zdVhON#JoylHfO1Jp_!G{{@E3xFXHZA(BvaC37L z@dHP86(`)skxNw2;Kq%4?&3mD2+~EW4UViqwxW{6N#XZ^t~&ZXd>`H5)=MQWE^gfx zSku_Zcq+wpK;)dRC){L-Nd-_1CLK(t^au}COY~=Y*&w0H`W~j&c0MJ0PhX_&oRd-z z6_0p=?n`>}*vSs|dGYl0bb5NaqMIwa8}ZXDvyq|;9& zC0l`6;NkfQ4BY$o@9XMlX{O$u7l&OsyScfsdA66Amt(P5V31%`^o)!`R&7lsCG0S& z0AJq%+3?$;EPnmy4?>R+yf1pd_jR7A4PhW4_yWM>b8}|;`aLE;{JNm8ZL;$zLe7sQd zBku3^)W^HqvrZDwOk8ZNz_3|^tEsJR_kY_{IRd8oW@b!Oajh*aOw7#qCIER;MByb6 zY{6gFrsE;iw>OK!t*os(z1EcnzLQ6SyAkPJ!VC`{6e=hv6i8xH&E-eA&cptD5bY{H zB17{Eney0qk`wd2K*ES0Am{oQMh*_x3ere(Hq6%kzD(%lfBTEAFN1?GudYZ);(&I` z%gBg^TrQn;GzR{&i>Gv(9~&MX9v?3j_b4iL9vvM`C=nGGZ)|K-P>JyzWQKBn6^Jx> z`St|R8Tn7#Xh5w-CQnP;!J$ULoOfP~dd!)br@9a+8}tT_9N~!Vsd%wUN=lt~p~=im zY#S2~`k=@yJlbxX!}Zs)``g>iXG<>+I`6_v6Eo}e2j~W=s#G~^oyLpAmjd6{*Z&mN zGQEwq=ECQIk*aU6Dg6YVfm*0g>iZgt0@nb5QB=gTyZuvhOKX5~;2l0;rq}*LbLZvH zs-xp$=P!0+4mk{RCY&^SKcCCx=j1eo-2^+I*fWv8B|!@idbMgal{#l|m$^(=Fta>y zc@Y-=dx##wbsj{s7dr6Gf{v2HmXOAUGExjM2CJU4kLxg_$*uzgl}3h!6;|ynO--}r z^7yZ!Kj{jpF&v0$5%@=w@uRe>fz*=SH^~hQm3=%NlW5=RU*t+gtz4*)7&noLQ{L6kc#!7BX$Chz&k_Qq#GzK(0 z;4aL}$n^LtU?6lEt~Sf$sp;&V8^{S&%Jtzrn1%D$o-S+a zI+7kJ&c*oi5O|!r-7!|~yAmT7Yr%Lk)mp2Ecl{)F}?w+1D?z;Nn z=!@uUa0>_s7+#>>ylxOCkLVR0EhvC_wi=i}?RDqKbPaSlfB#q%+*81Syes``<-588cm-rd?rKD1LfolO$0a0mZ?d?6oThGm zGK0bW4P$fJ5(eyFg!n(ski~4+Vio)EC)xo1&v7KT253F?viwkvS{o|!eWMagABl^V zzCK7YnJo}yF(4~K6;&9yoaE;%LM4B%62cCpKz)PP<59G#@;wp~3cvo>5C2BSV@1&` z2ksVEJ9F)E_3`lmfKvd;So==;k3^Ce0C!2Q_>#1tZ)~A#?Y+Idp0RAe4fK1V$5%Jx z3<4(Y!S$6phwQ)p5)_H=2A8bUqTc$sEVTvI(nTP+!9EuxuAXXY0EEtBIYHa1oKY6C z%=VA#lbdn4q2sElQmvP_7n_@7h53brqY^qA8U$z|sko4S_Q*8o-m+~#sEoC|d?X{8 z3jR6ZiM5NQO#g7De-F}{vhN1aey1;)xlGK6tsz3i+1a_yadfW5ZwG){%3d(QDlhOx zHy(aXUmT!qe-CwxL|8St7cL*K2fr;xgh3z81oSP$WIIcvLL-h)D2lIt}V4J{iaa0ffZf$|%;vBLTn0YwWCtcPH zc3Rx?N^v+{|91a9CaC;c(LsXC+jz)+nT2?8TJWO>Y=O@zNQC-Bx8B7)6%97uaW-k1Fym;WBzkXdLT3?sc*JrgZD%tpCAj|NhNK;a9xWz?jS>Rpe zE98{hPTnEc@%|2mH2RK;h=^Q=$u1}>O2yr%2$Mq?nfI&MZi$2KZ6FgG0W<}WQ`ywBjrI7rXu;OpJCiqtqlm~IM?QTp zj0qZ|Qm5+$L!9wW0C602{0C@1?iQM67SpmA%6LU~KuZDgYuTwdl>42qM8w&&JSb95 zOKX(TIt1S|==oeEeU#(3`znsy_Lp*cnMUQt0P%IPy?rtHF40I~xFu*)Hz?==XH?$w zac0nbj`?0^>PL?VNEBqbZu3U=X1iS@Cr=`P_Zv!Bm7KhLr3xk7x7z^_c99LQDBiN? zKDZmQhG9EjL1sgCC$WDN;;3$a3thR*)3ML3u`$XPseu%`oRsvuy}fbe<>ch#T;kXv zTGZCC(A~=sGKaa5gR^qn<)-Z2o8wQ|vr@{mkIJIjQEALfOvEH4o8!f=7sp=kikM}K zA(78br|W^l!J_H#ms9b{=_%?3MTA9Zww(6-+}sjinwM`+8}YgZe_ynfYinp+?FV#T zWmSc6@w*&ty?*mYYkd^@nBu{HHvaWJLXc#@{zCi9Mh8>Rkb0Hm*M`NU47JiV+SRc3con|4QQi?XZzc(s?TL6 zFLzpG{Qmv`YJED$Qw+k~cst6Q8GAEHz18J4G%%=hnW=1OD6hWf?M*sL0fwoX>St@x z6Bu2vl@r zF6@*15zvEKJ znkxPEJ2O>hXJ@_cJX5m|2~h*mER24M?TkO+I)d^;O%(2F{aL@=k1KJwLwK{Qf?lQy zOOQQ~APQ%kQ;ui@BZu=E+0Om`P5<+!Mna+nEUuStbb<@d2h%?T z1tk;3+E!RJdjt8G{y93mA#<`dkkt^@Q#8aMLcI0gMM%E5hgGfpE4qzy(`>Itnk;L4 ze0-+u!6zKArP7OvQV`RkF+L;~p7AqpSvidoHR1ASO%M=Ty(|H7dJ!UfF{qO*WL=b# z!=og5tNl9Bw03W1^LR8Dfd<$XP~jfI!B3GEHlHI5py*H0Hwx5HuK5Ny4Fp9;Pw%$S z^iOj6LfhTFQna5&uD@i~(@7wG0OvfH$!8EEW9{MLVQuZfNfRlZR^JvbH^@FwYK7Y& zMhl3G2Q0Su3AO)610^|}NX;itdOQ|5{37)+p`N;qj&-ZQo3e6WzQ^QymDixaNO5u# z;eWre1+e~ihV^ce931QB%a_v{LhXdJpbi%A_lxIar$`}YTGT?D5=3-Al7wYoboAfV zjhL92&BWVQSBh|YN6&!jV#K>08P%1x^R+}Bseg)`G!uRgxHY94mE?U9**n7Q3$GNG zAeym^y}b&L9z6=b*|D|`Ju%v7_VW8O+MGXviq};i9vTWejAji1{uAQmO${sg3OW42 zxvu=cq3t0pZDypb15{Z_DQ0|g$}hA(PyHbk8_f7Z2<$neOl z&QZ(AC~NsZh_6}YX#sGnvm@#a;^P3r+7BNh`teL`pe+K_USm4NGK-UwG!(=-g-`u9 z25d2@NnL8S$)Ys;F_4x@g|7gXYG`PD)G4+yGmBm5Fc#8PuRmdzv)d_r%Vak$jiq@G z*NC)mw@bRZx*9K%etGU$xQ+yX|5>Glvxf&O6O%fsA|e6E2F40Z4Gljyn}vnl(&|X1 z6%|ow*?LNsi;vSjR+Bi!FiOfhaw!T=G&D2-TQsyh+Jw>a-`9X3P*@m37Q^=1HLvtP z3DF#Gt-Q>%H2nU^7)TZc76$}~DnwYO7i#{HPJ|<%t?j`}KWMyKKUIG`Fb1Vw zdw3t_bX^~Ou*VPjJ#0>vp{(A*c%-o}!Lh7K+?e{zUmL3|% Date: Wed, 29 Jul 2026 00:11:10 +0800 Subject: [PATCH 4/6] fix:SwitchAccount --- config/template.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/config/template.json b/config/template.json index 5d919bd1e..0f684f945 100644 --- a/config/template.json +++ b/config/template.json @@ -28,7 +28,9 @@ "combat_screenshot_interval": 1.0, "task_hoarding_duration": 0, "when_task_queue_empty": "goto_main", - "schedule_rule": "Filter" + "schedule_rule": "Filter", + "queue_mode": false, + "queue_idle_threshold": 10 } }, "restart": { From 6141a8caa1044d44fc4465299aa36bca2e165ebb Mon Sep 17 00:00:00 2001 From: mbby <2391868879@qq.com> Date: Wed, 29 Jul 2026 00:13:20 +0800 Subject: [PATCH 5/6] fix : SwitchAccount --- tasks/Component/SwitchAccount/assets.py | 4 ++-- tasks/Component/SwitchAccount/res/image.json | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/tasks/Component/SwitchAccount/assets.py b/tasks/Component/SwitchAccount/assets.py index 1f8d2df6e..9e6892af8 100644 --- a/tasks/Component/SwitchAccount/assets.py +++ b/tasks/Component/SwitchAccount/assets.py @@ -81,10 +81,10 @@ class SwitchAccountAssets: # 登录界面-选择手机类型为苹果. I_SA_LOGIN_FORM_APPLE = RuleImage(roi_front=(508,354,100,100), roi_back=(508,355,100,100), threshold=0.8, method="Template matching", file="./tasks/Component/SwitchAccount/res/res_sa_login_form_apple.png") # 登录界面-选择手机类型为android - I_SA_LOGIN_FORM_ANDROID = RuleImage(roi_front=(671.3333333333333,353.33333333333337,100,100), roi_back=(670.6666666666667,352.33333333333337,100,100), threshold=0.8, method="Template matching", file="./tasks/Component/SwitchAccount/res/res_sa_login_form_android.png") + I_SA_LOGIN_FORM_ANDROID = RuleImage(roi_front=(671,353,100,100), roi_back=(670,352,100,100), threshold=0.8, method="Template matching", file="./tasks/Component/SwitchAccount/res/res_sa_login_form_android.png") # 判断是否在 选择服务器 界面的标志物 角色的服务器图标还未显示时 I_SA_CHECK_SELECT_SVR_1 = RuleImage(roi_front=(213,133,181,60), roi_back=(210,128,185,68), threshold=0.8, method="Template matching", file="./tasks/Component/SwitchAccount/res/res_sa_check_select_svr_1.png") # 判断是否在 选择服务器 界面的标志物 角色的服务器图标已经显示时 - I_SA_CHECK_SELECT_SVR_2 = RuleImage(roi_front=(209.99999999999994,131.33333333333337,184,64.33333333333334), roi_back=(207.33333333333331,127.00000000000006,187,70), threshold=0.8, method="Template matching", file="./tasks/Component/SwitchAccount/res/res_sa_check_select_svr_2.png") + I_SA_CHECK_SELECT_SVR_2 = RuleImage(roi_front=(209,131,184,64), roi_back=(207,127,187,70), threshold=0.8, method="Template matching", file="./tasks/Component/SwitchAccount/res/res_sa_check_select_svr_2.png") diff --git a/tasks/Component/SwitchAccount/res/image.json b/tasks/Component/SwitchAccount/res/image.json index e637903ab..9b6f8841c 100644 --- a/tasks/Component/SwitchAccount/res/image.json +++ b/tasks/Component/SwitchAccount/res/image.json @@ -92,8 +92,8 @@ { "itemName": "sa_login_form_android", "imageName": "res_sa_login_form_android.png", - "roiFront": "671.3333333333333,353.33333333333337,100,100", - "roiBack": "670.6666666666667,352.33333333333337,100,100", + "roiFront": "671,353,100,100", + "roiBack": "670,352,100,100", "method": "Template matching", "threshold": 0.8, "description": "登录界面-选择手机类型为android" @@ -110,8 +110,8 @@ { "itemName": "sa_check_select_svr_2", "imageName": "res_sa_check_select_svr_2.png", - "roiFront": "209.99999999999994,131.33333333333337,184,64.33333333333334", - "roiBack": "207.33333333333331,127.00000000000006,187,70", + "roiFront": "209,131,184,64", + "roiBack": "207,127,187,70", "method": "Template matching", "threshold": 0.8, "description": "判断是否在 选择服务器 界面的标志物 角色的服务器图标已经显示时" From d34761fe948883c300fa66f6154a77eccc59b771 Mon Sep 17 00:00:00 2001 From: mbby <2391868879@qq.com> Date: Wed, 29 Jul 2026 00:31:07 +0800 Subject: [PATCH 6/6] fix(Component) : SwitchAccount --- tasks/Component/SwitchAccount/assets.py | 2 +- tasks/Component/SwitchAccount/ocr.json | 2 +- tasks/FindJade/script_task.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tasks/Component/SwitchAccount/assets.py b/tasks/Component/SwitchAccount/assets.py index 9e6892af8..39b59658f 100644 --- a/tasks/Component/SwitchAccount/assets.py +++ b/tasks/Component/SwitchAccount/assets.py @@ -49,7 +49,7 @@ class SwitchAccountAssets: # 登录界面 用户中心(区别于游戏内用户中心) 账户名 O_SA_LOGIN_FORM_USER_CENTER_ACCOUNT = RuleOcr(roi=(290,185,290,50), area=(290,185,290,50), mode="SINGLE", method="Default", keyword="", name="sa_login_form_user_center_account") # 判断是否在 选择服务器 界面的文本特质 - O_SA_CHECK_SELCET_SVR = RuleOcr(roi=(252,145,97,32), area=(248,141,102,38), mode="Single", method="Default", keyword="已有角色", name="sa_check_selcet_svr") + O_SA_CHECK_SELECT_SVR = RuleOcr(roi=(252,145,97,32), area=(248,141,102,38), mode="Single", method="Default", keyword="已有角色", name="sa_check_select_svr") # Swipe Rule Assets diff --git a/tasks/Component/SwitchAccount/ocr.json b/tasks/Component/SwitchAccount/ocr.json index d347e4df1..8c7bbbd7f 100644 --- a/tasks/Component/SwitchAccount/ocr.json +++ b/tasks/Component/SwitchAccount/ocr.json @@ -54,7 +54,7 @@ "description": "登录界面 用户中心(区别于游戏内用户中心) 账户名" }, { - "itemName": "sa_check_selcet_svr", + "itemName": "sa_check_select_svr", "roiFront": "252,145,97,32", "roiBack": "248,141,102,38", "mode": "Single", diff --git a/tasks/FindJade/script_task.py b/tasks/FindJade/script_task.py index 87ec3b2e4..4e00dca7b 100644 --- a/tasks/FindJade/script_task.py +++ b/tasks/FindJade/script_task.py @@ -106,7 +106,7 @@ def next_run(self, task: str, finish: bool = False, # SimplePatch.patch() - c = Config('翻小号') + c = Config('oas1') d = Device(c) t = ScriptTask(c, d)