修复不抓晶核还会切换队伍的问题

This commit is contained in:
Tseed
2025-01-27 00:10:13 +08:00
committed by GitHub
parent 68456b003d
commit cb7b620f3b
3 changed files with 121 additions and 91 deletions

View File

@@ -1,4 +1,6 @@
(async function () { (async function () {
const startTime = Date.now(); //记录启动时间
setGameMetrics(1920, 1080, 1); // 设置游戏运行的分辨率和缩放 setGameMetrics(1920, 1080, 1); // 设置游戏运行的分辨率和缩放
//基础延迟 //基础延迟
let delay = settings.delay || 2000; let delay = settings.delay || 2000;
@@ -58,33 +60,36 @@
// 设置世界权限 // 设置世界权限
keyPress("VK_F2")
await sleep(1000);
click(160, 1020); // 点击世界权限
await sleep(1000);
let domainName = settings.domainName; let domainName = settings.domainName;
switch (domainName) { if (domainName != "默认当前") {
case "不允许加入": keyPress("VK_F2")
click(330, 870); await sleep(1000);
log.info("权限设置为 不允许加入"); click(160, 1020); // 点击世界权限
break; await sleep(1000);
case "直接加入": switch (domainName) {
click(330, 920); case "不允许加入":
log.info("权限设置为 直接加入"); click(330, 870);
break; log.info("权限设置为 不允许加入");
case "确认后可加入": break;
click(330, 970); case "直接加入":
log.info("权限设置为 确认后可加入"); click(330, 920);
break; log.info("权限设置为 直接加入");
default: break;
click(330, 870); // 为空不允许 case "确认后可加入":
log.info("锁门"); click(330, 970);
await sleep(2000); log.info("权限设置为 确认后可加入");
keyPress("Escape"); break;
break; default:
click(330, 870); // 为空不允许
log.info("锁门");
await sleep(2000);
keyPress("Escape");
break;
}
} }
// 前往_合成台 // 前往_合成台
await hct_AutoPath(hct_filePath); await hct_AutoPath(hct_filePath);
await sleep(1000); await sleep(1000);
@@ -107,19 +112,21 @@
// 自动秘境 // 自动秘境
while (true) { if (settings.autoInstance == "是" | settings.autoInstance == undefined) {
try { while (true) {
await dispatcher.runTask(new SoloTask("AutoDomain")); try {
await sleep(500); await dispatcher.runTask(new SoloTask("AutoDomain"));
break; await sleep(500);
} catch (ex) { break;
if (ex.message.includes("检测到复苏界面")) { } catch (ex) {
log.info("复活后,继续执行自动秘境。"); if (ex.message.includes("检测到复苏界面")) {
continue; log.info("复活后,继续执行自动秘境。");
} continue;
else { }
// 如果不包含 "检测到复苏界面",则继续抛出异常 else {
throw ex; // 如果不包含 "检测到复苏界面",则继续抛出异常
throw ex;
}
} }
} }
} }
@@ -233,52 +240,45 @@
await sleep(1000); await sleep(1000);
//切换队伍 //切换至抓晶蝶队伍
keyPress("L"); if (settings.catchButterfly == "" | settings.catchButterfly == undefined) {
await sleep(3000); keyPress("L");
click(75, 1020); await sleep(3000);
await sleep(200); click(75, 1020);
click(700, 115); await sleep(200);
await sleep(200); click(700, 115);
click(700, 115); await sleep(200);
await sleep(300); click(700, 115);
click(75, 200); await sleep(300);
await sleep(800); click(75, 200);
click(75, 1020); await sleep(800);
await sleep(800); click(75, 1020);
let tempVar = settings.number || 5; await sleep(800);
if (tempVar < 9) { // 向右点击 let tempVar = settings.number || 5;
for (let i = 1; i < tempVar; i++) { if (tempVar < 9) { // 向右点击
click(1850, 540); for (let i = 1; i < tempVar; i++) {
await sleep(50); click(1850, 540);
} await sleep(50);
} else { // 向左点击 }
tempVar = 16 - tempVar } else { // 向左点击
for (let i = 0; i < tempVar; i++) { tempVar = 16 - tempVar
click(75, 540); for (let i = 0; i < tempVar; i++) {
await sleep(50); click(75, 540);
await sleep(50);
}
} }
click(1555, 1020);
await sleep(1000);
keyPress("Escape");
log.info("已切换至第" + settings.number || 5 + "队");
await sleep(delay);
} }
click(1555, 1020);
await sleep(1000);
keyPress("Escape");
log.info("已切换至第" + settings.number || 5 + "队");
await sleep(delay);
//切换角色 //切换角色
keyPress("1"); keyPress("1");
log.info("已切换至第1个角色"); log.info("已切换至第1个角色");
// // 向后行走1.5秒
// keyDown("S");
// await sleep(1500);
// keyUp("S");
// log.info("已完成 向后走1.5秒");
// await sleep(1000);
// 进入尘歌壶 // 进入尘歌壶
keyPress("B"); keyPress("B");
await sleep(1000); await sleep(1000);
@@ -293,9 +293,11 @@
log.info("已完成 进入尘歌壶"); log.info("已完成 进入尘歌壶");
// // 防止加载卡岩 // 如果延迟时间大于3000ms 执行防止加载卡岩
// await sleep(3000); if (delay > 3000) {
// log.info("等待防止加载卡岩"); await sleep(3000);
log.info("当前基础延迟大于{time},已等待防止加载卡岩", "3000ms");
}
// 尘歌壶找阿圆 // 尘歌壶找阿圆
@@ -405,25 +407,37 @@
await captureCrystalfly('枫丹-苍白的遗荣', 4188, 2992, 2); await captureCrystalfly('枫丹-苍白的遗荣', 4188, 2992, 2);
await captureCrystalfly('枫丹-幽林雾道', 3376, 3290, 2); await captureCrystalfly('枫丹-幽林雾道', 3376, 3290, 2);
await captureCrystalfly('枫丹-卡布狄斯堡遗迹上方', 3554, 3024, 4); await captureCrystalfly('枫丹-卡布狄斯堡遗迹上方', 3554, 3024, 4);
await captureCrystalfly('枫丹-卡布狄斯堡遗迹下方', 3374, 2699, 4); await captureCrystalfly('枫丹-卡布狄斯堡遗迹下方_优化', 3374, 2699, 3);
await captureCrystalfly('枫丹-莫尔泰区', 3810, 2334, 2); await captureCrystalfly('枫丹-莫尔泰区', 3810, 2334, 2);
await captureCrystalfly('枫丹-特别温暖的地方', 4790, 2520, 3); await captureCrystalfly('枫丹-特别温暖的地方', 4790, 2520, 3);
await captureCrystalfly('须弥-化城郭左侧', 2699, -767, 2);
await captureCrystalfly('须弥-下风蚀地', 4452, -2456, 3); await captureCrystalfly('须弥-下风蚀地', 4452, -2456, 3);
dispatcher.addTimer(new RealtimeTimer("AutoPick", { "forceInteraction": false })); // 关闭自动拾取的实时任务
} }
const endTime = Date.now();
// 结束游戏 const totalTimeInSeconds = (endTime - startTime) / 1000;
for (let i = 0; i < 5; i++) { const minutes = Math.floor(totalTimeInSeconds / 60);
log.info('即将在 {num}s 后退出', 5 - i + "s"); const seconds = totalTimeInSeconds % 60;
await sleep(1000); const formattedTime = `${minutes}${seconds.toFixed(0).padStart(2, '0')}`;
} log.info(`已完成总耗时: ${formattedTime}`);
await sleep(2000);
log.info("已完成 所有内容 结束-Tzi"); log.info("已完成 所有内容 结束-Tzi");
await sleep(2000); await sleep(2000);
keyDown("MENU");
keyDown("F4"); // 结束游戏
await sleep(50); if (settings.exitGame == "是" | settings.exitGame == undefined) {
keyUp("MENU"); for (let i = 0; i < 5; i++) {
keyUp("F4"); log.info('即将在 {num}s 后退出', 5 - i + "s");
await sleep(1000);
}
keyDown("MENU");
keyDown("F4");
await sleep(50);
keyUp("MENU");
keyUp("F4");
}
})(); })();

