From 03e54804fd7b56aaf1e9dbba15f0b73b2a388085 Mon Sep 17 00:00:00 2001 From: mno <718135749@qq.com> Date: Tue, 30 Sep 2025 21:52:27 +0800 Subject: [PATCH] =?UTF-8?q?js=EF=BC=9A=E4=B8=A4=E4=B8=AA=E7=8B=97=E7=B2=AE?= =?UTF-8?q?js=E6=9B=B4=E6=96=B0=20(#2043)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- repo/js/AAA-Artifacts-Bulk-Supply/README.md | 139 +++++++++--------- .../AAA-Artifacts-Bulk-Supply/manifest.json | 2 +- repo/js/ArtifactsGroupPurchasing/README.md | 38 ++--- repo/js/ArtifactsGroupPurchasing/main.js | 103 +++++++------ .../js/ArtifactsGroupPurchasing/manifest.json | 2 +- 5 files changed, 148 insertions(+), 136 deletions(-) diff --git a/repo/js/AAA-Artifacts-Bulk-Supply/README.md b/repo/js/AAA-Artifacts-Bulk-Supply/README.md index a07a7bdcb..8001d7c17 100644 --- a/repo/js/AAA-Artifacts-Bulk-Supply/README.md +++ b/repo/js/AAA-Artifacts-Bulk-Supply/README.md @@ -48,7 +48,7 @@ | 路线名称 | 调查点 | 富点数量 | 穷点数量 | 总经验值 | 总摩拉 | 运行时间 | 98上限点 富% | | -------- | ------ | -------- | -------- | -------- | ------ | -------- | ------------- | | 富A路线 | 162 | 105 | 57 | 98,469 | 22,600 | 69分钟 | 98/98 (100%) | -| 富B路线 | 135 | 105 | 30 | 83,160 | 21,000 | 53分钟 | 98/98 (100%) | +| 富B路线 | 135 | 105 | 30 | 83,160 | 21,000 | 53分钟 | 98/98 (100%) | | ABE A线 | 137 | 33 | 104 | 77,742 | 6,600 | 41分钟 | 27/98 (27.5%) | | ABE B线 | 138 | 34 | 104 | 77,868 | 6,800 | 43分钟 | 33/98 (33.6%) | @@ -60,7 +60,6 @@ 路径详情: https://www.kdocs.cn/wo/sl/v13uXscL - ## 五、路径结构 **激活**:提前加载触发CD倒计时,后续可自由安排时间拾取,避免“现用现触发”的等待问题,无需担心CD同步问题 @@ -70,7 +69,6 @@ https://www.kdocs.cn/wo/sl/v13uXscL **收尾**:附近区域超出100以外的调查点 **额外**:不受满上限影响消失,又叫超限点 - ## 六、队伍配置建议 - **根据自己CPU配置选择合适的移速**:电脑性能较差以至于收益远不如及格线时,降低队伍移速(使用较矮小的体型,不使用双风,四风原典,迪西雅天赋等)。 - **行走位:优先迪希雅;或芙宁娜等 E启动奶** @@ -78,112 +76,119 @@ https://www.kdocs.cn/wo/sl/v13uXscL - **万叶:建议携带,路径内配有E吸狗粮策略(不带不影响运行)**,琴可作为备选项,不要同时携带琴和万叶 - **双风BUFF**:移速+10% 体力消耗-15% - - +## 七、其他常见问题 + - **为什么不捡东西了** :检查自己的分辨率是否为1080p(更高或更低都不保证能正常运行),检查是否修改过按键 + - **为什么比预期少了很多** : + - 1. 可能运行了其他路线等误触了调查点 + - 2. 首次运行建议比前一天运行任何其他狗粮更晚,否则可能存在部分点位未刷新 + - 3. 电脑性能较差,容易跑偏/跑过头,建议降低画质等,并关闭不必要的其他程序 + - **这个js好慢,不像abe四十分钟就跑完了**:那就用abe ## 更新日志 +### 1.3.6(2025.09.30) +1. 更新readme ### 1.3.5(2025.09.30) -1,修几个漏捡的点 +1. 修几个漏捡的点 ### 1.3.4(2025.09.29) -1,修几个漏捡的点 -2.大炮点合并到踏鞴砂收尾里 +1. 修几个漏捡的点 +2. 大炮点合并到踏鞴砂收尾里 ### 1.3.3(2025.09.27) -1,修几个漏捡的点 +1. 修几个漏捡的点 ### 1.3.2(2025.09.26) -1.移除大部分点位的简易策略F.每条路线节约1~10秒.PS如果发现有漏捡调查点,记得录像发我 +1. 移除大部分点位的简易策略F.每条路线节约1~10秒.PS如果发现有漏捡调查点,记得录像发我 ### 1.3.1(2025.09.22) -1.修正等待时间错误 +1. 修正等待时间错误 ### 1.3.0(2025.09.21) -1.将拾取方式修改为模板匹配拾取 +1. 将拾取方式修改为模板匹配拾取 ### 1.2.15(2025.09.20) -1.修几条路线305①,632,640,628 +1. 修几条路线305①,632,640,628 ### 1.2.14(2025.09.19) -1.修几条路线305③,622,632,628,638,629清怪, +1. 修几条路线305③,622,632,628,638,629清怪, ### 1.2.13(2025.09.16) -1.修几条路线多人收尾区CD, -2.新增304神无卓狸猫火炬 +1. 修几条路线多人收尾区CD, +2. 新增304神无卓狸猫火炬 ### 1.2.12(2025.09.15) -1.修几条路线628,05额外鸡鸡 +1. 修几条路线628,05额外鸡鸡 ### 1.2.11(2025.09.13) -1.修05额外-鸡鸡9 +1. 修05额外-鸡鸡9 ### 1.2.10(2025.09.12) -1.修几条路线305①③,622,623,632,214,628,635,003激活纳塔-鸡鸡,05额外-鸡鸡9, +1. 修几条路线305①③,622,623,632,214,628,635,003激活纳塔-鸡鸡,05额外-鸡鸡9, ### 1.2.9(2025.09.07) -1.修复额外等待时间不生效的问题 -2.修几条路线228,622,638,305【清怪】稻妻-踏鞴, +1. 修复额外等待时间不生效的问题 +2. 修几条路线228,622,638,305【清怪】稻妻-踏鞴, ### 1.2.8(2025.09.04) -1.修几条路线305【清怪】稻妻-踏鞴砂,417,622,632,634, -2.【额外】水天丛林时间改成12点,未解锁任务也可以降水位 +1. 修几条路线305【清怪】稻妻-踏鞴砂,417,622,632,634, +2. 【额外】水天丛林时间改成12点,未解锁任务也可以降水位 ### 1.2.7(2025.09.03) -1.修几条路线622,638, -2.联机-收尾-清怪增加踏鞴砂 +1. 修几条路线622,638, +2. 联机-收尾-清怪增加踏鞴砂 ### 1.2.6(2025.09.03) -1.调整清怪和准备的位置 +1. 调整清怪和准备的位置 ### 1.2.5(2025.09.02) -1.修几条路线428,642,度假村激活 +1. 修几条路线428,642,度假村激活 ### 1.2.3(2025.09.01) -1.修复了日期和时间计算的一个bug,该bug曾导致每个月1号时断点续跑不生效 +1. 修复了日期和时间计算的一个bug,该bug曾导致每个月1号时断点续跑不生效 ### 1.2.3(2025.08.31) -1.修几条路线640,642,激活路线度假村/智障厅 +1. 修几条路线640,642,激活路线度假村/智障厅 ### 1.2.2(2025.08.30) -1.修几条路线303③,632,625.628,638,640, -2.新增305【清怪】稻妻-踏鞴砂 +1. 修几条路线303③,632,625.628,638,640, +2. 新增305【清怪】稻妻-踏鞴砂 ### 1.2.1(2025.08.28) -1.修几条路线305,506,620,625,636 +1. 修几条路线305,506,620,625,636 ### 1.2.0(2025.08.28) -1.修正时间判断逻辑(该bug曾导致北京时间4:00-8:00被视为前一天,不刷新路线cd) -2.路线末坐标判断加入重试,判断失败时等待1秒后重试 +1. 修正时间判断逻辑(该bug曾导致北京时间4:00-8:00被视为前一天,不刷新路线cd) +2. 路线末坐标判断加入重试,判断失败时等待1秒后重试 ### 1.1.6(2025.08.28) -1.修几条路线414,501,506,623,632,640,642,643,06灵迷纹 -2.新增多人联机629清怪 +1. 修几条路线414,501,506,623,632,640,642,643,06灵迷纹 +2. 新增多人联机629清怪 ### 1.1.5(2025.08.27) -1.修几条路线305②③,204,413,602,638 -2.修正mno传错的路径 +1. 修几条路线305②③,204,413,602,638 +2. 修正mno传错的路径 ### 1.1.4(2025.08.27) -1.尝试修正经验识别 +1. 尝试修正经验识别 ### 1.1.3(2025.08.26) -1.更正联机收尾路线逻辑 +1. 更正联机收尾路线逻辑 ### 1.1.2(2025.08.25) -1.优化几条卡脚路线 +1. 优化几条卡脚路线 ### 1.1.1(2025.08.25) -1.加入检测并点击过期物品弹窗 +1. 加入检测并点击过期物品弹窗 ### 1.1.0(2025.08.24) -1.开始尝试适配联机狗粮 +1. 开始尝试适配联机狗粮 ### 1.0.9(2025.08.23) -1.优化202,301,506,619,622,640,纳塔激活路线摔死 +1. 优化202,301,506,619,622,640,纳塔激活路线摔死 ### 1.0.8(2025.08.22) -1.优化度假村几处卡脚 +1. 优化度假村几处卡脚 ### 1.0.7(2025.08.22) -1.修复摧毁狗粮失败的问题 -2.修复路线完成校验失效的问题,现在能正常检测到路线完成失败,此时不会记录该路线完成 -3.优化部分路线 +1. 修复摧毁狗粮失败的问题 +2. 修复路线完成校验失效的问题,现在能正常检测到路线完成失败,此时不会记录该路线完成 +3. 优化部分路线 ### 1.0.6(2025.08.22) -1.修复自动分解不生效的问题 -2.优化强制黑白芙逻辑 -3.优化部分路线 +1. 修复自动分解不生效的问题 +2. 优化强制黑白芙逻辑 +3. 优化部分路线 ### 1.0.5(2025.08.21) -1.优化分解狗粮,提高容错 +1. 优化分解狗粮,提高容错 ### 1.0.4(2025.08.20) -1.修改黑白芙切换逻辑 +1. 修改黑白芙切换逻辑 ### 1.0.3(2025.08.20) -1.优化度假村路线 +1. 优化度假村路线 ### 1.0.2(2025.08.20) -1.修复沿途自动分解不生效 +1. 修复沿途自动分解不生效 ### 1.0.1(2025.08.19) -1.正式版的第一次归我了 -2.优化几个度假村路线 -3.灵秘纹第一处调整 +1. 正式版的第一次归我了 +2. 优化几个度假村路线 +3. 灵秘纹第一处调整 ### 1.0.0(2025.08.19) -1.正式版上线 -2.优化分解狗粮与识别相关逻辑 -3.勾选通知后同时在摩拉识别和经验识别的界面截图发送通知 +1. 正式版上线 +2. 优化分解狗粮与识别相关逻辑 +3. 勾选通知后同时在摩拉识别和经验识别的界面截图发送通知 ### 0.0.9(2025.08.18) -1.优化度假村若干路线 +1. 优化度假村若干路线 ### 0.0.8(2025.08.18) -1.额外和收尾路线的激活和准备不再指定队伍 -2.移除路径中的切换黑白芙,改为换队伍时触发 +1. 额外和收尾路线的激活和准备不再指定队伍 +2. 移除路径中的切换黑白芙,改为换队伍时触发 ### 0.0.7(2025.08.17) -1.加入纳塔度假村地区,重新规划富AB路线;并移除清怪路线节约时间 -2.富A富B的上限点98个完全不重叠,AB交替不再受12小时限制 +1. 加入纳塔度假村地区,重新规划富AB路线;并移除清怪路线节约时间 +2. 富A富B的上限点98个完全不重叠,AB交替不再受12小时限制 ### 0.0.6(2025.08.13) -1.修复"99强制黑芙"路线摔死bug \ No newline at end of file +1. 修复"99强制黑芙"路线摔死bug \ No newline at end of file diff --git a/repo/js/AAA-Artifacts-Bulk-Supply/manifest.json b/repo/js/AAA-Artifacts-Bulk-Supply/manifest.json index 1133d69cf..f18b55b47 100644 --- a/repo/js/AAA-Artifacts-Bulk-Supply/manifest.json +++ b/repo/js/AAA-Artifacts-Bulk-Supply/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 1, "name": "AAA狗粮批发", - "version": "1.3.5", + "version": "1.3.6", "tags": [ "狗粮" ], diff --git a/repo/js/ArtifactsGroupPurchasing/README.md b/repo/js/ArtifactsGroupPurchasing/README.md index 719712832..07b7318e6 100644 --- a/repo/js/ArtifactsGroupPurchasing/README.md +++ b/repo/js/ArtifactsGroupPurchasing/README.md @@ -24,37 +24,39 @@ * **预留足够的背包空间**:运行AAA狗粮批发将获取约150个圣遗物,运行本js将获取约230个圣遗物,请确保你的背包有足够的空间容纳这些圣遗物,建议在AAA狗粮批发中选择分解或摧毁,并预留380+的空间 ## 更新日志 +### 1.4.5(2025.09.30) +1. 捕获识别过程未知来源的报错防止直接终止 ### 1.4.4(2025.09.30) -1,修几个漏捡的点 +1. 修几个漏捡的点 ### 1.4.3(2025.09.29) -1,修几个漏捡的点 -2.大炮点合并到踏鞴砂收尾里 +1. 修几个漏捡的点 +2. 大炮点合并到踏鞴砂收尾里 ### 1.4.2(2025.09.27) -1.修几个漏捡的点 +1. 修几个漏捡的点 ### 1.4.1(2025.09.26) -1.移除大部分点位的简易策略F.每条路线节约1~10秒.PS如果发现有漏捡调查点,记得录像发我 +1. 移除大部分点位的简易策略F.每条路线节约1~10秒.PS如果发现有漏捡调查点,记得录像发我 ### 1.4.0(2025.09.20) -1.将拾取模式修改为模板匹配拾取 +1. 将拾取模式修改为模板匹配拾取 ### 1.3.2(2025.09.20) -1.修几处路线度假村踩点,624③,509①②,305① +1. 修几处路线度假村踩点,624③,509①②,305① ### 1.3.1(2025.09.19) -1.修几处路线624②③,629,426,509③,304,305③ +1. 修几处路线624②③,629,426,509③,304,305③ ### 1.3.0(2025.09.17) -1.增加识别并点击复苏 +1. 增加识别并点击复苏 ### 1.2.7(2025.09.16) -1.修几处路线624①②③,509① -2.新增304神无卓狸猫火炬 +1. 修几处路线624①②③,509① +2. 新增304神无卓狸猫火炬 ### 1.2.6(2025.09.15) -1.修几处路线624①②③,509①③,05额外鸡屁股 +1. 修几处路线624①②③,509①③,05额外鸡屁股 ### 1.2.5(2025.09.13) -1.修05额外鸡屁股 +1. 修05额外鸡屁股 ### 1.2.4(2025.09.12) -1.修几处路线509②,305①③,04额外瓶子,05额外鸡屁股 +1. 修几处路线509②,305①③,04额外瓶子,05额外鸡屁股 ### 1.2.3(2025.09.08) -1.更新了一处bug +1. 更新了一处bug ### 1.2.2(2025.09.07) -1,修几处路线304,624①②,626,627,426,509①②, +1. 修几处路线304,624①②,626,627,426,509①②, ### 1.2.1(2025.09.04) -1,修几处路线627,水天丛林, +1. 修几处路线627,水天丛林, ### 1.2.0(2025.09.03) -1.增加几处错误处理,增加容错 \ No newline at end of file +1. 增加几处错误处理,增加容错 \ No newline at end of file diff --git a/repo/js/ArtifactsGroupPurchasing/main.js b/repo/js/ArtifactsGroupPurchasing/main.js index 5b7c38a04..7f6bc876f 100644 --- a/repo/js/ArtifactsGroupPurchasing/main.js +++ b/repo/js/ArtifactsGroupPurchasing/main.js @@ -276,56 +276,61 @@ async function runGroupPurchasing(runExtra) { } async function checkReady(i) { - /* 1. 先把地图移到目标点位(point 来自 info.json) */ - const point = await getPointByPlayer(i); - if (!point) return false; - // 把路径封装在函数内部 - const map = { - 2: "assets/RecognitionObject/2pInBigMap.png", - 3: "assets/RecognitionObject/3pInBigMap.png", - 4: "assets/RecognitionObject/4pInBigMap.png" - }; - const tplPath = map[i]; - if (!tplPath) { - log.error(`无效玩家编号: ${i}`); - return null; + try { + /* 1. 先把地图移到目标点位(point 来自 info.json) */ + const point = await getPointByPlayer(i); + if (!point) return false; + // 把路径封装在函数内部 + const map = { + 2: "assets/RecognitionObject/2pInBigMap.png", + 3: "assets/RecognitionObject/3pInBigMap.png", + 4: "assets/RecognitionObject/4pInBigMap.png" + }; + const tplPath = map[i]; + if (!tplPath) { + log.error(`无效玩家编号: ${i}`); + return null; + } + + const template = file.ReadImageMatSync(tplPath); + const recognitionObj = RecognitionObject.TemplateMatch(template, 0, 0, 1920, 1080); // 全屏查找,可自行改区域 + if (await findAndClick(recognitionObj, 5)) await sleep(1000); + + await genshin.moveMapTo(Math.round(point.x), Math.round(point.y)); + + /* 2. 取图标屏幕坐标 */ + const pos = await getPlayerIconPos(i); + if (!pos || !pos.found) return false; + + /* 3. 屏幕坐标 → 地图坐标(图标)*/ + const mapZoomLevel = 2.0; + await genshin.setBigMapZoomLevel(mapZoomLevel); + const mapScaleFactor = 2.361; + + const center = genshin.getPositionFromBigMap(); // 仅用于坐标系转换 + const iconScreenX = pos.x; + const iconScreenY = pos.y; + + const iconMapX = (960 - iconScreenX) * mapZoomLevel / mapScaleFactor + center.x; + const iconMapY = (540 - iconScreenY) * mapZoomLevel / mapScaleFactor + center.y; + + /* 4. 计算“图标地图坐标”与“目标点位”的距离 */ + const dx = iconMapX - point.x; + const dy = iconMapY - point.y; + const dist = Math.sqrt(dx * dx + dy * dy); + + /* 5. 打印两种坐标及距离 */ + log.info(`玩家 ${i}P`); + log.info(`├─ 屏幕坐标: (${iconScreenX}, ${iconScreenY})`); + log.info(`├─ 图标地图坐标: (${iconMapX.toFixed(2)}, ${iconMapY.toFixed(2)})`); + log.info(`├─ 目标点位坐标: (${point.x}, ${point.y})`); + log.info(`└─ 图标与目标点位距离: ${dist.toFixed(2)} m`); + + return dist <= 10; // 10 m 阈值,可按需调整 + } catch (error) { + log.error(error.message); + return false; } - - const template = file.ReadImageMatSync(tplPath); - const recognitionObj = RecognitionObject.TemplateMatch(template, 0, 0, 1920, 1080); // 全屏查找,可自行改区域 - if (await findAndClick(recognitionObj, 5)) await sleep(1000); - - await genshin.moveMapTo(Math.round(point.x), Math.round(point.y)); - - /* 2. 取图标屏幕坐标 */ - const pos = await getPlayerIconPos(i); - if (!pos || !pos.found) return false; - - /* 3. 屏幕坐标 → 地图坐标(图标)*/ - const mapZoomLevel = 2.0; - await genshin.setBigMapZoomLevel(mapZoomLevel); - const mapScaleFactor = 2.361; - - const center = genshin.getPositionFromBigMap(); // 仅用于坐标系转换 - const iconScreenX = pos.x; - const iconScreenY = pos.y; - - const iconMapX = (960 - iconScreenX) * mapZoomLevel / mapScaleFactor + center.x; - const iconMapY = (540 - iconScreenY) * mapZoomLevel / mapScaleFactor + center.y; - - /* 4. 计算“图标地图坐标”与“目标点位”的距离 */ - const dx = iconMapX - point.x; - const dy = iconMapY - point.y; - const dist = Math.sqrt(dx * dx + dy * dy); - - /* 5. 打印两种坐标及距离 */ - log.info(`玩家 ${i}P`); - log.info(`├─ 屏幕坐标: (${iconScreenX}, ${iconScreenY})`); - log.info(`├─ 图标地图坐标: (${iconMapX.toFixed(2)}, ${iconMapY.toFixed(2)})`); - log.info(`├─ 目标点位坐标: (${point.x}, ${point.y})`); - log.info(`└─ 图标与目标点位距离: ${dist.toFixed(2)} m`); - - return dist <= 10; // 10 m 阈值,可按需调整 } diff --git a/repo/js/ArtifactsGroupPurchasing/manifest.json b/repo/js/ArtifactsGroupPurchasing/manifest.json index a8f5ad963..d0782c5fc 100644 --- a/repo/js/ArtifactsGroupPurchasing/manifest.json +++ b/repo/js/ArtifactsGroupPurchasing/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 1, "name": "AAA狗粮联机团购", - "version": "1.4.4", + "version": "1.4.5", "tags": [ "狗粮" ],