From c4b14057e66f8473a94d70ddc0f16f6c12140016 Mon Sep 17 00:00:00 2001 From: kaedelcb <57870068+kaedelcb@users.noreply.github.com> Date: Thu, 23 Oct 2025 21:57:21 +0800 Subject: [PATCH] =?UTF-8?q?v.4.3=E7=89=88=20=E5=85=A8=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E6=9E=AB=E4=B8=B9=E5=9C=B0=E8=84=89=E8=8A=B1=2020251023=20(#22?= =?UTF-8?q?19)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修复寻找地脉花时,部分电脑未知BUG出现获取地图中心异常问题,添加错误后调整缩放进行重试机制。 --- repo/js/AutoFontaineLeyLine/README.md | 4 ++ repo/js/AutoFontaineLeyLine/main.js | 51 ++++++++++++++++------- repo/js/AutoFontaineLeyLine/manifest.json | 2 +- 3 files changed, 41 insertions(+), 16 deletions(-) diff --git a/repo/js/AutoFontaineLeyLine/README.md b/repo/js/AutoFontaineLeyLine/README.md index bb39d72fb..7e4275856 100644 --- a/repo/js/AutoFontaineLeyLine/README.md +++ b/repo/js/AutoFontaineLeyLine/README.md @@ -28,6 +28,10 @@ ## 三、更新说明 +### v.4.3版 全自动枫丹地脉花 20251023 + +- 修复寻找地脉花时,部分电脑未知BUG出现获取地图中心异常问题,添加错误后调整缩放进行重试机制。 + ### v.4.2版 全自动枫丹地脉花 20251021 - 修复地区选择BUG。 diff --git a/repo/js/AutoFontaineLeyLine/main.js b/repo/js/AutoFontaineLeyLine/main.js index 8a9d5c5cf..5130b9e16 100644 --- a/repo/js/AutoFontaineLeyLine/main.js +++ b/repo/js/AutoFontaineLeyLine/main.js @@ -94,7 +94,7 @@ } else{ ii=8; - if(x !== 840 && x !== 1188 && x !== 113 ){ + if(x !== 840 && x !== 1188 && x !== 113 && x !== 127){ keyPress("w") }; } @@ -129,6 +129,7 @@ var resinTypes = Rewardsuse.split("/"); var rewards = []; var reBigMap = false;//大地图缩放标志 + var closestFlowerLogo = false; var onerewards, secendrewards, threendrewards, fourdrewards,fiverewards; for (var i = 0; i < resinTypes.length; i++) { var resinType = parseInt(resinTypes[i]); @@ -198,7 +199,7 @@ : genshin.width > 1920 ? 0.8 : 0.9; - log.warn(`全自动枫丹地脉花: v4.2 - ${SHUV}.${color}.${rawTimes}`);//调试LOG + log.warn(`全自动枫丹地脉花: v4.3 - ${SHUV}.${color}.${rawTimes}`);//调试LOG log.warn(`使用树脂类型数量:${rewards.length}`); log.warn(`使用树脂顺序:${golbalRewardText.join(" ->")}`); @@ -352,7 +353,7 @@ { line: 3, flower: 3, x: 1282, y: 642 , xR: 3999.6552734375 , yR: 2613.181640625 }, { line: 3, flower: 4, x: 1335, y: 639 , xR: 3921.345703125 , yR: 2617.813232421875 }, // 线路4 - { line: 4, flower: 1, x: 965, y: 672 , xR: 2932.47265625 , yR: 3583.896728515625 }, + { line: 4, flower: 1, x: 965, y: 672 , xR: 2932.47265625 , yR: 3583.896728515625 },//"Point2f { X = 3078.0771, Y = 3596.2305 }" { line: 4, flower: 2, x: 921, y: 660 , xR: 3008.40234375 , yR: 3602.593017578125 }, { line: 4, flower: 3, x: 886, y: 660 , xR: 3077.185546875 , yR: 3602.835693359375 }, { line: 4, flower: 4, x: 876, y: 625 , xR: 3091.7978515625 , yR: 3654.750732421875 }, @@ -488,10 +489,12 @@ else{ await sleep(500); if (reBigMap){ - await genshin.setBigMapZoomLevel(2.5); + await genshin.setBigMapZoomLevel(1.5); await sleep(1000); - } + } + bigMapPosition = genshin.getPositionFromBigMap(); + if (bigMapPosition.x >= 2900 && bigMapPosition.y <= 5100 ){ log.info("区域正确..."); break; @@ -507,13 +510,22 @@ await sleep(1100); continue; } - } - + } + const bigMapZoomLevel = genshin.getBigMapZoomLevel(); - // log.info(`当前大地图坐标: X:${Math.floor(bigMapPosition.X)} / Y:${Math.floor(bigMapPosition.Y)}`); - // log.info(`当前大地图缩放:${bigMapZoomLevel}`); + log.debug(`当前大地图坐标: X:${Math.floor(bigMapPosition.X)} / Y:${Math.floor(bigMapPosition.Y)}`); const RealPosition ={x: bigMapPosition.X,y: bigMapPosition.Y} position = await findFlowerPositionWithTolerance(RealPosition,10,allFlowerCoords); + + if (position == null){ + await genshin.setBigMapZoomLevel(2.5); + await sleep(1000); + bigMapPosition = genshin.getPositionFromBigMap(); + position = await findFlowerPositionWithTolerance(RealPosition,10,allFlowerCoords); + }else{ + closestFlowerLogo = false; + } + if (position){ log.info(`找到地脉花的线路:|X:${Math.floor(bigMapPosition.X)}|Y:${Math.floor(bigMapPosition.Y)}|线路:${position.line}|序号:${position.flower}|`); let XIAN_another = await imageRecognition(DIMAIHUA2,1,0,0,0,0,1920,1080,0.8,false); @@ -603,8 +615,18 @@ } else { // 没有找到符合项,返回全局最近的花朵 if (closestFlower) { - log.warn("没有找到地脉花,返回最近地脉花!", closestFlower.line,closestFlower.flower); - return { line: closestFlower.line, flower: closestFlower.flower,x: closestFlower.x, y: closestFlower.y }; + + if (!closestFlowerLogo){ + + closestFlowerLogo = true; + log.warn("寻找地脉花出错,重试一次..."); + return null; + } + else{ + log.warn("寻找异常,没有找到地脉花,返回最近地脉花!", closestFlower.line,closestFlower.flower); + return { line: closestFlower.line, flower: closestFlower.flower,x: closestFlower.x, y: closestFlower.y }; + } + } else { // 如果没有找到任何花朵,返回一个默认值或抛出错误(根据实际需求决定) throw new Error("未找到任何花朵"); @@ -1314,6 +1336,7 @@ executedCount=executedCount+2; doneCount++; } + closestFlowerLogo = false; return true;// 线路完成 } @@ -1338,12 +1361,10 @@ return isUpdated; } - // // 测试 + // 测试 // var ii=1000; // while (ii>0) { - // await getRemainResinStatus(); - // await sleep(500); - // ii--; + // await PathCheak(); // } // return; diff --git a/repo/js/AutoFontaineLeyLine/manifest.json b/repo/js/AutoFontaineLeyLine/manifest.json index 2f2188257..08e32e634 100644 --- a/repo/js/AutoFontaineLeyLine/manifest.json +++ b/repo/js/AutoFontaineLeyLine/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 1, "name": "全自动枫丹地脉花", - "version": "4.2", + "version": "4.3", "bgi_version": "0.47.1", "description": "枫丹地脉花,蓝花金花通用。生存压力大,请带盾奶;避免纯水输出,请注意说明文件。如有BUG请联系作者QQ:119996800", "tags": [