diff --git a/repo/js/AutoMonday/README.md b/repo/js/AutoMonday/README.md index 260767a31..4f651a5eb 100644 --- a/repo/js/AutoMonday/README.md +++ b/repo/js/AutoMonday/README.md @@ -32,8 +32,8 @@ 5. 充能模式分为法器角色充能和电气水晶充能,电器水晶充能速度较快但是可能偶尔会受到周边怪物影响并且运行其他采集脚本过后可能会跑空。法器角色充能充能速度较慢但是较为稳定。 6. 质变队伍:如果选择了法器角色充能,队伍名必填;如果选择了拥有爱可菲,队伍名必填。二者都选择的时候请将爱可菲和法器角色放进同一个队伍!!!(目前法器角色充能仅支持芭芭拉,后续会逐渐完善) 7. 质变材料:默认使用薄荷,如果需要用列表外的其他材料请把assets里的图片替换掉。替换要注意要替换的材料在背包里和被替换的材料在一个目录并且名字要相同,例如拿铁块可以换白铁块、水晶块等,星蕈可以换苹果、泡泡桔等(嗯?你是说你的文件夹里有个叫星蕈的图片里是一只甜甜花酿鸡?道理我都懂,但是甜甜鸡能放进质变仪吗!!!) -8. 晶蝶诱捕装置:脚本会自动识别地图左上角是否有晶蝶诱捕完成的标识,如果有,才会收取晶核。需要注意的是诱捕装置需要放在枫丹合成台旁边的巷子口(详见 -![诱捕位置](assets/诱捕.png)) +8. 晶蝶诱捕装置:脚本会自动识别地图左上角是否有晶蝶诱捕完成的标识,如果有,才会收取晶核。需要注意的是诱捕装置需要放在枫丹合成台旁边的巷子口,如下图: +![诱捕位置](assets/诱捕.png) 实在找不到位置的话可以把assets中名为“晶蝶诱捕装置”的js复制在路径追踪里跑一遍,路径的终点就是诱捕装置的放置点,或者对位置不满意的话也可以自己录制一个路径放进assets里,需要注意名字必须叫“晶蝶诱捕装置”。 9. 首领和秘境任务需要配置战斗策略,首领是爆炎树急冻树,秘境是太山谷牛头人和讨债人 10. 四方网和兑换券等任务请开图 @@ -41,9 +41,14 @@ --------------------------------------------------------------------------------------------------------------------------------- ## 更新日志 +### 1.3.5(2025.11.05) +1. 修复了自动秘境挑战功能启动失败原地战斗直到超时的bug +2. 修复了调试信息无法显示的bug(实际上是忘记写了,欸嘿) +3. 修改了主函数部分,将原本的笨蛋写法改为了更直观更优雅的写法 ### 1.3.4(2025.11.04) 1. 针对资源释放重构了文字识别代码 2. 优化了部分代码,添加了调试信息 +3. 修复了购买四方网偶尔会失败的bug ### 1.3.3(2025.10.27) 1. 修复了部分设备在某些任务运行结束后未能及时回到主页面导致后续任务无法正常执行的bug 2. 修复了偶尔会被电气水晶摸到的bug diff --git a/repo/js/AutoMonday/main.js b/repo/js/AutoMonday/main.js index 00a5e4aab..327ab62d1 100644 --- a/repo/js/AutoMonday/main.js +++ b/repo/js/AutoMonday/main.js @@ -57,9 +57,17 @@ const username = settings.username || "默认账户"; const cdRecordPath = `record/${username}_cd.txt`;// 修改CD记录文件路径,包含用户名 - //设置分辨率和缩放 - setGameMetrics(1920, 1080, 1); - await genshin.returnMainUi(); + // 定义任务列表 + const tasks = [ + { condition: ifZBY, func: autoZhibian, name: "质变仪" }, + { condition: ifYB, func: Jingdie, name: "晶蝶诱捕装置" }, + { condition: ifCooking, func: Cooking, name: "做菜" }, + { condition: ifduanZao, func: duanZao, name: "锻造" }, + { condition: ifShouling, func: hitBoss, name: "首领" }, + { condition: ifMijing, func: AutoDomain, name: "秘境" }, + { condition: ifbuyNet, func: buyNet, name: "购买四方八方之网" }, + { condition: ifbuyTzq, func: buyTzq, name: "购买投资券" } + ]; // ===== 2. 子函数定义部分 ===== @@ -734,7 +742,7 @@ let success; for (let attempt = 0; attempt < 10; attempt++) { success = await textOCREnhanced("启动", 0.5, 0, 3, 1210, 500, 85, 85); - if (!success || !success.found) { + if (success.found) { keyPress("F"); break; } else { @@ -1239,36 +1247,37 @@ await writeCDRecords(updatedRecords); } + // 版本信息 + async function outputVersion() { + let scriptVersion, scriptname; + const manifestContent = file.readTextSync("manifest.json"); + const manifest = JSON.parse(manifestContent); + scriptVersion = manifest.version; + scriptname = manifest.name; + + log.warn(`${scriptname}:V${scriptVersion}`); + } + // ===== 3. 主函数执行部分 ===== try { - if (ifZBY) { await autoZhibian(); }// 质变仪 - await sleep(10); + //设置分辨率和缩放 + setGameMetrics(1920, 1080, 1); + await genshin.returnMainUi(); - if (ifYB) { await Jingdie(); }// 晶蝶诱捕装置 - await sleep(10); + await outputVersion(); // 输出版本信息 - if (ifCooking) { await Cooking(); }// 做菜 - await sleep(10); - - if (ifduanZao) { await duanZao(); }// 锻造 - await sleep(10); - - if (ifShouling) { await hitBoss(); }// 首领 - await sleep(10); - - if (ifMijing) { await AutoDomain(); }// 秘境 - await sleep(10); - - if (ifbuyNet) { await buyNet(); }// 购买四方八方之网 - await sleep(10); - - if (ifbuyTzq) { await buyTzq(); }// 购买投资券 - await sleep(10); + // 执行所有启用的任务 + for (const task of tasks) { + if (task.condition) { + await task.func(); + await sleep(10); + } + } } catch (error) { log.error(`执行过程中发生错误:${error.message}`); } finally { await genshin.returnMainUi(); } - + })(); diff --git a/repo/js/AutoMonday/manifest.json b/repo/js/AutoMonday/manifest.json index ee353e490..0dbe89223 100644 --- a/repo/js/AutoMonday/manifest.json +++ b/repo/js/AutoMonday/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 1, "name": "全自动周一", - "version": "1.3.4", + "version": "1.3.5", "tags": [ "周常", "纪行",