View File

@@ -1,7 +1,7 @@
{ {
"manifest_version": 1, "manifest_version": 1,
"name": "Tzi-每日一条龙+副本晶蝶尘歌壶邮件", "name": "Tzi-每日一条龙+副本晶蝶尘歌壶邮件_0.04",
"version": "0.03", "version": "0.04",
"bgi_version": "0.36.0", "bgi_version": "0.36.0",
"description": "每日一条龙 包含每日任务 刷副本,分解狗粮,尘歌壶,抓晶蝶 自动下线。【自动副本】请先去独立任务中将自动秘境配置完成【自动晶蝶】队伍需要携带早柚或瑶瑶。【尘歌壶】将快捷道具栏需装满4个确保尘歌壶在第5位。运行前可以右键配置参数。主要适配枫丹凯瑟琳锚点。", "description": "每日一条龙 包含每日任务 刷副本,分解狗粮,尘歌壶,抓晶蝶 自动下线。【自动副本】请先去独立任务中将自动秘境配置完成【自动晶蝶】队伍需要携带早柚或瑶瑶。【尘歌壶】将快捷道具栏需装满4个确保尘歌壶在第5位。运行前可以右键配置参数。主要适配枫丹凯瑟琳锚点。",
"authors": [ "authors": [
@@ -16,6 +16,12 @@
//同时感谢大佬们的付出 为我提供思路 //同时感谢大佬们的付出 为我提供思路
// version 0.04
// 新增设置世界权限 默认当前的选项
// 修复不抓晶核还会切换队伍的问题
// 新增晶蝶点位
// version 0.03 // version 0.03
// 新增多个合成台点位 // 新增多个合成台点位
// 新增多个晶蝶抓取点位 // 新增多个晶蝶抓取点位

View File

@@ -4,6 +4,7 @@
"type": "select", "type": "select",
"label": "设置房间权限(默认 不允许加入)", "label": "设置房间权限(默认 不允许加入)",
"options": [ "options": [
"默认当前",
"直接加入", "直接加入",
"确认后可加入", "确认后可加入",
"不允许加入" "不允许加入"
@@ -46,6 +47,15 @@
"清琼岛" "清琼岛"
] ]
}, },
{
"name": "autoInstance",
"type": "select",
"label": "自动秘境(默认 是)",
"options": [
"是",
"否"
]
},
{ {
"name": "decomposeDogFood", "name": "decomposeDogFood",
"type": "select", "type": "select",