薄荷采集2.2 好多小更新 (#726)

* 好多小更新

* 好多小更新的小更新
This commit is contained in:
Tooltingsu
2025-05-06 23:11:53 +08:00
committed by GitHub
parent bb3931fbb7
commit 4e23afad73
232 changed files with 2441 additions and 507 deletions

View File

@@ -3,20 +3,22 @@ const MaterialsSelectedRo = RecognitionObject.TemplateMatch(file.ReadImageMatSyn
const SliderBottomRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("assets/RecognitionObject/SliderBottom.png"), 1280, 110, 25, 845);
const MintRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("assets/RecognitionObject/Mint.png"), 110, 90, 1170, 875);
(async function () {
try {
// 读取用户配置
const targetMint = parseInt(settings.targetMintCount);
if (isNaN(targetMint) || targetMint <= 0) {
notification.error("请输入有效的目标薄荷数量(正整数)");
return;
}
const isRefresh = settings.isRefresh;
const routeOrder = settings.routeOrder || "效率顺序"; // 获取路线顺序选择,默认使用效率顺序
log.info(`已设置采集数量:${targetMint}`);
(async function main() {
// 从设置文件中读取用户配置
const targetMintCount = parseInt(settings.targetMintCount);
if (isNaN(targetMintCount) || targetMintCount <= 0) {
notification.error("请输入有效的目标薄荷数量(正整数)");
return;
}
const isRefresh = settings.isRefresh;
const executionTime = parseInt(settings.executionTime);
if (isNaN(executionTime) || executionTime <= 0) {
notification.error("请输入有效的执行时间(正整数,单位:分钟)");
return;
}
// 定义效率顺序的任务数据
const efficiencyTasks = [
// 定义地图路线顺序的任务数据从薄荷表格的sheet5获取整理
const mapOrderTasks = [
{ taskName: '薄荷E26-枫丹-佩特莉可镇', mintCount: 14 },
{ taskName: '薄荷E08-枫丹-秋分山东侧', mintCount: 6 },
{ taskName: '薄荷E23-枫丹-幽林雾道2', mintCount: 8 },
@@ -206,294 +208,114 @@ const MintRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("assets/Rec
{ taskName: '薄荷A37-雪山-寒天之钉', mintCount: 0},
{ taskName: '薄荷A27-蒙德-蒙德城', mintCount: 0},
{ taskName: '薄荷A21-蒙德-明冠峡3', mintCount: 0}
];
];
// 定义地图路线顺序的任务数据(假设从表格获取整理
const mapOrderTasks = [
{taskName: '薄荷A01-蒙德-望风角1', mintCount: 9},
{taskName: '薄荷A02-蒙德-望风角2', mintCount: 13},
{taskName: '薄荷A03-蒙德-望风山地1', mintCount: 6},
{taskName: '薄荷A04-蒙德-望风山地2', mintCount: 6},
{taskName: '薄荷A05-蒙德-摘星崖', mintCount: 3},
{taskName: '薄荷A06-蒙德-星落湖', mintCount: 6},
{taskName: '薄荷A07-蒙德-风起地1', mintCount: 5},
{taskName: '薄荷A08-蒙德-风起地2', mintCount: 7},
{taskName: '薄荷A09-蒙德-风起地3', mintCount: 3},
{taskName: '薄荷A10-蒙德-鹰翔海滩', mintCount: 10},
{taskName: '薄荷A11-蒙德-千风神殿', mintCount: 3},
{taskName: '薄荷A12-蒙德-誓言岬', mintCount: 15},
{taskName: '薄荷A13-蒙德-达达乌帕谷1', mintCount: 11},
{taskName: '薄荷A14-蒙德-达达乌帕谷2', mintCount: 2},
{taskName: '薄荷A15-蒙德-晨曦酒馆', mintCount: 8},
{taskName: '薄荷A16-蒙德-奔狼领1', mintCount: 4},
{taskName: '薄荷A17-蒙德-奔狼领2', mintCount: 3},
{taskName: '薄荷A18-蒙德-奔狼领3', mintCount: 9},
{taskName: '薄荷A19-蒙德-明冠峡1', mintCount: 5},
{taskName: '薄荷A20-蒙德-明冠峡2', mintCount: 4},
{taskName: '薄荷A21-蒙德-明冠峡3', mintCount: 0},
{taskName: '薄荷A22-蒙德-风龙废墟1', mintCount: 7},
{taskName: '薄荷A23-蒙德-风龙废墟2', mintCount: 7},
{taskName: '薄荷A24-蒙德-风龙废墟3', mintCount: 9},
{taskName: '薄荷A25-蒙德-风龙废墟4', mintCount: 5},
{taskName: '薄荷A26-蒙德-清泉镇', mintCount: 8},
{taskName: '薄荷A27-蒙德-蒙德城', mintCount: 0},
{taskName: '薄荷A28-雪山-覆雪之路1', mintCount: 16},
{taskName: '薄荷A29-雪山-覆雪之路2', mintCount: 7},
{taskName: '薄荷A30-雪山-旧宫1', mintCount: 7},
{taskName: '薄荷A31-雪山-旧宫2', mintCount: 4},
{taskName: '薄荷A32-雪山-星荧洞窟1', mintCount: 19},
{taskName: '薄荷A33-雪山-星荧洞窟2', mintCount: 5},
{taskName: '薄荷A34-雪山-眠龙谷1', mintCount: 22},
{taskName: '薄荷A35-雪山-眠龙谷2', mintCount: 15},
{taskName: '薄荷A36-雪山-眠龙谷3', mintCount: 3},
{taskName: '薄荷A37-雪山-寒天之钉', mintCount: 0},
{taskName: '薄荷A38-雪山-近郊1', mintCount: 6},
{taskName: '薄荷A39-雪山-近郊2', mintCount: 21},
{taskName: '薄荷B01-璃月-石门1', mintCount: 19},
{taskName: '薄荷B02-璃月-石门2', mintCount: 13},
{taskName: '薄荷B03-璃月-无妄坡1', mintCount: 4},
{taskName: '薄荷B04-璃月-无妄坡2', mintCount: 5},
{taskName: '薄荷B05-璃月-无妄坡3', mintCount: 13},
{taskName: '薄荷B06-璃月-无妄坡4', mintCount: 9},
{taskName: '薄荷B07-璃月-荻花洲', mintCount: 14},
{taskName: '薄荷B08-璃月-明藴镇1', mintCount: 13},
{taskName: '薄荷B09-璃月-明藴镇2', mintCount: 13},
{taskName: '薄荷B10-璃月-归离原1', mintCount: 10},
{taskName: '薄荷B11-璃月-归离原2', mintCount: 14},
{taskName: '薄荷B12-璃月-归离原3', mintCount: 7},
{taskName: '薄荷B13-璃月-归离原4', mintCount: 13},
{taskName: '薄荷B14-璃月-归离原5', mintCount: 7},
{taskName: '薄荷B15-璃月-孤云阁', mintCount: 6},
{taskName: '薄荷B16-璃月-渌华池1', mintCount: 3},
{taskName: '薄荷B17-璃月-渌华池2', mintCount: 9},
{taskName: '薄荷B18-璃月-渌华池3', mintCount: 14},
{taskName: '薄荷B19-璃月-遁玉陵', mintCount: 14},
{taskName: '薄荷B20-璃月-璃月港', mintCount: 1},
{taskName: '薄荷B21-璃月-天衡山1', mintCount: 9},
{taskName: '薄荷B22-璃月-天衡山2', mintCount: 7},
{taskName: '薄荷B23-璃月-天衡山3', mintCount: 8},
{taskName: '薄荷B24-璃月-青墟浦1', mintCount: 16},
{taskName: '薄荷B25-璃月-青墟浦2', mintCount: 6},
{taskName: '薄荷B26-璃月-灵矩关1', mintCount: 5},
{taskName: '薄荷B27-璃月-灵矩关2', mintCount: 7},
{taskName: '薄荷B28-璃月-灵矩关3', mintCount: 8},
{taskName: '薄荷B29-璃月-天遒谷1', mintCount: 7},
{taskName: '薄荷B30-璃月-天遒谷2', mintCount: 6},
{taskName: '薄荷B31-璃月-翠玦坡1', mintCount: 24},
{taskName: '薄荷B32-璃月-翠玦坡2', mintCount: 19},
{taskName: '薄荷B33-璃月-奥藏山1', mintCount: 8},
{taskName: '薄荷B34-璃月-奥藏山2', mintCount: 16},
{taskName: '薄荷B35-璃月-绝云间1', mintCount: 18},
{taskName: '薄荷B36-璃月-绝云间2', mintCount: 9},
{taskName: '薄荷B37-璃月-绝云间3', mintCount: 9},
{taskName: '薄荷B38-璃月-绝云间4', mintCount: 1},
{taskName: '薄荷B39-璃月-庆云顶', mintCount: 5},
{taskName: '薄荷B40-璃月-琥牢山1', mintCount: 8},
{taskName: '薄荷B41-璃月-琥牢山2', mintCount: 6},
{taskName: '薄荷B42-璃月-南天门', mintCount: 6},
{taskName: '薄荷B43-璃月-采樵谷1', mintCount: 32},
{taskName: '薄荷B44-璃月-采樵谷2', mintCount: 19},
{taskName: '薄荷B45-沉玉谷-翘英庄1', mintCount: 6},
{taskName: '薄荷B46-沉玉谷-翘英庄2', mintCount: 9},
{taskName: '薄荷B47-沉玉谷-翘英庄3', mintCount: 11},
{taskName: '薄荷B48-沉玉谷-灵濛山1', mintCount: 9},
{taskName: '薄荷B49-沉玉谷-灵濛山2', mintCount: 4},
{taskName: '薄荷B50-沉玉谷-药蝶谷', mintCount: 13},
{taskName: '薄荷B51-沉玉谷-古茶树坡', mintCount: 8},
{taskName: '薄荷B52-沉玉谷-赤璋城垣1', mintCount: 9},
{taskName: '薄荷B53-沉玉谷-赤璋城垣2', mintCount: 5},
{taskName: '薄荷B54-沉玉谷-赤璋城垣3', mintCount: 14},
{taskName: '薄荷B55-沉玉谷-悬练山2', mintCount: 8},
{taskName: '薄荷B56-沉玉谷-遗珑埠', mintCount: 5},
{taskName: '薄荷B57-沉玉谷-暝垣山', mintCount: 8},
{taskName: '薄荷B58-沉玉谷-宝玦口', mintCount: 9},
{taskName: '薄荷B59-沉玉谷-赤望台1', mintCount: 10},
{taskName: '薄荷B60-沉玉谷-赤望台2', mintCount: 17},
{taskName: '薄荷B61-沉玉谷-赤望台3', mintCount: 10},
{taskName: '薄荷B62-沉玉谷-赤望台4', mintCount: 7},
{taskName: '薄荷C01-稻妻-鸣神岛-离岛', mintCount: 1},
{taskName: '薄荷C02-稻妻-鸣神岛-荒海1', mintCount: 4},
{taskName: '薄荷C03-稻妻-鸣神岛-荒海2', mintCount: 3},
{taskName: '薄荷C04-稻妻-鸣神岛-绀田村', mintCount: 7},
{taskName: '薄荷C05-稻妻-鸣神岛-神樱大社', mintCount: 1},
{taskName: '薄荷C06-稻妻-鸣神岛-神里屋敷', mintCount: 3},
{taskName: '薄荷C07-稻妻-鸣神岛-白狐之野', mintCount: 5},
{taskName: '薄荷C08-稻妻-鸣神岛-稻妻城1', mintCount: 5},
{taskName: '薄荷C09-稻妻-鸣神岛-稻妻城2', mintCount: 5},
{taskName: '薄荷C10-稻妻-鸣神岛-堇色之庭', mintCount: 2},
{taskName: '薄荷C11-稻妻-神无冢-九条阵屋1', mintCount: 6},
{taskName: '薄荷C12-稻妻-神无冢-九条阵屋2', mintCount: 3},
{taskName: '薄荷C13-稻妻-神无冢-无相之火', mintCount: 1},
{taskName: '薄荷C14-稻妻-神无冢-踏鞴砂1', mintCount: 6},
{taskName: '薄荷C15-稻妻-神无冢-踏鞴砂2', mintCount: 3},
{taskName: '薄荷C16-稻妻-神无冢-踏鞴砂3', mintCount: 6},
{taskName: '薄荷C17-稻妻-神无冢-踏鞴砂4', mintCount: 10},
{taskName: '薄荷C18-稻妻-神无冢-名椎滩', mintCount: 5},
{taskName: '薄荷C19-稻妻-八酝岛-无想刃狭间', mintCount: 6},
{taskName: '薄荷C20-稻妻-八酝岛-藤兜砦1', mintCount: 7},
{taskName: '薄荷C21-稻妻-八酝岛-藤兜砦2', mintCount: 5},
{taskName: '薄荷C22-稻妻-八酝岛-绯木村', mintCount: 6},
{taskName: '薄荷C23-稻妻-八酝岛-蛇神之首1', mintCount: 4},
{taskName: '薄荷C24-稻妻-八酝岛-蛇神之首2', mintCount: 6},
{taskName: '薄荷C25-稻妻-八酝岛-蛇骨矿洞1', mintCount: 8},
{taskName: '薄荷C26-稻妻-八酝岛-蛇骨矿洞2', mintCount: 7},
{taskName: '薄荷C27-稻妻-八酝岛-蛇骨矿洞3', mintCount: 12},
{taskName: '薄荷C28-稻妻-海祇岛-水月池1', mintCount: 1},
{taskName: '薄荷C29-稻妻-海祇岛-水月池2', mintCount: 2},
{taskName: '薄荷C30-稻妻-海祇岛-曚云神社', mintCount: 5},
{taskName: '薄荷C31-稻妻-海祇岛-珊瑚宫', mintCount: 11},
{taskName: '薄荷C32-稻妻-海祇岛-望泷村1', mintCount: 6},
{taskName: '薄荷C33-稻妻-海祇岛-望泷村2', mintCount: 8},
{taskName: '薄荷C34-稻妻-清籁岛-越石村', mintCount: 6},
{taskName: '薄荷C35-稻妻-清籁岛-平海砦', mintCount: 2},
{taskName: '薄荷C35-稻妻-清籁岛-平海砦', mintCount: 2},
{taskName: '薄荷C36-稻妻-清籁岛-天云峠1', mintCount: 3},
{taskName: '薄荷C37-稻妻-清籁岛-天云峠2', mintCount: 7},
{taskName: '薄荷C38-稻妻-清籁岛-浅濑神社', mintCount: 20},
{taskName: '薄荷C39-稻妻-鹤观-知比山', mintCount: 7},
{taskName: '薄荷C40-稻妻-鹤观-笈名海滨', mintCount: 7},
{taskName: '薄荷C41-稻妻-鹤观-茂知祭场1', mintCount: 6},
{taskName: '薄荷C42-稻妻-鹤观-茂知祭场2', mintCount: 4},
{taskName: '薄荷C43-稻妻-鹤观-茂知祭场3', mintCount: 7},
{taskName: '薄荷C44-稻妻-鹤观-茂知祭场4', mintCount: 3},
{taskName: '薄荷C45-稻妻-鹤观-惑饲滩', mintCount: 3},
{taskName: '薄荷C46-稻妻-鸣神岛-镇守之森', mintCount: 1},
{taskName: '薄荷E01-枫丹-海露港', mintCount: 2},
{taskName: '薄荷E02-枫丹-厄里那斯1', mintCount: 3},
{taskName: '薄荷E03-枫丹-厄里那斯2', mintCount: 8},
{taskName: '薄荷E04-枫丹-厄里那斯3', mintCount: 7},
{taskName: '薄荷E05-枫丹-厄里那斯4', mintCount: 4},
{taskName: '薄荷E06-枫丹-厄里那斯5', mintCount: 5},
{taskName: '薄荷E07-枫丹-秋分山西侧', mintCount: 5},
{taskName: '薄荷E08-枫丹-秋分山东侧', mintCount: 6},
{taskName: '薄荷E09-枫丹-枫丹廷1', mintCount: 6},
{taskName: '薄荷E10-枫丹-枫丹廷2', mintCount: 6},
{taskName: '薄荷E11-枫丹-芒索斯山东麓', mintCount: 1},
{taskName: '薄荷E12-枫丹-新枫丹科学院1', mintCount: 6},
{taskName: '薄荷E13-枫丹-新枫丹科学院2', mintCount: 7},
{taskName: '薄荷E14-枫丹-新枫丹科学院3', mintCount: 17},
{taskName: '薄荷E15-枫丹-新枫丹科学院4', mintCount: 6},
{taskName: '薄荷E16-枫丹-新枫丹科学院5', mintCount: 11},
{taskName: '薄荷E17-枫丹-中央实验室遗址1', mintCount: 9},
{taskName: '薄荷E18-枫丹-中央实验室遗址2', mintCount: 11},
{taskName: '薄荷E19-枫丹-中央实验室遗址3', mintCount: 5},
{taskName: '薄荷E20-枫丹-优兰尼娅湖1', mintCount: 15},
{taskName: '薄荷E21-枫丹-茉洁站', mintCount: 10},
{taskName: '薄荷E22-枫丹-幽林雾道1', mintCount: 12},
{taskName: '薄荷E23-枫丹-幽林雾道2', mintCount: 8},
{taskName: '薄荷E24-枫丹-湖中垂柳', mintCount: 15},
{taskName: '薄荷E25-枫丹-卡布狄斯堡遗迹', mintCount: 4},
{taskName: '薄荷E26-枫丹-佩特莉可镇', mintCount: 14},
{taskName: '薄荷F01-纳塔-回声之子', mintCount: 0},
{taskName: '薄荷F02-纳塔-流泉之众1', mintCount: 2},
{taskName: '薄荷F03-纳塔-流泉之众2', mintCount: 1},
{taskName: '薄荷F04-纳塔-流泉之众3', mintCount: 0},
{taskName: '薄荷F05-纳塔-流泉之众4', mintCount: 1},
{taskName: '薄荷F06-纳塔-流泉之众5', mintCount: 1},
{taskName: '薄荷F07-纳塔-烟密主1', mintCount: 1},
{taskName: '薄荷F08-纳塔-烟密主2', mintCount: 2},
{taskName: '薄荷F09-纳塔-烟密主3', mintCount: 1},
{taskName: '薄荷F10-纳塔-烟密主4', mintCount: 1},
{taskName: '薄荷F11-纳塔-花语会1', mintCount: 2},
{taskName: '薄荷F12-纳塔-花语会2', mintCount: 5},
{taskName: '薄荷F13-纳塔-花语会3', mintCount: 3},
{taskName: '薄荷F14-纳塔-花语会4', mintCount: 2},
{taskName: '薄荷F15-纳塔-花语会5', mintCount: 6},
{taskName: '薄荷F16-纳塔-花语会6', mintCount: 4}
];
// 根据路线顺序选择重新排列任务数据
let orderedTasks = [];
if (routeOrder === "效率顺序") {
orderedTasks = efficiencyTasks;
} else if (routeOrder === "地图顺序") {
orderedTasks = mapOrderTasks;
}
// 读取/初始化进度文件存储上次执行到的任务索引假设file模块有相关功能
let currentIndex = 0;
if (!isRefresh) {
try {
const progress = await file.readText("mint_progress.txt");
currentIndex = parseInt(progress);
if (isNaN(currentIndex) || currentIndex < 0 || currentIndex >= orderedTasks.length) {
currentIndex = 0;
}
} catch (error) {
currentIndex = 0;
}
}
// 读取上次执行日期假设file模块有相关功能
let lastExecutionDate = "";
try {
lastExecutionDate = await file.readText("last_execution_date.txt");
} catch (error) {}
// 获取当前日期
const currentDate = new Date().toDateString();
if (lastExecutionDate!== currentDate || isRefresh) {
// 清空所有路线标记假设file模块有相关功能
await file.writeText("mint_progress.txt", "0");
await file.writeText("last_execution_date.txt", currentDate);
// 读取/初始化进度文件(存储上次执行到的任务索引
let currentIndex = 0;
if (!isRefresh) {
try {
const progress = await file.readText("mint_progress.txt");
currentIndex = parseInt(progress);
if (isNaN(currentIndex) || currentIndex < 0 || currentIndex >= mapOrderTasks.length) {
currentIndex = 0;
log.info("自动检测到薄荷刷新,将从头开始执行路线");
} else {
// 更新执行日期假设file模块有相关功能
await file.writeText("last_execution_date.txt", currentDate);
}
//返回主界面
genshin.returnMainUi();
// 记录初始薄荷数量
const initialMintCount = await getMintCount();
let collected = 0;
let taskIndex = currentIndex;
while (collected < targetMint) {
const currentTask = orderedTasks[taskIndex];
if (!currentTask) {
taskIndex = 0;
continue;
}
const scriptPath = `assets/AutoPath/${currentTask.taskName}.json`;
try {
// 检查脚本是否存在假设file模块有相关功能
await file.readText(scriptPath);
} catch (error) {
log.info(`未检测到脚本 ${currentTask.taskName},跳过该任务`);
taskIndex++;
if (taskIndex >= orderedTasks.length) {
taskIndex = 0;
}
continue;
}
log.info(`执行任务:${currentTask.taskName},预计采集${currentTask.mintCount}个薄荷`);
// 执行地图追踪任务假设pathingScript模块有相关功能
dispatcher.addTimer(new RealtimeTimer("AutoPick"));
await pathingScript.runFile(scriptPath);
await sleep(1000);
// 识别当前薄荷数量
const currentMintCount = await getMintCount();
const mintCollectedThisRoute = currentMintCount - initialMintCount - collected;
collected += mintCollectedThisRoute;
log.info(`已完成${currentTask.taskName}路线,该路线已采集${mintCollectedThisRoute}个薄荷,共采集${collected}个薄荷`);
taskIndex++;
// 记录进度假设file模块有相关功能
await file.writeText("mint_progress.txt", taskIndex.toString());
if (taskIndex >= orderedTasks.length) {
taskIndex = 0;
}
if (collected >= targetMint) {
log.info(`已采集${collected}个薄荷,目标数量达成`);
// 重置进度假设file模块有相关功能
await file.writeText("mint_progress.txt", "0");
break;
}
}
} catch (error) {
log.error(`执行过程中出现错误: ${error.message}`);
currentIndex = 0;
}
}
// 读取上次执行日期
let lastExecutionDate = "";
try {
lastExecutionDate = await file.readText("last_execution_date.txt");
} catch (error) {}
// 获取当前日期
const currentDate = new Date().toDateString();
if (lastExecutionDate!== currentDate || isRefresh) {
// 清空所有路线标记
await file.writeText("mint_progress.txt", "0");
await file.writeText("last_execution_date.txt", currentDate);
currentIndex = 0;
log.info("自动检测到薄荷刷新或选择强制刷新,将从头开始执行路线");
} else {
// 更新执行日期
await file.writeText("last_execution_date.txt", currentDate);
}
// 返回主界面
await genshin.returnMainUi();
// 记录初始薄荷数量
const initialMintCount = await getMintCount();
let collected = 0;
let taskIndex = currentIndex;
let totalExecutionTime = 0; // 总执行时间,单位分钟
let startTime = new Date(); // 记录开始时间
while (collected < targetMintCount && totalExecutionTime <= executionTime) {
try {
const progress = await file.readText("mint_progress.txt");
const savedIndex = parseInt(progress);
if (savedIndex >= mapOrderTasks.length) {
log.info("所有薄荷均未刷新,任务结束");
break;
}
} catch (error) {
log.error("读取进度文件时出错: ", error);
break;
}
const currentTask = mapOrderTasks[taskIndex];
const scriptPath = `assets/AutoPath/${currentTask.taskName}.json`;
try {
// 检查脚本是否存在
await file.readText(scriptPath);
} catch (error) {
log.info(`未检测到脚本 ${currentTask.taskName},跳过该任务`);
taskIndex++;
if (taskIndex >= mapOrderTasks.length) {
taskIndex = 0;
}
continue;
}
const routeStartTime = new Date(); // 记录路线开始时间
log.info(`执行任务:${currentTask.taskName},预计采集${currentTask.mintCount}个薄荷`);
// 执行地图追踪任务
dispatcher.addTimer(new RealtimeTimer("AutoPick"));
await pathingScript.runFile(scriptPath);
await sleep(1000);
const routeEndTime = new Date(); // 记录路线结束时间
const routeExecutionTime = routeEndTime - routeStartTime; // 路线执行时间,单位毫秒
const minutes = Math.floor(routeExecutionTime / 60000);
const seconds = Math.floor((routeExecutionTime % 60000) / 1000);
const formattedRouteTime = `${minutes}${seconds}`;
// 识别当前薄荷数量
const currentMintCount = await getMintCount();
const mintCollectedThisRoute = currentMintCount - initialMintCount - collected;
collected += mintCollectedThisRoute;
totalExecutionTime = (routeEndTime - startTime) / 60000; // 更新总执行时间,单位分钟
totalExecutionTime = parseFloat(totalExecutionTime.toFixed(1));
log.info(`已完成${currentTask.taskName}路线,该路线已采集${mintCollectedThisRoute}个薄荷,运行时间${formattedRouteTime}。总计采集${collected}个薄荷,运行时间${totalExecutionTime}分钟`);
taskIndex++;
// 记录进度
await file.writeText("mint_progress.txt", taskIndex.toString());
if (collected >= targetMintCount) {
log.info(`已采集${collected}个薄荷,目标数量达成`);
break;
}
if (totalExecutionTime > executionTime) {
log.info(`已运行${totalExecutionTime}分钟,目标执行时间达成`);
break;
}
}
})();
// 识别薄荷数量的函数,参考识别.js
@@ -537,4 +359,11 @@ async function getMintCount() {
}
await genshin.returnMainUi();
return mintCount;
}
// 检查所有路线是否都已执行过(都有标记)
async function checkAllRoutesCompleted() {
const progress = await file.readText("mint_progress.txt");
const index = parseInt(progress);
return index === 0;
}