mirror of
https://github.com/babalae/bettergi-scripts-list.git
synced 2026-03-19 03:59:51 +08:00
js:锄地一条龙 (#1737)
* js:锄地一条龙 ### 1.5.0(2025.08.27) 1.加入配队检测,配队不合理时进行警告,但不影响正常进程 2.readme中加入锄地配队建议 * fix: 优化日志提示 --------- Co-authored-by: 秋云 <physligl@gmail.com>
This commit is contained in:
@@ -23,7 +23,7 @@
|
||||
- 在 **地图追踪行走选项** 中请关闭(即不填写)切换队伍,该选项目前在配置组中只有一个js时不生效,请在js自定义配置中填写配队
|
||||
- 如有需要,按照对应的配队,配置对应的生存位和行走位
|
||||
- 配置组中的 **不在某时执行** 目前无法打断js的运行,请不要尝试通过配置该项来使本js在特定时间终止运行
|
||||
- 在 **战斗配置** 中请为你使用的队伍选择合适的战斗策略,战斗策略相关内容存在疑问请参考文档,配队思路请参考教程视频
|
||||
- 在 **战斗配置** 中请为你使用的队伍选择合适的战斗策略,战斗策略相关内容存在疑问请参考文档,配队思路请参考【第四部分】。
|
||||
- 请打开 **自动检测战斗结束** ,按需配置相关选项,其中 **检查战斗结束的延时** 不推荐默认的1.5秒,建议缩短至0.5秒以下
|
||||
- 强烈建议关闭 **自动拾取掉落物** ,该选项开启后会显著提高运行用时和卡死风险
|
||||
- 建议开启 **战斗结束后执行万叶长e**,可显著提高狗粮收益
|
||||
@@ -76,8 +76,27 @@
|
||||
- 如果需要增加其他的目标物品,请打开assets/拾取名单.json,在白名单中添加目标物品
|
||||
- 清空白名单会拾取大部分物品,除了名称包含黑名单的物品,不建议这样使用,有几率和npc交互等造成卡死
|
||||
|
||||
### 四、**锄地配队建议**
|
||||
- bgi锄地没有那么智能,暂时无法像手动一样灵活进行各种需要索敌的操作,同时各种位移技能也很容易干扰锄地的正常运行,因此建议的锄地配队组队思路如下:
|
||||
- 一个合理的bgi锄地配队至少应当包含抗打断、召唤物输出、奶妈,精英怪的配队还应当带上万叶
|
||||
- 抗打断位用于确保技能的正常释放,通常为护盾角色,只建议e启动角色,如茜特菈莉、伊涅芙等,四星角色莱伊拉也可用,通常不建议使用钟离,柱子对bgi运行影响较大。此外,迪希雅的领域可以给予领域内角色抗打断和分摊伤害,也可以作为抗打断位使用。如果你执意不携带任何抗打断位,角色技能将很容易被怪物打断。
|
||||
- 召唤物输出目前可靠的只有芙宁娜,爱可菲可以在没有芙宁娜时作为下位替代,两个角色都有时非常推荐同时携带。如果两者都不携带,锄地的效率将会很低。非常不建议在没有任何形式的自动索敌的情况下使用bgi锄地。
|
||||
- 奶妈非常建议携带,可以较大提升bgi锄地的稳定性,减少复活次数从而提高总体效率,同时保持50%以上的血线将提高海鲜的伤害。总体来说e启动奶>q启动奶,白术、希格雯、爱可菲、芭芭拉、夏沃蕾都可以使用,仅当你有满命芙宁娜或钟离时,可以考虑不携带奶妈。**【金箔的回血是不够的!!!】**,不要认为带了金箔就不用带奶了,金箔只能作为补充手段。
|
||||
- 其他补充伤害的角色,他们的作用是快速清理近处较多的怪物,有利于提高偏对单的海鲜和烹饪锅处理怪物的效率,只有在你队伍有空余位置时才建议携带(通常没位置),较推荐使用的角色有:玛薇卡、那维莱特、万叶(扩散清杂和聚怪)
|
||||
- 剩余角色在bgi锄地中基本上没有明显作用,如果非要带着锄地,不建议切出来,全程后台即可
|
||||
- 冻结可以打断怪物行动,提高队伍生存能力,建议携带能够冻结怪物的角色,不建议携带会碎冰等破坏冻结状态的角色(尤其钟离)
|
||||
- 综上,低配较为推荐芙宁娜、莱伊拉、万叶、芭芭拉,中配最推荐爱可菲、芙宁娜、万叶、茜特菈莉,部分角色可能可以身兼多职,请合理衡量他们担任不同位置的能力,并据此决定是否可以腾出空间携带其他角色
|
||||
- 以下是一些反面例子:
|
||||
- 四神队:没有奶,稳定性差,钟离柱子触发攀爬影响较大,雷神和草神占了两个格子但是作用很小,纯混子,各个位置之间没有联动
|
||||
- 本体自带的‘群友分享’战斗策略,曾经在大世界探索和秘境中为大家提供了不少便利,如今只适合秘境使用,不适合锄地;特别是缺少召唤物输出、依赖 Q 启动的体系,更适合怀旧体验而非当前的锄地需求。
|
||||
- 夜兰、克洛琳德等技能难以避免较大位移的角色,很可能在战斗中跑到奇怪的位置卡死
|
||||
- 各种锄精英,却有万叶不带万叶的,不带万叶基本上捡不到狗粮,每天亏6w狗粮
|
||||
|
||||
---
|
||||
### 更新日志
|
||||
### 1.5.0(2025.08.27)
|
||||
1.加入配队检测,配队不合理时进行警告,但不影响正常进程
|
||||
2.readme中加入锄地配队建议
|
||||
### 1.4.16(2025.08.27)
|
||||
1.修509
|
||||
2.新增522
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
//当前js版本 1.4.12
|
||||
//当前js版本 1.5.0
|
||||
|
||||
//拾取时上下滑动的时间
|
||||
let timeMoveUp;
|
||||
@@ -12,11 +12,14 @@ if (settings.activeDumperMode) { //处理泥头车信息
|
||||
let gameRegion;
|
||||
let targetItemPath = "assets/targetItems";
|
||||
let targetItems;
|
||||
let isFourGod;
|
||||
|
||||
const rollingDelay = (+settings.rollingDelay || 25);
|
||||
const pickupDelay = (+settings.pickupDelay || 100);
|
||||
const timeMove = (+settings.timeMove || 1000);
|
||||
|
||||
let warnMessage = [];
|
||||
|
||||
(async function () {
|
||||
//自定义配置处理
|
||||
const operationMode = settings.operationMode || "运行锄地路线";
|
||||
@@ -71,7 +74,8 @@ const timeMove = (+settings.timeMove || 1000);
|
||||
timeMoveUp = Math.round(timeMove * 0.45);
|
||||
timeMoveDown = Math.round(timeMove * 0.55);
|
||||
if (!settings.accountName) {
|
||||
for (let i = 0; i < 120; i++) {
|
||||
warnMessage.push("请先阅读js文件夹中的【README.md】后使用");
|
||||
for (let i = 0; i < 5; i++) {
|
||||
// 原始文本
|
||||
let originalMessage = " 请先阅读js文件夹中的【README.md】后使用";
|
||||
// 计算轮替的偏移量,每次循环偏移一位
|
||||
@@ -126,7 +130,52 @@ const timeMove = (+settings.timeMove || 1000);
|
||||
await copyPathingsByGroup(pathings);
|
||||
await updateRecords(pathings, accountName);
|
||||
} else if (operationMode === "运行锄地路线") {
|
||||
await switchPartyIfNeeded(partyName)
|
||||
await switchPartyIfNeeded(partyName);
|
||||
// 检测四神队伍并输出当前角色
|
||||
const avatars = getAvatars() || [];
|
||||
const need = ['钟离', '芙宁娜', '纳西妲', '雷电将军'];
|
||||
|
||||
let improperTeam = true;
|
||||
for (let i = 0; i < need.length; i++) {
|
||||
let found = false;
|
||||
for (let j = 0; j < avatars.length; j++) {
|
||||
if (avatars[j] === need[i]) {
|
||||
found = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!found) {
|
||||
improperTeam = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// 手动拼接角色名,避免 join 报错
|
||||
let teamStr = '';
|
||||
for (let k = 0; k < avatars.length; k++) {
|
||||
teamStr += avatars[k];
|
||||
if (k < avatars.length - 1) {
|
||||
teamStr += '、';
|
||||
}
|
||||
}
|
||||
|
||||
log.info('当前队伍:' + teamStr);
|
||||
if (improperTeam) {
|
||||
warnMessage.push("配队不合理,请阅读readme中的锄地配队建议");
|
||||
warnMessage.push("如果已经阅读过,请忽略该警告");
|
||||
//for (let i = 0; i < 5; i++) {
|
||||
// 原始文本
|
||||
let originalMessage = "\n\n配队不合理,请阅读readme中的锄地配队建议\n\n如果已经阅读过,请忽略该警告";
|
||||
// 计算轮替的偏移量,每次循环偏移一位
|
||||
//let offset = i % originalMessage.length; // 每次循环偏移一位
|
||||
// 构造轮替后的文本
|
||||
//let message = originalMessage.slice(-offset) + originalMessage.slice(0, -offset);
|
||||
// 输出内容
|
||||
// log.error(message);
|
||||
log.warn(originalMessage);
|
||||
await sleep(3000);
|
||||
//}
|
||||
}
|
||||
log.info("开始运行锄地路线");
|
||||
await updateRecords(pathings, accountName);
|
||||
await processPathingsByGroup(pathings, whitelistKeywords, blacklistKeywords, accountName);
|
||||
@@ -841,6 +890,29 @@ async function runPath(pathFilePath, map_name, whitelistKeywords, blacklistKeywo
|
||||
}
|
||||
}
|
||||
|
||||
// 新增:warnTask 函数,与其他任务函数并列
|
||||
async function warnLoop() {
|
||||
while (!state.completed && !state.cancelRequested) {
|
||||
if (Array.isArray(warnMessage) && warnMessage.length) {
|
||||
for (let i = 0; i < warnMessage.length; i++) {
|
||||
log.error(warnMessage[i]);
|
||||
}
|
||||
}
|
||||
for (let j = 0; j < 30; j++) {
|
||||
if (state.completed || state.cancelRequested) {
|
||||
break;
|
||||
}
|
||||
await sleep(1000);
|
||||
}
|
||||
if (state.completed || state.cancelRequested) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 启动任务,变量名仍叫 warnTask
|
||||
// const warnTask = warnLoop();
|
||||
|
||||
// 启动路径文件执行任务
|
||||
const pathTask = executePathFile(pathFilePath);
|
||||
|
||||
@@ -858,6 +930,7 @@ async function runPath(pathFilePath, map_name, whitelistKeywords, blacklistKeywo
|
||||
|
||||
// 等待所有任务完成
|
||||
try {
|
||||
// await Promise.allSettled([pathTask, ocrTask, dumperTask, warnTask]);
|
||||
await Promise.allSettled([pathTask, ocrTask, dumperTask]);
|
||||
} catch (error) {
|
||||
console.error(`执行任务时发生错误:${error.message}`);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"manifest_version": 1,
|
||||
"name": "锄地一条龙",
|
||||
"version": "1.4.16",
|
||||
"version": "1.5.0",
|
||||
"description": "一站式解决自动化锄地,支持只拾取狗粮,请仔细阅读README.md后使用",
|
||||
"authors": [
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user