From 30ed65da71d84c783f7145f151a482a2fa1df830 Mon Sep 17 00:00:00 2001 From: mno <718135749@qq.com> Date: Thu, 28 Aug 2025 12:31:16 +0800 Subject: [PATCH] =?UTF-8?q?js=EF=BC=9A=E9=94=84=E5=9C=B0=E4=B8=80=E6=9D=A1?= =?UTF-8?q?=E9=BE=991.5.1=20(#1741)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ### 1.5.1(2025.08.28) 1.优化检测坐标判断路线运行成功的机制 --- repo/js/AutoHoeingOneDragon/README.md | 2 ++ repo/js/AutoHoeingOneDragon/main.js | 37 ++++++++++++++--------- repo/js/AutoHoeingOneDragon/manifest.json | 2 +- 3 files changed, 26 insertions(+), 15 deletions(-) diff --git a/repo/js/AutoHoeingOneDragon/README.md b/repo/js/AutoHoeingOneDragon/README.md index 174c0768d..8c93986a9 100644 --- a/repo/js/AutoHoeingOneDragon/README.md +++ b/repo/js/AutoHoeingOneDragon/README.md @@ -94,6 +94,8 @@ --- ### 更新日志 +### 1.5.1(2025.08.28) +1.优化检测坐标判断路线运行成功的机制 ### 1.5.0(2025.08.27) 1.加入配队检测,配队不合理时进行警告,但不影响正常进程 2.readme中加入锄地配队建议 diff --git a/repo/js/AutoHoeingOneDragon/main.js b/repo/js/AutoHoeingOneDragon/main.js index 503c8a96f..02ee4b61d 100644 --- a/repo/js/AutoHoeingOneDragon/main.js +++ b/repo/js/AutoHoeingOneDragon/main.js @@ -1,4 +1,4 @@ -//当前js版本 1.5.0 +//当前js版本 1.5.1 //拾取时上下滑动的时间 let timeMoveUp; @@ -163,18 +163,17 @@ let warnMessage = []; if (improperTeam) { warnMessage.push("配队不合理,请阅读readme中的锄地配队建议"); warnMessage.push("如果已经阅读过,请忽略该警告"); - //for (let i = 0; i < 5; i++) { + for (let i = 0; i < 5; i++) { // 原始文本 - let originalMessage = "\n\n配队不合理,请阅读readme中的锄地配队建议\n\n如果已经阅读过,请忽略该警告"; + let originalMessage = " 配队不合理,请阅读readme中的锄地配队建议"; // 计算轮替的偏移量,每次循环偏移一位 - //let offset = i % originalMessage.length; // 每次循环偏移一位 + let offset = i % originalMessage.length; // 每次循环偏移一位 // 构造轮替后的文本 - //let message = originalMessage.slice(-offset) + originalMessage.slice(0, -offset); + let message = originalMessage.slice(-offset) + originalMessage.slice(0, -offset); // 输出内容 - // log.error(message); - log.warn(originalMessage); - await sleep(3000); - //} + log.error(message); + await sleep(500); + } } log.info("开始运行锄地路线"); await updateRecords(pathings, accountName); @@ -911,7 +910,7 @@ async function runPath(pathFilePath, map_name, whitelistKeywords, blacklistKeywo } // 启动任务,变量名仍叫 warnTask - // const warnTask = warnLoop(); + const warnTask = warnLoop(); // 启动路径文件执行任务 const pathTask = executePathFile(pathFilePath); @@ -930,8 +929,7 @@ async function runPath(pathFilePath, map_name, whitelistKeywords, blacklistKeywo // 等待所有任务完成 try { - // await Promise.allSettled([pathTask, ocrTask, dumperTask, warnTask]); - await Promise.allSettled([pathTask, ocrTask, dumperTask]); + await Promise.allSettled([pathTask, ocrTask, dumperTask, warnTask]); } catch (error) { console.error(`执行任务时发生错误:${error.message}`); state.cancelRequested = true; // 设置取消标志 @@ -1114,6 +1112,17 @@ async function processPathingsByGroup(pathings, whitelistKeywords, blacklistKeyw // 输出路径已刷新并开始处理的信息 log.info(`该路线已刷新,开始处理。`); await fakeLog(`${pathing.fileName}`, false, true, 0); + try { + await genshin.returnMainUi(); + const miniMapPosition = await genshin.getPositionFromMap(pathing.map_name); + // 更新坐标 + lastX = miniMapPosition.X; + lastY = miniMapPosition.Y; + //log.info(`当前位于${pathing.map_name}地图的(${miniMapPosition.X},${miniMapPosition.Y},距离上次距离${(diffX + diffY)}`); + } catch (error) { + log.error(`获取坐标时发生错误:${error.message}`); + runningFailCount++; + } // 调用 runPath 函数处理路径 await runPath(pathing.fullPath, pathing.map_name, whitelistKeywords, blacklistKeywords); try { @@ -1138,12 +1147,12 @@ async function processPathingsByGroup(pathings, whitelistKeywords, blacklistKeyw } //log.info(`当前位于${pathing.map_name}地图的(${miniMapPosition.X},${miniMapPosition.Y},距离上次距离${(diffX + diffY)}`); } catch (error) { - log.error(`执行任务时发生错误:${error.message}`); + log.error(`获取坐标时发生错误:${error.message}`); runningFailCount++; } if (runningFailCount >= 1) { - log.error("连续两条路线终止时坐标不变,不记录运行数据"); + log.error("出发点与终点过于接近,或坐标获取异常,不记录运行数据"); continue; } diff --git a/repo/js/AutoHoeingOneDragon/manifest.json b/repo/js/AutoHoeingOneDragon/manifest.json index 12cd05cc9..3aad5b415 100644 --- a/repo/js/AutoHoeingOneDragon/manifest.json +++ b/repo/js/AutoHoeingOneDragon/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 1, "name": "锄地一条龙", - "version": "1.5.0", + "version": "1.5.1", "description": "一站式解决自动化锄地,支持只拾取狗粮,请仔细阅读README.md后使用", "authors": [ {