From da26bf3a97239344068760704eb6359a3396e1fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B7=E4=B8=AA=E5=90=8D=E5=AD=97=E5=A5=BD=E9=9A=BE?= =?UTF-8?q?=E7=9A=84=E5=96=B5?= <25520958+MisakaAldrich@users.noreply.github.com> Date: Thu, 28 Aug 2025 16:59:59 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BE=A4=E5=8F=8B=E8=AF=B4=E6=9E=AB=E4=B8=B9?= =?UTF-8?q?=E6=9C=89=E9=97=AE=E9=A2=98=EF=BC=8C=E6=94=B9=E6=88=90=E8=92=99?= =?UTF-8?q?=E5=BE=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- repo/js/AutoFightAsync/main.js | 50 ---------------------------- repo/js/AutoFightAsync/manifest.json | 18 ---------- repo/js/AutoSmithyOre/main.js | 2 +- repo/js/AutoSmithyOre/manifest.json | 4 ++- repo/js/AutoSmithyOre/settings.json | 2 +- repo/js/铁匠铺/main.js | 2 +- repo/js/铁匠铺/manifest.json | 3 +- repo/js/铁匠铺/settings.json | 2 +- 8 files changed, 9 insertions(+), 74 deletions(-) delete mode 100644 repo/js/AutoFightAsync/main.js delete mode 100644 repo/js/AutoFightAsync/manifest.json diff --git a/repo/js/AutoFightAsync/main.js b/repo/js/AutoFightAsync/main.js deleted file mode 100644 index 4a7592670..000000000 --- a/repo/js/AutoFightAsync/main.js +++ /dev/null @@ -1,50 +0,0 @@ -async function recognizeTextInRegion(ocrRegion, timeout = 2 * 60 * 1000) { - let startTime = Date.now(); - const successKeywords = ["挑战达成", "战斗胜利", "挑战成功"]; - const failureKeywords = ["挑战失败"]; - while (Date.now() - startTime < timeout) { - try { - let result = captureGameRegion().find(RecognitionObject.ocr(ocrRegion.x, ocrRegion.y, ocrRegion.width, ocrRegion.height)); - let text = result.text; - for (let keyword of successKeywords) { - if (text.includes(keyword)) { - log.info("检测到战斗成功关键词: {0}", keyword); - return true; - } - } - for (let keyword of failureKeywords) { - if (text.includes(keyword)) { - log.warn("检测到战斗失败关键词: {0}", keyword); - return false; - } - } - } - catch (error) { - log.error("OCR过程中出错: {0}", error); - } - await sleep(1000); // 检查间隔 - } - log.warn("在超时时间内未检测到战斗结果"); - return false; -} - -(async function () { - await genshin.returnMainUi(); - keyPress("F"); - // 上面是地脉测试使用的代码 正式使用请注释掉 - const cts = new CancellationTokenSource(); - try { - log.info("开始执行自动战斗任务..."); - const battleTask = dispatcher.RunTask(new SoloTask("AutoFight"), cts); - const ocrRegionX = 850; - const ocrRegionY = 230; - const ocrRegionWidth = 1040 - 850; - const ocrRegionHeight = 300 - 230; - let ocrRegion = { x: ocrRegionX, y: ocrRegionY, width: ocrRegionWidth, height: ocrRegionHeight }; - let fightResult = await recognizeTextInRegion(ocrRegion) ? "成功" : "失败"; - log.info(`战斗任务已结束,战斗结果:${fightResult}`); - cts.cancel(); - } catch (error) { - log.error(`执行过程中出错: ${error}`); - } -})(); \ No newline at end of file diff --git a/repo/js/AutoFightAsync/manifest.json b/repo/js/AutoFightAsync/manifest.json deleted file mode 100644 index aa7dc1772..000000000 --- a/repo/js/AutoFightAsync/manifest.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "manifest_version": 1, - "name": "AutoFightAsync", - "version": "1.0", - "bgi_version": "0.34.6", - "description": "异步调用独立战斗任务,根据OCR结果判断战斗是否结束,不建议直接使用,仅供其他脚本作者参考", - "tags": [ - "示例" - ], - "authors": [ - { - "name": "秋云", - "links": "https://github.com/physligl" - } - ], - "settings_ui": "settings.json", - "main": "main.js" -} \ No newline at end of file diff --git a/repo/js/AutoSmithyOre/main.js b/repo/js/AutoSmithyOre/main.js index ba425ea14..14d8fd303 100644 --- a/repo/js/AutoSmithyOre/main.js +++ b/repo/js/AutoSmithyOre/main.js @@ -2,7 +2,7 @@ /// // 读取用户配置 /// - let smithyName = settings.smithyName != undefined ? settings.smithyName : "枫丹铁匠铺"; + let smithyName = settings.smithyName != undefined ? settings.smithyName : "蒙德铁匠铺"; /// // 定义函数 diff --git a/repo/js/AutoSmithyOre/manifest.json b/repo/js/AutoSmithyOre/manifest.json index 536d54ed9..ac3ca61fb 100644 --- a/repo/js/AutoSmithyOre/manifest.json +++ b/repo/js/AutoSmithyOre/manifest.json @@ -2,7 +2,7 @@ "manifest_version": 1, "name": "自动锻造魔矿", "version": "1.1", - "description": "自动选择铁匠铺去锻造魔矿,默认选择枫丹铁匠铺;可选择其他地区铁匠铺。由于地图追踪功能不支持室内定位,所以不支持纳塔铁匠铺。", + "description": "自动选择铁匠铺去锻造魔矿,默认选择蒙德铁匠铺;可选择其他地区铁匠铺。由于地图追踪功能不支持室内定位,所以不支持纳塔铁匠铺。", "authors": [ { "name": "寒露", @@ -10,6 +10,8 @@ } ], "tags": [ + "锻造", + "精锻用魔矿", "坐标点击" ], "settings_ui": "settings.json", diff --git a/repo/js/AutoSmithyOre/settings.json b/repo/js/AutoSmithyOre/settings.json index 677ff1172..9110d0123 100644 --- a/repo/js/AutoSmithyOre/settings.json +++ b/repo/js/AutoSmithyOre/settings.json @@ -2,7 +2,7 @@ { "name": "smithyName", // 变量名,在js内使用 settings.变量名 获取对应的配置值 "type": "select", // 类型 - "label": "选择铁匠铺(默认:枫丹铁匠铺)", + "label": "选择铁匠铺(默认:蒙德铁匠铺)", "options": [ "蒙德铁匠铺", "璃月铁匠铺", diff --git a/repo/js/铁匠铺/main.js b/repo/js/铁匠铺/main.js index 2a47a24be..237cc5edd 100644 --- a/repo/js/铁匠铺/main.js +++ b/repo/js/铁匠铺/main.js @@ -1,7 +1,7 @@ /*********************** 配置与常量 ***********************/ // 用户配置 -let smithyName = settings.smithyName || "枫丹铁匠铺"; // 铁匠铺地区 +let smithyName = settings.smithyName || "蒙德铁匠铺"; // 铁匠铺地区 let primaryOre = settings.ore || "水晶块"; // 主选矿石 let secondaryOre = settings.secondaryOre || "萃凝晶"; // 备选矿石1 let tertiaryOre = settings.tertiaryOre || "紫晶块"; // 备选矿石2 diff --git a/repo/js/铁匠铺/manifest.json b/repo/js/铁匠铺/manifest.json index c2dc97341..b49322efe 100644 --- a/repo/js/铁匠铺/manifest.json +++ b/repo/js/铁匠铺/manifest.json @@ -7,7 +7,8 @@ "tags": [ "铁匠铺", "锻造", - "精锻用矿" + "精锻用魔矿", + "模板匹配" ], "authors": [ { diff --git a/repo/js/铁匠铺/settings.json b/repo/js/铁匠铺/settings.json index cb65ee017..515a0e659 100644 --- a/repo/js/铁匠铺/settings.json +++ b/repo/js/铁匠铺/settings.json @@ -7,7 +7,7 @@ { "name": "smithyName", "type": "select", - "label": "选择铁匠铺(默认:枫丹铁匠铺)", + "label": "选择铁匠铺(默认:蒙德铁匠铺)", "options": [ "蒙德铁匠铺", "璃月铁匠铺",