From 259f05bf2fa9c54c0398a3f1be2070246a6bb5d8 Mon Sep 17 00:00:00 2001 From: kaedelcb <57870068+kaedelcb@users.noreply.github.com> Date: Thu, 19 Jun 2025 23:41:07 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9C=B0=E8=84=89=E8=8A=B1v.2.5=E7=89=88?= =?UTF-8?q?=E6=9C=AC=EF=BC=9A=E9=80=82=E9=85=8D5.7=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E6=A0=91=E8=84=82=E7=9A=84=E9=80=89=E6=8B=A9=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=20(#1136)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 地脉花v.2.5版本:适配5.7版本树脂的选择使用 1、适配5.7版本树脂的选择使用。 说明:设定树脂顺序,1=浓缩树脂/2=原粹树脂/3=脆弱树脂/4=须臾树脂,用`/`隔开,填写对应的树脂数字即可,默认:1/2 ,表示先使用浓缩树脂,再使用原粹树脂,不填的不使用" * v.2.5版本:20250619,修复使用树脂循环问题 1、适配5.7版本树脂的选择使用。 说明:设定树脂顺序,1=浓缩树脂/2=原粹树脂/3=脆弱树脂/4=须臾树脂,用`/`隔开,填写对应的树脂数字即可,默认:1/2 ,表示先使用浓缩树脂,再使用原粹树脂,不填的不使用" --- .../AAA 地脉花注意事项.txt | 4 + repo/js/Auto全自动“枫丹”地脉花/main.js | 79 ++++++++++++------- repo/js/Auto全自动“枫丹”地脉花/manifest.json | 4 +- repo/js/Auto全自动“枫丹”地脉花/settings.json | 12 +-- 4 files changed, 64 insertions(+), 35 deletions(-) diff --git a/repo/js/Auto全自动“枫丹”地脉花/AAA 地脉花注意事项.txt b/repo/js/Auto全自动“枫丹”地脉花/AAA 地脉花注意事项.txt index b92bdb1f..bdc53a61 100644 --- a/repo/js/Auto全自动“枫丹”地脉花/AAA 地脉花注意事项.txt +++ b/repo/js/Auto全自动“枫丹”地脉花/AAA 地脉花注意事项.txt @@ -65,3 +65,7 @@ v.2.4版本:20250613 1、特殊处理第二线路第5朵花,避免传送到螃蟹。 2、调整领取OCR范围,添加选择优先使用的树脂类型(适配3次地脉双倍)。 3、调整按次数执行逻辑,解决次数大于单线路打不够次数的问题。 + +v.2.5版本:20250619 +1、适配5.7版本树脂的选择使用。 +说明:设定树脂顺序,1=浓缩树脂/2=原粹树脂/3=脆弱树脂/4=须臾树脂,用`/`隔开,填写对应的树脂数字即可,默认:1/2 ,表示先使用浓缩树脂,再使用原粹树脂,不填的不使用" diff --git a/repo/js/Auto全自动“枫丹”地脉花/main.js b/repo/js/Auto全自动“枫丹”地脉花/main.js index b39405f4..81b97a7b 100644 --- a/repo/js/Auto全自动“枫丹”地脉花/main.js +++ b/repo/js/Auto全自动“枫丹”地脉花/main.js @@ -70,7 +70,6 @@ var SHUV = settings.shuv ? settings.shuv : 1; // 1 单线路,2 树脂耗尽 var Rewards = settings.Rewards ? settings.Rewards : false; // ture 领取冒险点奖励,false 不领取冒险点奖励 var Fligtin = false; //领取冒险点奖励标志。 - var FINDagin = 0; //地脉花寻找标志。lv.1.2新增,用于判断是否找线路余下地脉花。 var tolerance = 30; var position ={}; var Lastexecution = false;//线路执行标志,用于判断上一线路是否执行。 @@ -80,9 +79,28 @@ const ocrRo2 = RecognitionObject.ocr(ocrRegion2.x, ocrRegion2.y, ocrRegion2.width, ocrRegion2.height); const ocrRegion1 = { x: 800, y: 200, width: 300, height: 100 }; // 中心区域 const ocrRo1 = RecognitionObject.ocr(ocrRegion1.x, ocrRegion1.y, ocrRegion1.width, ocrRegion1.height); - var firstresin = settings.firstresin ? settings.firstresin : false; - var onerewards = firstresin ? "使用原粹树脂" : "使用浓缩树脂"; - var secendrewards = firstresin ? "使用浓缩树脂" : "使用原粹树脂"; + var Rewardsuse = settings.Rewardsuse ? settings.Rewardsuse : "1/2"; + var resinTypes = Rewardsuse.split("/"); + var rewards = []; + var onerewards, secendrewards, threendrewards, fourdrewards; + for (var i = 0; i < resinTypes.length; i++) { + var resinType = parseInt(resinTypes[i]); + if (isNaN(resinType) || resinType < 1 || resinType > 4) { + throw new Error("设定的树脂类型无效或缺失,请重新配置"); + } + rewards.push(resinType); + } + const resinTypeMap = ["","使用1个浓缩树脂,获取2倍产出", "使用20个原粹树脂", "使用1个脆弱树脂,获取3倍产出", "使用1个须臾树脂,获取3倍产出"]; + // 根据 rewards 数组长度,依次赋值给对应的变量 + if (rewards.length > 0) onerewards = resinTypeMap[rewards[0]]; + if (rewards.length > 1) secendrewards = resinTypeMap[rewards[1]]; + if (rewards.length > 2) threendrewards = resinTypeMap[rewards[2]]; + if (rewards.length > 3) fourdrewards = resinTypeMap[rewards[3]]; + + log.info(`使用树脂类型数量:${rewards.length}`); + log.info(`优先使用的树脂类型:${onerewards} --> ${secendrewards} --> ${threendrewards} --> ${fourdrewards}`); + + // return var doneCount = 0; filePath = "" @@ -110,11 +128,7 @@ if (settings.n === undefined || settings.n === "") { log.warn("队伍名称未配置,不更换队伍!");SHUOVER=1;} if (SHUV == 1) {log.warn(`线路模式 :' 按次数刷取 ${timesConfig.value/2} 次' `);}else{log.warn("线路模式 :' 浓缩和原粹树脂耗尽模式(最多99次) '");timesConfig.value = 198;} if (color == 1) {log.warn("地脉类型 :' 蓝色-经验书花!'");}else{log.warn("地脉类型 :' 黄色-摩拉花!'")} - let nowuidString = settings.nowuid ? settings.nowuid : ""; - - - - + let nowuidString = settings.nowuid ? settings.nowuid : ""; setGameMetrics(1920, 1080, 1); //================= 1.设定路线 ================= @@ -217,9 +231,6 @@ "路线5 新枫丹科学院左锚点": folder5, "路线6 芒索斯山东麓": folder6 }; - - - const allFlowerCoords = [ // 线路1 @@ -237,7 +248,7 @@ { line: 2, flower: 5, x: 1013, y: 883 }, // 线路3√ { line: 3, flower: 1, x: 1216, y: 661 }, - { line: 3, flower: 2, x: 1239, y: 685 }, + { line: 3, flower: 2, x: 1230, y: 685 }, { line: 3, flower: 3, x: 1282, y: 642 }, { line: 3, flower: 4, x: 1335, y: 639 }, // 线路4 @@ -455,20 +466,32 @@ dispatcher.addTimer(new RealtimeTimer("AutoPick", { "forceInteraction": false })); } } + await sleep(500); - let SHUN = await Textocr(onerewards,1,1,0,566,656,819,170); - let SHUY = await Textocr(secendrewards,1,1,0,566,656,819,170); - await sleep(1000); - let SHUB = await Textocr("补充原粹树脂",1,0,0,566,656,819,170); - if (SHUB.found){log.warn("树脂消耗完毕,结束任务");await keyPress("VK_ESCAPE");FINDagin=0;await sleep(1000);SHUOVER=2;return false;} - else if (SHUN.found || SHUY.found) { - log.info("找到树脂,已经使用...");FINDagin=0;dispatcher.addTimer(new RealtimeTimer("AutoPick", { forceInteraction: true })); return true; - }else{ - log.warn("未找到树脂,尝试领取奖励..."); - let SHUN = await Textocr(onerewards,0.5,1,0,566,656,819,170); - let SHUY = await Textocr(secendrewards,0.5,1,0,566,656,819,170); - if (SHUN.found || SHUY.found) {FINDagin=0; return true;}else{log.warn("领取错误,退出!");if (FINDagin===1){SHUOVER=1;log.warn("模糊模式,地脉不在初始位置,继续寻找!");return true}else{SHUOVER=2;return false;}}//SHUOVER=2 + + for (let i = 0;j < 2;j++) { + + for (let i = 0;i < rewards.length;i++) { + let SHU = await Textocr(resinTypeMap[rewards[i]],0.5,0,0,510,380,640,600); + if (SHU.found){ + if (resinTypeMap[rewards[i]] == "使用20个原粹树脂") + { + if(await Textocr("补充",0.5,0,0,1150,440,210,130)) continue; + } + await click(SHU.x+550,SHU.y) + log.info(` ${resinTypeMap[rewards[i]]} 获取奖励...`); + dispatcher.addTimer(new RealtimeTimer("AutoPick", { forceInteraction: true })); + return true; + } } + await sleep(500); + } + log.warn("未找到树脂,结束地脉花..."); + await sleep(1000); + await keyPress("VK_ESCAPE"); + await sleep(1000); + SHUOVER=2; + return false; } async function isOnRewardPage() { @@ -594,12 +617,13 @@ }); } + var executedCount = 0; async function Veinfligt() { // 定义路线常量 var selectedPath = pathingMap[`路线${position.line} ${['厄里那斯', '秋分山西侧锚点左下', '秋分山西侧锚点右', '柔灯港上锚点', '新枫丹科学院左锚点', '芒索斯山东麓'][position.line - 1]}`] var selectedFolder = folderMap[`路线${position.line} ${['厄里那斯', '秋分山西侧锚点左下', '秋分山西侧锚点右', '柔灯港上锚点', '新枫丹科学院左锚点', '芒索斯山东麓'][position.line - 1]}`] - var executedCount = (position.flower-1)*2+0; + executedCount = (position.flower-1)*2+0; Lastexecution = false; log.info(`开始执行第 ${position.line} 线路的第 ${executedCount/2 + 1}/${selectedPath.length/2} 朵地脉花...`); @@ -607,6 +631,8 @@ for (let i = 0; i < selectedPath.length; i += 2){ if (executedCount/2 + 1 > selectedPath.length/2) { + // if (executedCount>99) {log.info("未找到地脉花,重新尝试..."); return true;} + log.info("本线路执行完毕..."); break;} @@ -715,7 +741,6 @@ executedCount=executedCount+2; doneCount++; } - FINDagin = 0; //重置地脉花寻找标志。lv.1.2新增,用于判断是否找线路余下地脉花。 return true;// 线路完成 } diff --git a/repo/js/Auto全自动“枫丹”地脉花/manifest.json b/repo/js/Auto全自动“枫丹”地脉花/manifest.json index 54cbd222..d6d8dbbd 100644 --- a/repo/js/Auto全自动“枫丹”地脉花/manifest.json +++ b/repo/js/Auto全自动“枫丹”地脉花/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 1, - "name": "地脉花-可禁UID/领每日/优先树脂类型", - "version": "2.4", + "name": "地脉花-可禁UID/领每日/树脂使用顺序", + "version": "2.5", "bgi_version": "0.44.8", "description": "枫丹地脉花,蓝花金花通用。生存压力大,请带盾奶;避免纯水输出,请注意说明文件。如有BUG请联系作者QQ:119996800", "tags":["地脉花"], diff --git a/repo/js/Auto全自动“枫丹”地脉花/settings.json b/repo/js/Auto全自动“枫丹”地脉花/settings.json index e4f8e006..a6f47dd1 100644 --- a/repo/js/Auto全自动“枫丹”地脉花/settings.json +++ b/repo/js/Auto全自动“枫丹”地脉花/settings.json @@ -8,7 +8,7 @@ "name": "nh", "type": "input-text", "label": "选填,好感队伍,如设定领奖前切换,同时战斗队伍必填" -}, + }, { "name": "times", "type": "input-text", @@ -32,16 +32,16 @@ "2" ] }, + { + "name": "Rewardsuse", + "type": "input-text", + "label": "树脂顺序,1=浓缩树脂/2=原粹树脂/3=脆弱树脂/4=须臾树脂\n用`/`隔开,填写对应的树脂数字即可,默认:1/2\n表示先使用浓缩树脂,再使用原粹树脂,不填的不使用" + }, { "name": "nowuid", "type": "input-text", "label": "禁止特定UID刷地脉花,用 / 隔开,如12345/99999" }, - { - "name": "firstresin", - "type": "checkbox", - "label": "默认优先使用浓缩,勾选后优先使用原粹树脂" - }, { "name": "Rewards", "type": "checkbox",