Files
bettergi-scripts-list/repo/js/薄荷采集/main.js
Tooltingsu 2f211b3a3c js:薄荷采集 (#657)
* 1

* 1
2025-04-27 20:39:30 +08:00

231 lines
14 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

(async function () {
try {
// 1. 读取用户配置
const targetMint = parseInt(settings.targetMintCount);
if (isNaN(targetMint) || targetMint <= 0) {
notification.error("请输入有效的目标薄荷数量(正整数)");
return;
}
// 读取是否刷新的配置
const isRefresh = settings.isRefresh;
// 输出已设置采集薄荷数量的日志
log.info(`已设置采集薄荷数量:${targetMint}`);
// ====================== 内置Sheet5任务数据按顺序排列 ======================
const sheet5Tasks = [
{ taskName: "薄荷E26-枫丹-佩特莉可镇", mintCount: 14 },
{ taskName: "薄荷E08-枫丹-秋分山东侧", mintCount: 6 },
{ taskName: "薄荷E23-枫丹-幽林雾道2", mintCount: 8 },
{ taskName: "薄荷C38-稻妻-清籁岛-浅濑神社", mintCount: 20 },
{ taskName: "薄荷A39-雪山-近郊2", mintCount: 21 },
{ taskName: "薄荷A38-雪山-近郊1", mintCount: 6 },
{ taskName: "薄荷E24-枫丹-湖中垂柳", mintCount: 15 },
{ taskName: "薄荷B10-璃月-归离原1", mintCount: 10 },
{ taskName: "薄荷C31-稻妻-海祇岛-珊瑚宫", mintCount: 11 },
{ taskName: "薄荷A08-蒙德-风起地2", mintCount: 7 },
{ taskName: "薄荷C27-稻妻-八酝岛-蛇骨矿洞3", mintCount: 12 },
{ taskName: "薄荷C04-稻妻-鸣神岛-绀田村", mintCount: 7 },
{ taskName: "薄荷C21-稻妻-八酝岛-藤兜砦2", mintCount: 5 },
{ taskName: "薄荷E20-枫丹-优兰尼娅湖1", mintCount: 15 },
{ taskName: "薄荷E16-枫丹-新枫丹科学院5", mintCount: 11 },
{ taskName: "薄荷C42-稻妻-鹤观-茂知祭场2", mintCount: 4 },
{ taskName: "薄荷E22-枫丹-幽林雾道1", mintCount: 12 },
{ taskName: "薄荷B17-璃月-渌华池2", mintCount: 9 },
{ taskName: "薄荷B11-璃月-归离原2", mintCount: 14 },
{ taskName: "薄荷E14-枫丹-新枫丹科学院3", mintCount: 17 },
{ taskName: "薄荷B60-沉玉谷-赤望台2", mintCount: 17 },
{ taskName: "薄荷C24-稻妻-八酝岛-蛇神之首2", mintCount: 6 },
{ taskName: "薄荷C16-稻妻-神无冢-踏鞴砂3", mintCount: 6 },
{ taskName: "薄荷B32-璃月-翠玦坡2", mintCount: 19 },
{ taskName: "薄荷B08-璃月-明藴镇1", mintCount: 13 },
{ taskName: "薄荷B47-沉玉谷-翘英庄3", mintCount: 11 },
{ taskName: "薄荷A10-蒙德-鹰翔海滩", mintCount: 10 },
{ taskName: "薄荷B07-璃月-荻花洲", mintCount: 14 },
{ taskName: "薄荷A34-雪山-眠龙谷1", mintCount: 22 },
{ taskName: "薄荷C43-稻妻-鹤观-茂知祭场3", mintCount: 7 },
{ taskName: "薄荷C35-稻妻-清籁岛-平海砦", mintCount: 2 },
{ taskName: "薄荷B18-璃月-渌华池3", mintCount: 14 },
{ taskName: "薄荷B42-璃月-南天门", mintCount: 6 },
{ taskName: "薄荷C19-稻妻-八酝岛-无想刃狭间", mintCount: 6 },
{ taskName: "薄荷C15-稻妻-神无冢-踏鞴砂2", mintCount: 3 },
{ taskName: "薄荷C12-稻妻-神无冢-九条阵屋2", mintCount: 3 },
{ taskName: "薄荷A04-蒙德-望风山地2", mintCount: 6 },
{ taskName: "薄荷B52-沉玉谷-赤璋城垣1", mintCount: 9 },
{ taskName: "薄荷C41-稻妻-鹤观-茂知祭场1", mintCount: 6 },
{ taskName: "薄荷B59-沉玉谷-赤望台1", mintCount: 10 },
{ taskName: "薄荷B12-璃月-归离原3", mintCount: 7 },
{ taskName: "薄荷F15-纳塔-花语会5", mintCount: 6 },
{ taskName: "薄荷E17-枫丹-中央实验室遗址1", mintCount: 9 },
{ taskName: "薄荷A02-蒙德-望风角2", mintCount: 13 },
{ taskName: "薄荷A29-雪山-覆雪之路2", mintCount: 7 },
{ taskName: "薄荷C44-稻妻-鹤观-茂知祭场4", mintCount: 3 },
{ taskName: "薄荷B35-璃月-绝云间1", mintCount: 18 },
{ taskName: "薄荷A01-蒙德-望风角1", mintCount: 9 },
{ taskName: "薄荷B19-璃月-遁玉陵", mintCount: 14 },
{ taskName: "薄荷B24-璃月-青墟浦1", mintCount: 16 },
{ taskName: "薄荷A32-雪山-星荧洞窟1", mintCount: 19 },
{ taskName: "薄荷B05-璃月-无妄坡3", mintCount: 13 },
{ taskName: "薄荷B37-璃月-绝云间3", mintCount: 9 },
{ taskName: "薄荷B13-璃月-归离原4", mintCount: 13 },
{ taskName: "薄荷B31-璃月-翠玦坡1", mintCount: 24 },
{ taskName: "薄荷B43-璃月-采樵谷1", mintCount: 32 },
{ taskName: "薄荷C37-稻妻-清籁岛-天云峠2", mintCount: 7 },
{ taskName: "薄荷A36-雪山-眠龙谷3", mintCount: 3 },
{ taskName: "薄荷A03-蒙德-望风山地1", mintCount: 6 },
{ taskName: "薄荷B34-璃月-奥藏山2", mintCount: 16 },
{ taskName: "薄荷B29-璃月-天遒谷1", mintCount: 7 },
{ taskName: "薄荷A35-雪山-眠龙谷2", mintCount: 15 },
{ taskName: "薄荷E21-枫丹-茉洁站", mintCount: 10 },
{ taskName: "薄荷C25-稻妻-八酝岛-蛇骨矿洞1", mintCount: 8 },
{ taskName: "薄荷B14-璃月-归离原5", mintCount: 7 },
{ taskName: "薄荷B02-璃月-石门2", mintCount: 13 },
{ taskName: "薄荷B01-璃月-石门1", mintCount: 19 },
{ taskName: "薄荷C34-稻妻-清籁岛-越石村", mintCount: 6 },
{ taskName: "薄荷B44-璃月-采樵谷2", mintCount: 19 },
{ taskName: "薄荷F02-纳塔-流泉之众1", mintCount: 2 },
{ taskName: "薄荷C40-稻妻-鹤观-笈名海滨", mintCount: 7 },
{ taskName: "薄荷E12-枫丹-新枫丹科学院1", mintCount: 6 },
{ taskName: "薄荷B56-沉玉谷-遗珑埠", mintCount: 5 },
{ taskName: "薄荷C22-稻妻-八酝岛-绯木村", mintCount: 6 },
{ taskName: "薄荷C11-稻妻-神无冢-九条阵屋1", mintCount: 6 },
{ taskName: "薄荷B41-璃月-琥牢山2", mintCount: 6 },
{ taskName: "薄荷B48-沉玉谷-灵濛山1", mintCount: 9 },
{ taskName: "薄荷B61-沉玉谷-赤望台3", mintCount: 10 },
{ taskName: "薄荷C23-稻妻-八酝岛-蛇神之首1", mintCount: 4 },
{ taskName: "薄荷C17-稻妻-神无冢-踏鞴砂4", mintCount: 10 },
{ taskName: "薄荷C39-稻妻-鹤观-知比山", mintCount: 7 },
{ taskName: "薄荷B22-璃月-天衡山2", mintCount: 7 },
{ taskName: "薄荷A09-蒙德-风起地3", mintCount: 3 },
{ taskName: "薄荷C14-稻妻-神无冢-踏鞴砂1", mintCount: 6 },
{ taskName: "薄荷C26-稻妻-八酝岛-蛇骨矿洞2", mintCount: 7 },
{ taskName: "薄荷F12-纳塔-花语会2", mintCount: 5 },
{ taskName: "薄荷B23-璃月-天衡山3", mintCount: 8 },
{ taskName: "薄荷C45-稻妻-鹤观-惑饲滩", mintCount: 3 },
{ taskName: "薄荷B15-璃月-孤云阁", mintCount: 6 },
{ taskName: "薄荷B27-璃月-灵矩关2", mintCount: 7 },
{ taskName: "薄荷C08-稻妻-鸣神岛-稻妻城1", mintCount: 5 },
{ taskName: "薄荷C07-稻妻-鸣神岛-白狐之野", mintCount: 5 },
{ taskName: "薄荷A07-蒙德-风起地1", mintCount: 5 },
{ taskName: "薄荷C32-稻妻-海祇岛-望泷村1", mintCount: 6 },
{ taskName: "薄荷B62-沉玉谷-赤望台4", mintCount: 7 },
{ taskName: "薄荷C33-稻妻-海祇岛-望泷村2", mintCount: 8 },
{ taskName: "薄荷B28-璃月-灵矩关3", mintCount: 8 },
{ taskName: "薄荷A28-雪山-覆雪之路1", mintCount: 16 },
{ taskName: "薄荷B46-沉玉谷-翘英庄2", mintCount: 9 },
{ taskName: "薄荷C20-稻妻-八酝岛-藤兜砦1", mintCount: 7 },
{ taskName: "薄荷B55-沉玉谷-悬练山2", mintCount: 8 },
{ taskName: "薄荷B21-璃月-天衡山1", mintCount: 9 },
{ taskName: "薄荷A15-蒙德-晨曦酒馆", mintCount: 8 },
{ taskName: "薄荷B51-沉玉谷-古茶树坡", mintCount: 8 },
{ taskName: "薄荷B03-璃月-无妄坡1", mintCount: 4 },
{ taskName: "薄荷B04-璃月-无妄坡2", mintCount: 5 },
{ taskName: "薄荷B09-璃月-明藴镇2", mintCount: 13 },
{ taskName: "薄荷E18-枫丹-中央实验室遗址2", mintCount: 11 },
{ taskName: "薄荷A19-蒙德-明冠峡1", mintCount: 5 },
{ taskName: "薄荷B36-璃月-绝云间2", mintCount: 9 },
{ taskName: "薄荷E15-枫丹-新枫丹科学院4", mintCount: 6 },
{ taskName: "薄荷B06-璃月-无妄坡4", mintCount: 9 },
{ taskName: "薄荷F06-纳塔-流泉之众5", mintCount: 1 },
{ taskName: "薄荷A22-蒙德-风龙废墟1", mintCount: 7 },
{ taskName: "薄荷B58-沉玉谷-宝玦口", mintCount: 9 },
{ taskName: "薄荷B25-璃月-青墟浦2", mintCount: 6 },
{ taskName: "薄荷C02-稻妻-鸣神岛-荒海1", mintCount: 4 },
{ taskName: "薄荷B33-璃月-奥藏山1", mintCount: 8 },
{ taskName: "薄荷C18-稻妻-神无冢-名椎滩", mintCount: 5 },
{ taskName: "薄荷A06-蒙德-星落湖", mintCount: 6 },
{ taskName: "薄荷A05-蒙德-摘星崖", mintCount: 3 },
{ taskName: "薄荷A24-蒙德-风龙废墟3", mintCount: 9 },
{ taskName: "薄荷B57-沉玉谷-暝垣山", mintCount: 8 },
{ taskName: "薄荷C06-稻妻-鸣神岛-神里屋敷", mintCount: 3 },
{ taskName: "薄荷F08-纳塔-烟密主2", mintCount: 2 },
{ taskName: "薄荷E03-枫丹-厄里那斯2", mintCount: 8 },
{ taskName: "薄荷B54-沉玉谷-赤璋城垣3", mintCount: 14 },
{ taskName: "薄荷B53-沉玉谷-赤璋城垣2", mintCount: 5 },
{ taskName: "薄荷A33-雪山-星荧洞窟2", mintCount: 5 },
{ taskName: "薄荷C05-稻妻-鸣神岛-神樱大社", mintCount: 1 },
{ taskName: "薄荷C03-稻妻-鸣神岛-荒海2", mintCount: 3 },
{ taskName: "薄荷E9-枫丹-枫丹廷1", mintCount: 6 },
{ taskName: "薄荷E7-枫丹-秋分山西侧", mintCount: 5 },
{ taskName: "薄荷B40-璃月-琥牢山1", mintCount: 8 },
{ taskName: "薄荷A13-蒙德-达达乌帕谷1", mintCount: 11 },
{ taskName: "薄荷A26-蒙德-清泉镇", mintCount: 8 },
{ taskName: "薄荷C09-稻妻-鸣神岛-稻妻城2", mintCount: 5 },
{ taskName: "薄荷E10-枫丹-枫丹廷2", mintCount: 6 },
{ taskName: "薄荷B45-沉玉谷-翘英庄1", mintCount: 6 },
{ taskName: "薄荷A14-蒙德-达达乌帕谷2", mintCount: 2 },
{ taskName: "薄荷E25-枫丹-卡布狄斯堡遗迹", mintCount: 4 },
{ taskName: "薄荷B49-沉玉谷-灵濛山2", mintCount: 4 },
// 可以根据实际情况添加更多任务
];
// 2. 读取/初始化进度文件(存储上次执行到的任务索引)
let currentIndex = 0;
if (!isRefresh) {
try {
const progress = await file.readText("mint_progress.txt");
currentIndex = parseInt(progress);
if (isNaN(currentIndex) || currentIndex < 0 || currentIndex >= sheet5Tasks.length) {
currentIndex = 0; // 无效进度重置为0
}
} catch (error) {
currentIndex = 0; // 文件不存在初始化为0
}
}
let collected = 0;
let taskIndex = currentIndex;
while (collected < targetMint) {
// 执行当前任务
const currentTask = sheet5Tasks[taskIndex];
if (!currentTask) {
taskIndex = 0; // 循环回起点
continue;
}
const scriptPath = `assets/AutoPath/${currentTask.taskName}.json`;
try {
// 尝试读取脚本文件,以此判断脚本是否存在
await file.readText(scriptPath);
} catch (error) {
log.info(`未检测到脚本 ${currentTask.taskName},跳过该任务`);
taskIndex++;
// 到达任务列表末尾,从头开始循环
if (taskIndex >= sheet5Tasks.length) {
taskIndex = 0;
}
continue;
}
log.info(`执行任务:${currentTask.taskName},预计获得${currentTask.mintCount}薄荷`);
// 假设地图追踪脚本文件名为 taskName.js实际需根据脚本命名规则调整
// 这里使用 runFile 从用户目录读取脚本,路径需根据实际情况修改
await pathingScript.runFile(scriptPath);
await sleep(1000); // 等待任务完成(根据实际情况调整等待时间)
collected += currentTask.mintCount;
log.info(`已采集${collected}个薄荷`);
taskIndex++;
// 记录进度:当前任务索引(下一次从下一个任务开始)
await file.writeText("mint_progress.txt", taskIndex.toString());
// 到达任务列表末尾,从头开始循环
if (taskIndex >= sheet5Tasks.length) {
taskIndex = 0;
}
// 检查是否达到目标
if (collected >= targetMint) {
log.info(`已采集${collected}薄荷,达到目标${targetMint},任务完成!`);
await file.writeText("mint_progress.txt", "0"); // 重置进度
break;
}
}
} catch (error) {
log.error(`执行过程中出现错误: ${error.message}`);
}
})();