js:锄地一条龙1.2.3 (#1430)

* js:锄地一条龙

### 1.2.3(2025.07.28)
1.优化了定时终止的逻辑,会按下一条路线的预计时间来计算,避免某条线路过长
2.添加了按效率降序运行的选项,用于在时间有限且不确定时优先运行效率较高的路线
3.修正了部分路线无法识别的问题

* js:自动狗粮1.7.0

### 1.7.0(2025.07.28)
1.增加模式,不卡时间,并尽可能跑A(比前一天晚间隔时间以上就跑A),并设为默认选项
2.增加通知收益的选项
3.将记录的数量上调至至多14条

* 移除js路径摩拉记录

功能已被锄地路线标记的js完全覆盖
This commit is contained in:
mno
2025-07-28 17:29:42 +08:00
committed by GitHub
parent d12e581099
commit 41054f2be7
24 changed files with 74 additions and 1789 deletions

View File

@@ -38,6 +38,8 @@
- **选择执行第几个路径组:** 本js会分组运行地图追踪分组方式详见后续选项需要分组运行时请确保精英目标数量小怪目标数量各个路径组的标签等信息【完全相同】复制配置组时未知原因无法正确复制配置请不要使用
- **本路径组使用配队名称:** 填写该路径组使用的配队名称js会自动切换
- **拾取模式:** 本js采用黑白名单结合的方式实现仅拾取部分物品默认只拾取狗粮和晶蝶如果你想要使用bgi默认的拾取以拾取绝大部分物品请选择bgi拾取如果不想拾取任何物品请选择不拾取任何物品
- **效率降序运行:**当你时间不足以刷完所有怪物且不确定时,建议通过开启该项和配置下一项来实现在指定时间前尽可能多刷效率高的路线并按时终止
- **输入不运行的时间或时间段的小时数** 当你需要让js在特定的时间终止运行时按描述填写js会在距离目标时间小于五分钟时终止运行并等待到目标时间
- **泥头车模式(实验性功能):** 接近战斗地点距离5-30提前让指定序号的角色开e建议以下角色开启芙宁娜爱可菲雷电将军。警告可能会增加性能开销和降低稳定性。
- **账户名称:** 本js支持多用户不同账户的记录分开存储当你需要使用多用户时请在这里填写不同的文本来区分不同账号的记录如果你只使用一个账号请不要修改该选项
- **路径组x标签** 本js使用不同的标签来禁用或分组路线多个标签之间使用中文逗号分隔目前支持的标签如下
@@ -49,7 +51,6 @@
- - 小怪 :表明路线只含小怪,战斗强度低,且无需携带万叶来拾取可能掉落的狗粮,可以适当携带等级较低或不上场的角色来获取经验收益
- - 分组逻辑不含路径组1排除标签和任何其他组标签的路径会进入路径组1剩余路径若含有路径组x的标签之一则会进入路径组x
- - 使用示例:路径组一填写蕈兽,禁用蕈兽路线,路径组二填写次数盾,水免,处理路径组一的配队难以处理的次数盾和水免怪物,路径组三填写小怪,队伍中放升级中角色获取经验
- **输入不运行的时间或时间段的小时数** 当你需要让js在特定的时间终止运行时按描述填写js会在距离目标时间小于五分钟时终止运行并等待到目标时间
- **路线效率计算权重:** 影响js评估路线价值计算公式如下权重越大越看重总收益
- $$ 怪均^k \times 秒均 $$
- **自动优化:** js将根据运行记录调整每条路线的预期运行时间具体逻辑为至多6条记录去除一个最大值、一个最小值后每条记录占据20%的权重,剩余权重由默认数据填充。如果你不想要这个功能,请禁用。
@@ -73,6 +74,10 @@
---
### 更新日志
### 1.2.32025.07.28
1.优化了定时终止的逻辑,会按下一条路线的预计时间来计算,避免某条线路过长
2.添加了按效率降序运行的选项,用于在时间有限且不确定时优先运行效率较高的路线
3.修正了部分路线无法识别的问题
### 1.2.22025.07.25
1.调整部分小怪路线的战斗点位
### 1.2.12025.07.24

View File

@@ -678,7 +678,7 @@
"小怪摩拉": 324
},
{
"fileName": "330稻妻渊下宫大日御舆西600_1200_7.json",
"fileName": "330【水免】【高危】稻妻渊下宫大日御舆西600_1200_7.json",
"时间": 234,
"高危": 1,
"精英数量": 8,
@@ -963,7 +963,7 @@
"小怪摩拉": 0
},
{
"fileName": "427须弥童梦的切片600_1.json",
"fileName": "427【高危】须弥童梦的切片600_1.json",
"时间": 188,
"高危": 1,
"精英数量": 1,

View File

@@ -7,7 +7,9 @@
"description": "",
"map_name": "Teyvat",
"bgi_version": "0.45.0",
"tags": [],
"tags": [
"蕈兽"
],
"last_modified_time": 1751471190387
},
"positions": [

View File

@@ -387,10 +387,20 @@ async function findBestRouteGroups(pathings, k, targetEliteNum, targetMonsterNum
pathing.tags.push("小怪");
}
});
// 按原始索引排序
pathings.sort((a, b) => a.index - b.index);
if (settings.runByEfficiency) {
log.info("使用效率降序运行");
//按效率降序排序
pathings.sort((a, b) => {
if (a.E1 !== b.E1) {
return a.E1 - b.E1; // 先按 E1 升序排序
}
return a.E2 - b.E2; // 如果 E1 相同,再按 E2 升序排序
});
} else {
log.info("使用默认顺序运行");
// 按原始索引排序
pathings.sort((a, b) => a.index - b.index);
}
// 输出日志信息
log.info(`总精英怪数量: ${totalSelectedElites.toFixed(0)}`);
log.info(`总普通怪数量: ${totalSelectedMonsters.toFixed(0)}`);
@@ -917,6 +927,10 @@ async function processPathingsByGroup(pathings, whitelistKeywords, blacklistKeyw
// 增加路径计数
groupPathCount++;
if (await isTimeRestricted(settings.timeRule, Math.ceil(pathing.t / 40))) {
break;
}
// 输出当前路径的序号信息
log.info(`开始处理第 ${targetGroup} 组第 ${groupPathCount}/${totalPathsInGroup}${pathing.fileName}`);
@@ -932,10 +946,6 @@ async function processPathingsByGroup(pathings, whitelistKeywords, blacklistKeyw
continue;
}
if (await isTimeRestricted(settings.timeRule)) {
break;
}
// 输出路径已刷新并开始处理的信息
log.info(`该路线已刷新,开始处理。`);
await fakeLog(`${pathing.fileName}`, false, true, 0);

View File

@@ -1,7 +1,7 @@
{
"manifest_version": 1,
"name": "锄地一条龙",
"version": "1.2.2",
"version": "1.2.3",
"description": "一站式解决自动化锄地支持只拾取狗粮请阅读README.md后使用",
"authors": [
{

View File

@@ -43,6 +43,16 @@
"type": "input-text",
"label": "泥头车模式,将在接近战斗点前提前释放部分角色e技能\n需要启用时填写这些角色在队伍中的编号\n有多个角色需要释放时用中文逗号分隔\n警告实验性功能可能增加性能开销和降低稳定性"
},
{
"name": "runByEfficiency",
"type": "checkbox",
"label": "组内按照效率降序运行\n会略微增加传送花费时间用于在时间有限时优先跑高效路线\n建议配合下一项配置使用"
},
{
"name": "timeRule",
"type": "input-text",
"label": "输入不运行的时间或时间段的小时数,以本地时间为准\n将提前结束路线运行并等待到对应时间\n允许填入【单个数字】如4表示小时数为4时不运行\n或【时间段】如4-6表示小时数为4-6时都不运行\n允许多项由【中文逗号】分隔"
},
{
"name": "accountName",
"type": "input-text",
@@ -70,11 +80,6 @@
"type": "input-text",
"label": "路径组四要【选择】的标签"
},
{
"name": "timeRule",
"type": "input-text",
"label": "输入不运行的时间或时间段的小时数,以本地时间为准\n将提前5分钟结束路线运行并等待到对应时间\n允许填入【单个数字】如4表示小时数为4时不运行\n或【时间段】如4-6表示小时数为4-6时都不运行\n允许多项由【中文逗号】分隔"
},
{
"name": "efficiencyIndex",
"type": "input-text",