From 383232869a198d719c3277ce72740b5994d3984c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=BA=81=E5=8A=A8=E7=9A=84=E6=B0=A8=E6=B0=94?= <131591012+zaodonganqi@users.noreply.github.com> Date: Tue, 9 Dec 2025 13:20:43 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=84=E8=8C=83=E8=AF=86=E5=88=AB=E8=8C=83?= =?UTF-8?q?=E5=9B=B4=EF=BC=8C=E9=81=BF=E5=85=8D=E7=9B=B4=E6=8E=A5=E4=BD=BF?= =?UTF-8?q?=E7=94=A8genshin.width=20(#2464)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 规范识别范围,避免直接使用genshin.width --- repo/js/AEscoffier_chef/main.js | 4 +-- repo/js/AEscoffier_chef/manifest.json | 2 +- repo/js/ActivitySwitch/main.js | 8 +++--- repo/js/ActivitySwitch/manifest.json | 2 +- repo/js/AutoLeyLineOutcrop/main.js | 2 +- repo/js/AutoLeyLineOutcrop/manifest.json | 2 +- repo/js/AutoMonday/main.js | 2 +- repo/js/AutoMonday/manifest.json | 2 +- repo/js/AutoStoryLoader/main.js | 8 +++--- repo/js/AutoStoryLoader/manifest.json | 2 +- repo/js/AutoTranscribePathing/main.js | 4 +-- repo/js/AutoTranscribePathing/manifest.json | 2 +- repo/js/DSTCG/main.js | 6 ++-- repo/js/DSTCG/manifest.json | 2 +- repo/js/HolyRelicsUp/main.js | 4 +-- repo/js/HolyRelicsUp/manifest.json | 2 +- repo/js/OCR读取主界面队伍/main.js | 4 +-- repo/js/OCR读取主界面队伍/manifest.json | 2 +- repo/js/SwitchAccountMultipleMode/main.js | 28 ++++++++----------- .../SwitchAccountMultipleMode/manifest.json | 2 +- repo/js/TravelersTales/main.js | 2 +- repo/js/TravelersTales/manifest.json | 2 +- repo/js/WeeklyBoss/manifest.json | 2 +- repo/js/WeeklyBoss/utils.js | 2 +- 24 files changed, 46 insertions(+), 52 deletions(-) diff --git a/repo/js/AEscoffier_chef/main.js b/repo/js/AEscoffier_chef/main.js index b696f87c2..f5ba3ddaf 100644 --- a/repo/js/AEscoffier_chef/main.js +++ b/repo/js/AEscoffier_chef/main.js @@ -313,7 +313,7 @@ * @returns {Promise} 返回熟练度数组 [当前熟练度, 总熟练度] */ async function check_proficiency(ui="main") { - let ocrRo = RecognitionObject.Ocr(0, 0, genshin.width, genshin.height); + let ocrRo = RecognitionObject.Ocr(0, 0, 1920, 1080); if (ui === "main") { ocrRo = RecognitionObject.Ocr(1424, 422, 82, 37); } else if (ui === "finish") { @@ -371,7 +371,7 @@ */ async function select_food_by_fullname(food_name) { log.info(`在当前页面寻找 ${food_name} ...`); - const ocrRo = RecognitionObject.Ocr(0, 0, genshin.width, genshin.height); + const ocrRo = RecognitionObject.Ocr(0, 0, 1920, 1080); moveMouseTo(1555, 860); // 移走鼠标,防止干扰OCR await sleep(200); diff --git a/repo/js/AEscoffier_chef/manifest.json b/repo/js/AEscoffier_chef/manifest.json index 9b19d6d00..ca19131cd 100644 --- a/repo/js/AEscoffier_chef/manifest.json +++ b/repo/js/AEscoffier_chef/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 1, "name": "一只爱可菲(厨娘版)", - "version": "1.3.3", + "version": "1.3.4", "bgi_version": "0.45.0", "description": "专精料理制作的爱可菲(自动烹饪及解锁、特殊料理)", "authors": [ diff --git a/repo/js/ActivitySwitch/main.js b/repo/js/ActivitySwitch/main.js index f21d313fa..53262a75a 100644 --- a/repo/js/ActivitySwitch/main.js +++ b/repo/js/ActivitySwitch/main.js @@ -20,10 +20,10 @@ async function switchToActivityPage(activityName, activityKey, maxOcrCount) { await keyUp(activityKey); await sleep(1000); - let ocr_x = parseInt(100 * gameWidth / 1920 + '') - let ocr_y = parseInt(200 * gameHeight / 1080 + '') - let ocr_width = parseInt(450 * gameWidth / 1920 + '') - let ocr_hight = parseInt(600 * gameHeight / 1080 + '') + let ocr_x = 100; + let ocr_y = 200; + let ocr_width = 450; + let ocr_hight = 600; log.info(`参考值(1920*1080):{"x": 100, "y": 200, "width": 450, "height": 600}`) let ocrRegion = { "x": ocr_x, diff --git a/repo/js/ActivitySwitch/manifest.json b/repo/js/ActivitySwitch/manifest.json index dfcfb26d1..426fe122e 100644 --- a/repo/js/ActivitySwitch/manifest.json +++ b/repo/js/ActivitySwitch/manifest.json @@ -1,6 +1,6 @@ { "name": "切换活动页面", - "version": "1.1.1", + "version": "1.1.2", "description": "(需要处于主界面)一个通过 F5 打开活动页面、(鼠标上滑/滚轮滑动)并根据活动名称选择活动的脚本", "settings_ui": "settings.json", "main": "main.js", diff --git a/repo/js/AutoLeyLineOutcrop/main.js b/repo/js/AutoLeyLineOutcrop/main.js index f41be6e92..14978e6e7 100644 --- a/repo/js/AutoLeyLineOutcrop/main.js +++ b/repo/js/AutoLeyLineOutcrop/main.js @@ -24,7 +24,7 @@ const ocrRegion3 = { x: 1200, y: 520, width: 300, height: 300 }; // 拾取区 // 预定义识别对象 const openRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("assets/icon/open.png")); const closeRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("assets/icon/close.png")); -const paimonMenuRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("assets/icon/paimon_menu.png"), 0, 0, genshin.width / 3.0, genshin.width / 5.0); +const paimonMenuRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("assets/icon/paimon_menu.png"), 0, 0, 640, 216); const boxIconRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("assets/icon/box.png")); const ocrRo1 = RecognitionObject.ocr(ocrRegion1.x, ocrRegion1.y, ocrRegion1.width, ocrRegion1.height); const ocrRo2 = RecognitionObject.ocr(ocrRegion2.x, ocrRegion2.y, ocrRegion2.width, ocrRegion2.height); diff --git a/repo/js/AutoLeyLineOutcrop/manifest.json b/repo/js/AutoLeyLineOutcrop/manifest.json index f1cd05168..5a26293bb 100644 --- a/repo/js/AutoLeyLineOutcrop/manifest.json +++ b/repo/js/AutoLeyLineOutcrop/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 1, "name": "全自动地脉花", - "version": "4.4.5", + "version": "4.4.6", "tags": ["地脉花"], "bgi_version": "0.52.0", "description": "基于OCR图像识别的全自动刷取地脉花。\n💡更多信息请查看README! \n\n----------注意事项----------\n●仅支持BetterGI 0.52.0 及以上版本!\n●部分地脉花因特殊原因不支持全自动,具体的点位请在手册中查看。\n●树脂使用的优先级:2倍原粹树脂 > 浓缩树脂 > 原粹树脂。\n●运行时会传送到七天神像设置中设置的七天神像,需要关闭七天神像设置中的“是否就近七天神像恢复血量”,并指定七天神像。\n●战斗策略注意调度器设置中地图追踪行走配置里的“允许在JsSpript中使用”和“覆盖JS中的自动战斗配置”,只有在都打开的情况下脚本才会使用下面的战斗配置,否则会使用独立任务中的战斗策略。战斗超时时间不能大于脚本自定义配置中的时间。\n\n如果遇到问题,请先参照README中的方法进行解决。", diff --git a/repo/js/AutoMonday/main.js b/repo/js/AutoMonday/main.js index 327ab62d1..c5738074f 100644 --- a/repo/js/AutoMonday/main.js +++ b/repo/js/AutoMonday/main.js @@ -28,7 +28,7 @@ const BossPartyName = settings.BossPartyName;// 战斗队伍 let mijingCount = 1;// 自动秘境计数 // OCR对象用于检测战斗文本 - const ocrRo2 = RecognitionObject.Ocr(0, 0, genshin.width, genshin.height); + const ocrRo2 = RecognitionObject.Ocr(0, 0, 1920, 1080); // 创建材质到ITEM的映射表 // 养成道具=1,食物=2,材料=3 diff --git a/repo/js/AutoMonday/manifest.json b/repo/js/AutoMonday/manifest.json index 0dbe89223..6f891cc6f 100644 --- a/repo/js/AutoMonday/manifest.json +++ b/repo/js/AutoMonday/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 1, "name": "全自动周一", - "version": "1.3.5", + "version": "1.3.6", "tags": [ "周常", "纪行", diff --git a/repo/js/AutoStoryLoader/main.js b/repo/js/AutoStoryLoader/main.js index e20e70ba7..0a2e9f456 100644 --- a/repo/js/AutoStoryLoader/main.js +++ b/repo/js/AutoStoryLoader/main.js @@ -8,8 +8,8 @@ const paimonMenuRo = RecognitionObject.TemplateMatch( file.ReadImageMatSync("Data/RecognitionObject/paimon_menu.png"), 0, 0, - genshin.width / 3.0, - genshin.width / 5.0 + 640, + 216 ); // 读取设置 @@ -539,8 +539,8 @@ const isInMainUI = () => { file.ReadImageMatSync("Data/RecognitionObject/paimon_menu.png"), 0, 0, - genshin.width / 3.0, - genshin.width / 5.0 + 640, + 216 ); return () => { diff --git a/repo/js/AutoStoryLoader/manifest.json b/repo/js/AutoStoryLoader/manifest.json index c9bfefdf6..1a4d8809f 100644 --- a/repo/js/AutoStoryLoader/manifest.json +++ b/repo/js/AutoStoryLoader/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 1, "name": "自动剧情加载器", - "version": "1.5", + "version": "1.6", "tags": ["剧情","任务"], "description": "剧情自动加载器一键挂机过剧情:自动寻路、对话、战斗(需任务脚本支持),脚本拖进调度器就能跑,仅提供技术框架,完全体须搭配需任务脚本使用,详情见说明文档", "authors": [ diff --git a/repo/js/AutoTranscribePathing/main.js b/repo/js/AutoTranscribePathing/main.js index 12d946098..012b464b9 100644 --- a/repo/js/AutoTranscribePathing/main.js +++ b/repo/js/AutoTranscribePathing/main.js @@ -3,8 +3,8 @@ const paimonMenuRo = RecognitionObject.TemplateMatch( file.ReadImageMatSync("assets/RecognitionObject/paimon_menu.png"), 0, 0, - genshin.width / 3.0, - genshin.width / 5.0 + 640, + 216 ); // 判断是否在主界面的函数 diff --git a/repo/js/AutoTranscribePathing/manifest.json b/repo/js/AutoTranscribePathing/manifest.json index f734be40e..864931e66 100644 --- a/repo/js/AutoTranscribePathing/manifest.json +++ b/repo/js/AutoTranscribePathing/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 1, "name": "地图追踪录制", - "version": "1.1", + "version": "1.2", "bgi_version": "0.45.0", "description": "自动地图追踪录制,每3秒从小地图获取一次当前坐标,打开大地图结束录制", "tags": [ diff --git a/repo/js/DSTCG/main.js b/repo/js/DSTCG/main.js index 6704d0614..4e7fce4d7 100644 --- a/repo/js/DSTCG/main.js +++ b/repo/js/DSTCG/main.js @@ -1353,7 +1353,7 @@ } else if (turnStatus === "enemy") { // 敌方回合 await sleep(500); } else { - click(genshin.width / 2, genshin.height / 2); + click(960, 540); await sleep(500); } } @@ -1552,7 +1552,7 @@ await terminateTurn(); } } else if (turnStatus === "enemy") { // 敌方回合 - click(genshin.width / 2, genshin.height / 2); + click(960, 540); await sleep(1000); } else { click(1873, 47); @@ -1598,7 +1598,7 @@ } else if (turnStatus === "enemy") { // 敌方回合 await sleep(500); } else { - click(genshin.width / 2, genshin.height / 2); + click(960, 540); await sleep(500); } } diff --git a/repo/js/DSTCG/manifest.json b/repo/js/DSTCG/manifest.json index e4a277356..dad722cf3 100644 --- a/repo/js/DSTCG/manifest.json +++ b/repo/js/DSTCG/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 1, "name": "「牌圣」", - "version": "1.1", + "version": "1.2", "bgi_version": "0.45.0", "description": "智能版自动七圣召唤", "authors": [ diff --git a/repo/js/HolyRelicsUp/main.js b/repo/js/HolyRelicsUp/main.js index 7aca001e0..567fc8cbe 100644 --- a/repo/js/HolyRelicsUp/main.js +++ b/repo/js/HolyRelicsUp/main.js @@ -2000,8 +2000,8 @@ const isInMainUI = () => { file.ReadImageMatSync(`${main_interface.path}${main_interface.name}${main_interface.type}`), 0, 0, - genshin.width / 3.0, - genshin.width / 5.0 + 640, + 216 ); let captureRegion = openCaptureGameRegion(); let res = findByCaptureGameRegion(captureRegion, paimonMenuRo); diff --git a/repo/js/HolyRelicsUp/manifest.json b/repo/js/HolyRelicsUp/manifest.json index bf9b82603..831792210 100644 --- a/repo/js/HolyRelicsUp/manifest.json +++ b/repo/js/HolyRelicsUp/manifest.json @@ -1,6 +1,6 @@ { "name": "圣遗物批量强化", - "version": "1.1.7", + "version": "1.1.8", "description": "一个批量强化圣遗物的脚本", "settings_ui": "settings.json", "main": "main.js", diff --git a/repo/js/OCR读取主界面队伍/main.js b/repo/js/OCR读取主界面队伍/main.js index e8525664d..c487a8413 100644 --- a/repo/js/OCR读取主界面队伍/main.js +++ b/repo/js/OCR读取主界面队伍/main.js @@ -109,8 +109,8 @@ const paimonMenuRo = RecognitionObject.TemplateMatch( file.ReadImageMatSync("assets/paimon_menu.png"), 0, 0, - genshin.width / 3.0, - genshin.width / 5.0 + 640, + 216 ); // 判断是否在主界面的函数 diff --git a/repo/js/OCR读取主界面队伍/manifest.json b/repo/js/OCR读取主界面队伍/manifest.json index c2ba02c69..28e054406 100644 --- a/repo/js/OCR读取主界面队伍/manifest.json +++ b/repo/js/OCR读取主界面队伍/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 1, "name": "OCR主界面读取队伍 ", - "version": "1.1", + "version": "1.2", "description": "至少0.44.3版本。OCR识别队伍角色", "authors": [ { diff --git a/repo/js/SwitchAccountMultipleMode/main.js b/repo/js/SwitchAccountMultipleMode/main.js index f1d8cff80..1a553bfa9 100644 --- a/repo/js/SwitchAccountMultipleMode/main.js +++ b/repo/js/SwitchAccountMultipleMode/main.js @@ -124,14 +124,8 @@ async function recognizeTextAndClick(targetText, ocrRegion, timeout = 8000) { var u = {}; // utilities 工具函数集合 u.logi = function (message, args) { log.info("[切换账号]" + message, args) }; u.logw = function (message, args) { log.warn("[切换账号]" + message, args) }; - u.x = function (value) { return (value === undefined) ? genshin.width : genshin.width * (value / 1920); }; - u.y = function (value) { return (value === undefined) ? genshin.height : genshin.height * (value / 1080); }; u.loadTemplate = function (filePath, x /* 0 if omit */, y /* 0 if omit */, w /* maxWidth if omit */, h /* maxHeight if omit */) { - const _x = u.x(x === undefined ? 0 : x); - const _y = u.y(y === undefined ? 0 : y); - const _w = u.x(w) - _x; - const _h = u.y(h) - _y; - return RecognitionObject.TemplateMatch(file.ReadImageMatSync(filePath), _x, _y, _w, _h); + return RecognitionObject.TemplateMatch(file.ReadImageMatSync(filePath), x, y, w, h); }; u.findText = function (resList, text) { for (let i = 0; i < resList.count; i++) { @@ -279,7 +273,7 @@ async function recognizeTextAndClick(targetText, ocrRegion, timeout = 8000) { let logoutIconFound = !res.isEmpty(); if (logoutIconFound) { - let resList = captureRegion.findMulti(RecognitionObject.ocr(u.x(850), u.y(970), u.x(220), u.y(100))); + let resList = captureRegion.findMulti(RecognitionObject.ocr(850, 970, 220, 100)); captureRegion.dispose(); if (u.findText(resList, "点击进入")) { u.logi("检测到目前处于登录界面"); @@ -329,10 +323,10 @@ async function recognizeTextAndClick(targetText, ocrRegion, timeout = 8000) { // 识别派蒙菜单,点击登出按钮 await u.waitAndFindImage(assetPaimonCancelIcon); // u.logi("点击登出按钮"); - click(u.x(50), u.y(1024)); + click(50, 1024); // 退出至登录界面 - let btnExitToLogin = await u.waitAndFindText("退出至登录界面", u.x(680), u.y(380), u.x(540), u.y(340)); + let btnExitToLogin = await u.waitAndFindText("退出至登录界面", 680, 380, 540, 340); // u.logi("检测到\"退出至登录界面\"按钮,点击"); // btnExitToLogin.DrawSelf("ExitToLoginBtn"); btnExitToLogin.Click(); @@ -355,7 +349,7 @@ async function recognizeTextAndClick(targetText, ocrRegion, timeout = 8000) { async function stateChangeUser() { u.logi("开始切换账号"); - await u.waitAndFindText(["进入游戏", "登录其他账号"], u.x(680), u.y(380), u.x(540), u.y(340), 200); + await u.waitAndFindText(["进入游戏", "登录其他账号"], 680, 380, 540, 340, 200); const assetSelectUserDropDownIcon = u.loadTemplate("Assets/RecognitionObject/caret.png", 680, 380, 1220, 720); let captureRegion = captureGameRegion(); @@ -363,7 +357,7 @@ async function recognizeTextAndClick(targetText, ocrRegion, timeout = 8000) { captureRegion.dispose(); if (res.isEmpty()) { u.logi("未找到下拉菜单图标,点击硬编码的坐标(960, 500)展开菜单"); - click(u.x(960), u.y(500)); + click(960, 500); } else { // u.logi("识别到下拉菜单,点击"); // res.DrawSelf("UserDropdown"); @@ -379,7 +373,7 @@ async function recognizeTextAndClick(targetText, ocrRegion, timeout = 8000) { await sleep(200); let captureRegion = captureGameRegion(); - let resList = captureRegion.findMulti(RecognitionObject.ocr(u.x(680), u.y(540), u.x(540), u.y(500))); + let resList = captureRegion.findMulti(RecognitionObject.ocr(680, 540, 540, 500)); captureRegion.dispose(); for (let i = 0; i < resList.count; i++) { let res = resList[i]; @@ -409,7 +403,7 @@ async function recognizeTextAndClick(targetText, ocrRegion, timeout = 8000) { await sleep(500); { let captureRegion = captureGameRegion(); - let btnEnterGame = captureRegion.DeriveCrop(u.x(684), u.y(598), u.x(552), u.y(66)); + let btnEnterGame = captureRegion.DeriveCrop(684, 598, 552, 66); btnEnterGame.Click(); captureRegion.dispose(); btnEnterGame.dispose(); @@ -420,7 +414,7 @@ async function recognizeTextAndClick(targetText, ocrRegion, timeout = 8000) { async function stateEnterGame() { // u.logi("开始进入游戏,等待游戏加载。"); - let textClickToStart = await u.waitAndFindText("点击进入", u.x(850), u.y(970), u.x(220), u.y(100)); + let textClickToStart = await u.waitAndFindText("点击进入", 850, 970, 220, 100); // u.logi("已识别到\"点击进入\"文本,点击鼠标进入游戏。"); textClickToStart.DrawSelf("ClickToStart"); textClickToStart.Click(); @@ -520,7 +514,7 @@ async function recognizeTextAndClick(targetText, ocrRegion, timeout = 8000) { keyDown("VK_MENU"); await sleep(500); for (let i = 0; i <= 4; i++) { - await click(Math.round(genshin.width / 2.0), Math.round(genshin.height * 0.8)); + await click(960, 864); await sleep(1000); } } finally { @@ -584,7 +578,7 @@ async function recognizeTextAndClick(targetText, ocrRegion, timeout = 8000) { keyDown("VK_MENU"); await sleep(500); for (let i = 0; i <= 4; i++) { - await click(Math.round(genshin.width / 2.0), Math.round(genshin.height * 0.8)); + await click(960, 864); await sleep(1000); } //keyUp("VK_MENU"); diff --git a/repo/js/SwitchAccountMultipleMode/manifest.json b/repo/js/SwitchAccountMultipleMode/manifest.json index 597d23c9a..2d258b400 100644 --- a/repo/js/SwitchAccountMultipleMode/manifest.json +++ b/repo/js/SwitchAccountMultipleMode/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 1, "name": "切换账号多模式", - "version": "1.2", + "version": "1.3", "bgi_version": "0.53.0", "description": "多种模式的切换账号,有下拉列表、填写账号密码,OCR操作或键鼠操作\n免责申明:所有的账号密码均保存在本地,请使用者妥善保管账号密码,请勿外泄账号密码。若因使用此脚本导致的账号泄露、封禁问题与脚本作者无关。", "tags": [ diff --git a/repo/js/TravelersTales/main.js b/repo/js/TravelersTales/main.js index 24ef18b19..a64c94044 100644 --- a/repo/js/TravelersTales/main.js +++ b/repo/js/TravelersTales/main.js @@ -345,7 +345,7 @@ async function locate() { */ async function waitToMain(hasKeyMouse = false) { log.info("等待返回主界面..."); - const paimonMenuRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("assets/icon/paimon_menu.png"), 0, 0, genshin.width / 3.0, genshin.width / 5.0); + const paimonMenuRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("assets/icon/paimon_menu.png"), 0, 0, 640, 216); const maxRetries = 180; // 设置最大重试次数以防止无限循环 let retries = 0; let enteredLoop = false; diff --git a/repo/js/TravelersTales/manifest.json b/repo/js/TravelersTales/manifest.json index 77da7ba0d..b019dafea 100644 --- a/repo/js/TravelersTales/manifest.json +++ b/repo/js/TravelersTales/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 1, "name": "游逸旅闻", - "version": "0.2.1", + "version": "0.2.2", "bgi_version": "0.45.1", "description": "自动游逸旅闻", "authors": [ diff --git a/repo/js/WeeklyBoss/manifest.json b/repo/js/WeeklyBoss/manifest.json index c9257dcfc..c01b2e217 100644 --- a/repo/js/WeeklyBoss/manifest.json +++ b/repo/js/WeeklyBoss/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 1, "name": "周本一条龙", - "version": "3.1.2", + "version": "3.1.3", "description": "https://www.bilibili.com/video/BV1F2uvz3E4K/?vd_source=9dfaf88af48ecc0ff95a41f1145af7a2", "authors": [ { diff --git a/repo/js/WeeklyBoss/utils.js b/repo/js/WeeklyBoss/utils.js index 4417a816f..8d7319138 100644 --- a/repo/js/WeeklyBoss/utils.js +++ b/repo/js/WeeklyBoss/utils.js @@ -625,7 +625,7 @@ async function autoFightAndEndDetection(extraFightAction) { // 定义两个检测区域 const region1 = RecognitionObject.ocr(700, 0, 450, 100);//区域一 BOSS名称 const region2 = RecognitionObject.ocr(820, 935, 280, 50);//区域二 成功倒计时 - const paimonMenuRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("assets/paimon_menu.png"), 0, 0, genshin.width / 3.0, genshin.width / 5.0); + const paimonMenuRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("assets/paimon_menu.png"), 0, 0, 640, 216); const teamRo1 = RecognitionObject.TemplateMatch(file.ReadImageMatSync("assets/team1.png"), 1820, 240, 80, 400); const teamRo2 = RecognitionObject.TemplateMatch(file.ReadImageMatSync("assets/team2.png"), 1820, 240, 80, 400); let challengeTime = 0;