js:锄地一条龙1.5.1 (#1741)

### 1.5.1(2025.08.28)
1.优化检测坐标判断路线运行成功的机制
This commit is contained in:
mno
2025-08-28 12:31:16 +08:00
committed by GitHub
parent aee2691ce5
commit 30ed65da71
3 changed files with 26 additions and 15 deletions

View File

@@ -94,6 +94,8 @@
---
### 更新日志
### 1.5.12025.08.28
1.优化检测坐标判断路线运行成功的机制
### 1.5.02025.08.27
1.加入配队检测,配队不合理时进行警告,但不影响正常进程
2.readme中加入锄地配队建议

View File

@@ -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;
}

View File

@@ -1,7 +1,7 @@
{
"manifest_version": 1,
"name": "锄地一条龙",
"version": "1.5.0",
"version": "1.5.1",
"description": "一站式解决自动化锄地支持只拾取狗粮请仔细阅读README.md后使用",
"authors": [
{