js:狗粮批发2.1.0 战斗好感1.5.1 锄地一条龙 2.2.9部分战斗策略调整 (#2864)

* js:狗粮批发2.1.0

移除路径内调时,改为自定义配置控制

* js:战斗好感

1.更新了版本号
2.修复摩拉识别使用的错误模板图片路径
3.增加1000Stars选项

* combat:战斗策略

1.新增仅用于盗宝团好感的那维莱特策略
2.为不适合锄地的策略添加-副本后缀
3.删除可完全被万能策略上位替代的策略:月草c,伊芙爱万玛,芙茜万夏
4.删除完全不合理的莱爱万夜和莱爱万夜.只用战技(并不适合锄地却写适合锄地)

* 改为归档

* js:锄地一条龙

修改触发分配结果不合理的触发条件

* 移除小怪2000部分的json5文件

锄地规划纯害人来的
This commit is contained in:
mno
2026-02-12 14:38:30 +08:00
committed by GitHub
parent 167de9a066
commit a0254b66e3
49 changed files with 145 additions and 2578 deletions

View File

@@ -1,32 +1,32 @@
//作者:古又
//描述:本策略作用,让角色开大后识别战斗结束,避免切到下一角色继续放技能
//版本:v2.0.1
//配置:作者的充能(只做个人参考),作者练度比较拉跨
// 伊涅芙 117.5%;爱克菲 168.5%;芙芙 186.8%;万叶 138.9%(带的精1西富斯)
//模式:①、精英模式,排除标签:传奇;带万叶为了吸狗粮;
// ②、小怪模式可以把万叶换成玛薇卡也没有把万叶换其他角色进行3拖1吃经验
//注意:其他设置(必填) 【没提及的就是没有填!!!】
// 自动检测战斗结束-------打开
// 更快检查结束战斗参数---打开----参数填写【0;伊涅芙;芙宁娜;爱可菲;枫原万叶;玛薇卡;】!!!
// 检查战斗结束的延时---参数填写【2.5;伊涅芙,2.1;爱可菲,1.9;芙宁娜,2;枫原万叶,1.6;玛薇卡,2;】!!!
// 按键触发后检查延时---参数填写【0.45】!!!
//问题:为什么没有大招的额时候会有停顿感
//回答:举例说明,伊涅芙,2.1; 这个指伊涅芙在有大招时释放完大招后在2.1s的时候才能检查到结束的阈值,
// 然后没有大招的时候就会呆站2.1s,所以想要没有罚站的情况,就需要你角色高充能。
//wait()是等待这里作用为了让e技能后能释放大招
伊涅芙 e, wait(0.4), keypress(q)
爱可菲 e, wait(0.7), keypress(q)
芙宁娜 e, attack(0.7), keypress(q)
枫原万叶 e(hold), wait(0.8), attack, click(middle), attack(1.2), keypress(q)
玛薇卡 e, attack(1.4), keypress(q)
//如何测自己想要角色e技能后能不能放出大招的最低阈值
//在中间需要加wait或者attackwait或者attack多少秒需要你慢慢找个值增加或者减少然后运行自动战斗看能不能释放大招
//如何测角色大招后能检测结束的阈值
//在【检查战斗结束的延时】里添加你想要的角色时间多少选择1.5吧,
//然后叉掉bgi再打开bgi这样才能生效之后就运行自动战斗增加或者减少
//作者:古又
//描述:本策略作用,让角色开大后识别战斗结束,避免切到下一角色继续放技能
//版本:v2.0.1
//配置:作者的充能(只做个人参考),作者练度比较拉跨
// 伊涅芙 117.5%;爱克菲 168.5%;芙芙 186.8%;万叶 138.9%(带的精1西富斯)
//模式:①、精英模式,排除标签:传奇;带万叶为了吸狗粮;
// ②、小怪模式可以把万叶换成玛薇卡也没有把万叶换其他角色进行3拖1吃经验
//注意:其他设置(必填) 【没提及的就是没有填!!!】
// 自动检测战斗结束-------打开
// 更快检查结束战斗参数---打开----参数填写【0;伊涅芙;芙宁娜;爱可菲;枫原万叶;玛薇卡;】!!!
// 检查战斗结束的延时---参数填写【2.5;伊涅芙,2.1;爱可菲,1.9;芙宁娜,2;枫原万叶,1.6;玛薇卡,2;】!!!
// 按键触发后检查延时---参数填写【0.45】!!!
//问题:为什么没有大招的额时候会有停顿感
//回答:举例说明,伊涅芙,2.1; 这个指伊涅芙在有大招时释放完大招后在2.1s的时候才能检查到结束的阈值,
// 然后没有大招的时候就会呆站2.1s,所以想要没有罚站的情况,就需要你角色高充能。
//wait()是等待这里作用为了让e技能后能释放大招
伊涅芙 e, wait(0.4), keypress(q)
爱可菲 e, wait(0.7), keypress(q)
芙宁娜 e, attack(0.7), keypress(q)
枫原万叶 e(hold), wait(0.8), attack, click(middle), attack(1.2), keypress(q)
玛薇卡 e, attack(1.4), keypress(q)
//如何测自己想要角色e技能后能不能放出大招的最低阈值
//在中间需要加wait或者attackwait或者attack多少秒需要你慢慢找个值增加或者减少然后运行自动战斗看能不能释放大招
//如何测角色大招后能检测结束的阈值
//在【检查战斗结束的延时】里添加你想要的角色时间多少选择1.5吧,
//然后叉掉bgi再打开bgi这样才能生效之后就运行自动战斗增加或者减少

View File

@@ -1,10 +1,10 @@
// 作者:阿瑞苏
// 描述:由鸿羽er的芙茜万芭更改而来。使用建议如果配置越低奶奶建议带祭礼书堆高充能芙芙建议带西风万叶建议带祭礼剑夏洛蒂带西风堆30暴击就够用。配置高有专武或者命座队伍里带至少一个西风或者祭礼武器保证Q循环。五星全00精英+小怪上限大约11小时出头世界八。
茜特菈莉 e, attack, click(middle) , q, click(middle), e, click(middle)
芙宁娜 e, wait(0.5), keypress(q)
万叶 e(hold), wait(0.3), attack, click(middle), wait(0.6) ,wait(0.5), keypress(q),e(hold), wait(0.3), attack
夏洛蒂 q,e,attack(3),e,attack(2)
茜特菈莉 attack,e,q,wait(0.4), keydown(VK_SPACE), wait(0.5), keyup(VK_SPACE), wait(3),attack
万叶 e(hold), wait(0.3), attack
// 作者:阿瑞苏
// 描述:由鸿羽er的芙茜万芭更改而来。使用建议如果配置越低奶奶建议带祭礼书堆高充能芙芙建议带西风万叶建议带祭礼剑夏洛蒂带西风堆30暴击就够用。配置高有专武或者命座队伍里带至少一个西风或者祭礼武器保证Q循环。五星全00精英+小怪上限大约11小时出头世界八。
茜特菈莉 e, attack, click(middle) , q, click(middle), e, click(middle)
芙宁娜 e, wait(0.5), keypress(q)
万叶 e(hold), wait(0.3), attack, click(middle), wait(0.6) ,wait(0.5), keypress(q),e(hold), wait(0.3), attack
夏洛蒂 q,e,attack(3),e,attack(2)
茜特菈莉 attack,e,q,wait(0.4), keydown(VK_SPACE), wait(0.5), keyup(VK_SPACE), wait(3),attack
万叶 e(hold), wait(0.3), attack

View File

@@ -0,0 +1,3 @@
// 描述:仅供盗宝团好感使用,不适用于锄地,配置组设置-战斗配置-自动检测战斗结束-更快检测战斗结束启用并填1检查战斗结束的延时改为0.4js自定义配置中选择禁用异步战斗
// 作者: mno
那维莱特 attack(0.05),click(middle),e,keydown(VK_LBUTTON),wait(0.27),keyup(VK_LBUTTON),wait(0.15),moveby(1800,0),wait(0.05),moveby(1800,0),wait(0.05),keydown(VK_LBUTTON),moveby(1800,0),wait(0.05),moveby(1800,0),wait(0.05),moveby(1800,-2100),wait(0.05),moveby(1800,-2100),wait(0.05),moveby(1800,-1100),wait(0.05),moveby(1800,0),wait(0.05),moveby(1800,1200),wait(0.05),moveby(1800,0),wait(0.05),moveby(1800,0),wait(0.05),moveby(1800,0),wait(0.05),moveby(1800,0),wait(0.05),moveby(1800,0),wait(0.05),moveby(1800,0),wait(0.05),moveby(1800,0),wait(0.05),moveby(1800,1300),wait(0.05),moveby(1800,0),wait(0.05),moveby(1800,0),wait(0.05),moveby(1800,0),wait(0.05),moveby(1800,-2100),wait(0.05),moveby(1800,-2100),wait(0.05),moveby(1800,-1100),wait(0.05),moveby(1800,0),wait(0.05),moveby(1800,1200),wait(0.05),moveby(1800,0),wait(0.05),moveby(1800,0),wait(0.05),moveby(1800,0),wait(0.05),moveby(1800,0),wait(0.05),moveby(1800,0),wait(0.05),moveby(1800,0),wait(0.05),moveby(1800,0),wait(0.05),moveby(1800,1300),wait(0.05),moveby(1800,0),wait(0.05),moveby(1800,0),wait(0.05),moveby(1800,0),wait(0.05),moveby(1800,-2100),wait(0.05),moveby(1800,-2100),wait(0.05),moveby(1800,-1100),wait(0.05),moveby(1800,0),wait(0.05),moveby(1800,1200),wait(0.05),moveby(1800,0),wait(0.05),moveby(1800,0),wait(0.05),moveby(1800,0),wait(0.05),moveby(1800,0),wait(0.05),moveby(1800,0),wait(0.05),moveby(1800,0),wait(0.05),moveby(1800,0),wait(0.05),moveby(1800,1300),wait(0.05),moveby(1800,0),wait(0.05),moveby(1800,0),wait(0.05),moveby(1800,0),wait(0.05),click(middle),j,click(middle),wait(0.05),keyup(VK_LBUTTON),wait(0.15)

View File

@@ -68,15 +68,6 @@
"type": "path",
"x": 426.7041015625,
"y": 232.0400390625
},
{
"action": "set_time",
"action_params": "06:00",
"id": 7,
"move_mode": "walk",
"type": "orientation",
"x": 426.7041015625,
"y": 232.0400390625
}
]
}

View File

@@ -79,15 +79,6 @@
"type": "target",
"x": -3537.6416015625,
"y": -3343.54296875
},
{
"action": "set_time",
"action_params": "06:00",
"id": 8,
"move_mode": "walk",
"type": "path",
"x": -3541.4541015625,
"y": -3343.9228515625
}
]
}

View File

@@ -90,15 +90,6 @@
"type": "target",
"x": 9079.197265625,
"y": -1842.89404296875
},
{
"action": "set_time",
"action_params": "06:00",
"id": 9,
"move_mode": "run",
"type": "orientation",
"x": 9079.197265625,
"y": -1842.89404296875
}
]
}

View File

@@ -170,15 +170,6 @@
"type": "target",
"x": 13628.109375,
"y": 563.55419921875
},
{
"action": "set_time",
"action_params": "06:00",
"id": 18,
"move_mode": "run",
"type": "orientation",
"x": 13627.654296875,
"y": 562.6103515625
}
]
}

View File

@@ -98,15 +98,6 @@
"type": "target",
"x": 15038.3603515625,
"y": 1630.52294921875
},
{
"action": "set_time",
"action_params": "06:00",
"id": 10,
"move_mode": "climb",
"type": "orientation",
"x": 15038.3603515625,
"y": 1630.52294921875
}
]
}

View File

@@ -27,15 +27,6 @@
"x": 546.6943359375,
"y": 1766.89453125
},
{
"action": "set_time",
"action_params": "06:00",
"id": 2,
"move_mode": "run",
"type": "orientation",
"x": 525.374976299503,
"y": 1746.3123787362929
},
{
"action": "",
"action_params": "",

View File

@@ -172,15 +172,6 @@
"type": "target",
"x": 2090.8876953125,
"y": 2131.40478515625
},
{
"action": "set_time",
"action_params": "06:00",
"id": 18,
"move_mode": "climb",
"type": "orientation",
"x": 2090.8876953125,
"y": 2131.40478515625
}
]
}

View File

@@ -134,15 +134,6 @@
"type": "target",
"x": 6333.35791015625,
"y": 839.99169921875
},
{
"action": "set_time",
"action_params": "06:00",
"id": 14,
"move_mode": "climb",
"type": "orientation",
"x": 6333.35791015625,
"y": 839.99169921875
}
]
}

View File

@@ -61,15 +61,6 @@
"type": "target",
"x": 8437.7216796875,
"y": -2113.0166015625
},
{
"action": "set_time",
"action_params": "06:00",
"id": 6,
"move_mode": "climb",
"type": "orientation",
"x": 8437.7216796875,
"y": -2113.0166015625
}
]
}

View File

@@ -27,15 +27,6 @@
"x": 4429.1826171875,
"y": 5097.20703125
},
{
"action": "set_time",
"action_params": "06:00",
"id": 2,
"move_mode": "walk",
"type": "orientation",
"x": 4437.81640625,
"y": 5082.35791015625
},
{
"action": "",
"action_params": "",

View File

@@ -26,15 +26,6 @@
"x": 8738.1943359375,
"y": -1857.46533203125
},
{
"action": "set_time",
"action_params": "06:00",
"id": 2,
"move_mode": "fly",
"type": "orientation",
"x": 8756.15625,
"y": -1848.7205981121242
},
{
"action": "stop_flying",
"action_params": "",

View File

@@ -37,15 +37,6 @@
"x": -3247.587890625,
"y": -3539.9248046875
},
{
"action": "set_time",
"action_params": "06:00",
"id": 3,
"move_mode": "dash",
"type": "orientation",
"x": -3247.587890625,
"y": -3539.9248046875
},
{
"action": "",
"action_params": "",

View File

@@ -35,15 +35,6 @@
"x": 3162.83740234375,
"y": -1776.4501953125
},
{
"action": "set_time",
"action_params": "12:00",
"id": 3,
"move_mode": "walk",
"type": "orientation",
"x": 3162.83740234375,
"y": -1776.4501953125
},
{
"action": "stop_flying",
"action_params": "5000",

View File

@@ -26,15 +26,6 @@
"x": 8738.1943359375,
"y": -1857.46533203125
},
{
"action": "set_time",
"action_params": "06:00",
"id": 2,
"move_mode": "fly",
"type": "orientation",
"x": 8756.15625,
"y": -1848.7205981121242
},
{
"action": "stop_flying",
"action_params": "",

View File

@@ -63,15 +63,6 @@
"x": 4390.72265625,
"y": -1875.52783203125
},
{
"action": "set_time",
"action_params": "06:00",
"id": 6,
"move_mode": "dash",
"type": "orientation",
"x": 4390.72265625,
"y": -1875.52783203125
},
{
"action": "",
"action_params": "",

View File

@@ -68,15 +68,6 @@
"type": "path",
"x": 426.7041015625,
"y": 232.0400390625
},
{
"action": "set_time",
"action_params": "06:00",
"id": 7,
"move_mode": "walk",
"type": "orientation",
"x": 426.7041015625,
"y": 232.0400390625
}
]
}

View File

@@ -79,15 +79,6 @@
"type": "target",
"x": -3537.6416015625,
"y": -3343.54296875
},
{
"action": "set_time",
"action_params": "06:00",
"id": 8,
"move_mode": "walk",
"type": "path",
"x": -3541.4541015625,
"y": -3343.9228515625
}
]
}

View File

@@ -170,15 +170,6 @@
"type": "target",
"x": 13628.109375,
"y": 563.55419921875
},
{
"action": "set_time",
"action_params": "06:00",
"id": 18,
"move_mode": "run",
"type": "orientation",
"x": 13627.654296875,
"y": 562.6103515625
}
]
}

View File

@@ -98,15 +98,6 @@
"type": "target",
"x": 15038.3603515625,
"y": 1630.52294921875
},
{
"action": "set_time",
"action_params": "06:00",
"id": 10,
"move_mode": "climb",
"type": "orientation",
"x": 15038.3603515625,
"y": 1630.52294921875
}
]
}

View File

@@ -35,15 +35,6 @@
"x": 3162.83740234375,
"y": -1776.4501953125
},
{
"action": "set_time",
"action_params": "12:00",
"id": 3,
"move_mode": "walk",
"type": "orientation",
"x": 3162.83740234375,
"y": -1776.4501953125
},
{
"action": "stop_flying",
"action_params": "5000",

View File

@@ -26,15 +26,6 @@
"x": 8738.1943359375,
"y": -1857.46533203125
},
{
"action": "set_time",
"action_params": "06:00",
"id": 2,
"move_mode": "fly",
"type": "orientation",
"x": 8756.15625,
"y": -1848.7205981121242
},
{
"action": "stop_flying",
"action_params": "",

View File

@@ -134,15 +134,6 @@
"type": "target",
"x": 6333.35791015625,
"y": 839.99169921875
},
{
"action": "set_time",
"action_params": "06:00",
"id": 14,
"move_mode": "climb",
"type": "orientation",
"x": 6333.35791015625,
"y": 839.99169921875
}
]
}

View File

@@ -26,15 +26,6 @@
"x": 8738.1943359375,
"y": -1857.46533203125
},
{
"action": "set_time",
"action_params": "06:00",
"id": 2,
"move_mode": "fly",
"type": "orientation",
"x": 8756.15625,
"y": -1848.7205981121242
},
{
"action": "stop_flying",
"action_params": "",

View File

@@ -0,0 +1,31 @@
{
"info": {
"authors": [
{
"links": "",
"name": "mno"
}
],
"bgi_version": "0.45.0",
"description": "",
"enable_monster_loot_split": false,
"last_modified_time": 1765207268104,
"map_match_method": "",
"map_name": "Teyvat",
"name": "调为夜晚",
"tags": [],
"type": "collect",
"version": "1.0"
},
"positions": [
{
"action": "set_time",
"action_params": "18:00",
"id": 1,
"move_mode": "walk",
"type": "orientation",
"x": 0,
"y": 0
}
]
}

View File

@@ -0,0 +1,31 @@
{
"info": {
"authors": [
{
"links": "",
"name": "mno"
}
],
"bgi_version": "0.45.0",
"description": "",
"enable_monster_loot_split": false,
"last_modified_time": 1765207268104,
"map_match_method": "",
"map_name": "Teyvat",
"name": "调为白天",
"tags": [],
"type": "collect",
"version": "1.0"
},
"positions": [
{
"action": "set_time",
"action_params": "6:00",
"id": 1,
"move_mode": "walk",
"type": "orientation",
"x": 0,
"y": 0
}
]
}

View File

@@ -59,6 +59,7 @@ let timeMoveUp = Math.round(timeMove * 0.45);
let timeMoveDown = Math.round(timeMove * 0.55);
let rollingDelay = 25;
let gameRegion;
let lastsettimeTime = 0;
(async function () {
setGameMetrics(1920, 1080, 1);
@@ -1130,6 +1131,15 @@ async function fakeLog(name, isJs, isStart, duration) {
}
async function runPath(fullPath, targetItemPath = null) {
let settimeInterval = 10 * 60 * 1000;
if (settings.setTimeMode && settings.setTimeMode != "不调节时间" && (((new Date() - lastsettimeTime) > settimeInterval))) {
if (settings.setTimeMode === "尽量调为白天") {
await pathingScript.runFile("assets/调为白天.json");
} else {
await pathingScript.runFile("assets/调为夜晚.json");
}
lastsettimeTime = new Date();
}
state = state || {}; // 若已存在则保持原引用,否则新建空对象
state.running = true;

View File

@@ -1,7 +1,7 @@
{
"manifest_version": 1,
"name": "AAA狗粮批发",
"version": "2.0.7",
"version": "2.1.0",
"tags": [
"狗粮"
],

View File

@@ -10,6 +10,17 @@
"type": "input-text",
"label": "请输入【清怪队伍】的名称\n请在配置组设置中为该配队配置对应的战斗策略\n不填时不执行清怪路线"
},
{
"name": "setTimeMode",
"type": "select",
"label": "尝试调节时间来获得移速加成\n队伍中含迪希雅、嘉明或塔利雅时选择白天\n队伍中含罗莎莉亚时选择夜晚",
"options": [
"不调节时间",
"尽量调为白天",
"尽量调为夜晚"
],
"default": "不调节时间"
},
{
"name": "minIntervalTime",
"type": "input-text",

View File

@@ -51,7 +51,7 @@ expRo.Threshold = 0.85;
expRo.Use3Channels = true;
expRo.InitTemplate();
const moraRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("assets/exp.png"), 74, 341, 207 - 74, 803 - 341);
const moraRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("assets/mora.png"), 74, 341, 207 - 74, 803 - 341);
moraRo.Threshold = 0.85;
moraRo.Use3Channels = true;
moraRo.InitTemplate();
@@ -320,9 +320,13 @@ async function executeSingleFriendshipRound(roundIndex, ocrTimeout, fightTimeout
detectedExpOrMora = false;
}
if (!initialDetected || roundIndex > 0) {
await genshin.relogin();
if (settings.use1000Stars) {
await genshin.wonderlandCycle();
} else {
await genshin.relogin();
}
}
// 启动路径导航任务(异步)
let pathTask = AutoPath(`${enemyType}-战斗点`);
const ocrStatus = await detectTaskTrigger(ocrTimeout, enemyType);

View File

@@ -1,7 +1,7 @@
{
"manifest_version": 1,
"name": "战斗好感:自动好感度&卡时间",
"version": "1.5.0",
"version": "1.5.1",
"bgi_version": "0.45.1",
"tags": [
"好感",

View File

@@ -28,6 +28,11 @@
"type": "checkbox",
"label": "禁用容易导致问题的异步战斗,改为正常的战斗结束逻辑,勾选后需要在配置组中正常配置战斗结束检测"
},
{
"name": "use1000Stars",
"type": "checkbox",
"label": "使用进出千星替代退出重登"
},
{
"name": "loopTillNoExpOrMora",
"type": "checkbox",
@@ -41,7 +46,7 @@
{
"name": "runTimes",
"type": "input-text",
"label": "(选填)运行次数\n【默认10次卡时间模式默认50次】"
"label": "(选填)运行次数\n【默认10次】"
},
{
"name": "ocrTimeout",

View File

@@ -644,7 +644,7 @@ async function findBestRouteGroups(pathings, k1, k2, targetEliteNum, targetMonst
const m = Math.floor((totalTimeCombined % 3600) / 60);
const s = totalTimeCombined % 60;
log.info(`预计总用时: ${h}${m}${s.toFixed(0)}`);
if (totalSelectedElites < targetEliteNum || totalSelectedMonsters < targetMonsterNum || totalSelectedElites > targetEliteNum * 1.1) {
if (totalSelectedElites < targetEliteNum - 5 || totalSelectedMonsters < targetMonsterNum - 25 || totalSelectedElites > targetEliteNum * 1.1) {
log.warn("警告,可能条件填写不合理,分配结果与目标存在较大差异");
await sleep(5000);
}

View File

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

View File

@@ -1,4 +0,0 @@
{
"ref":".."
}

View File

@@ -1,4 +0,0 @@
{
"ref":".."
}

View File

@@ -1,4 +0,0 @@
{
"ref":".."
}

View File

@@ -1,4 +0,0 @@
{
"ref":".."
}

View File

@@ -1,4 +0,0 @@
{
"ref":".."
}

View File

@@ -1,4 +0,0 @@
{
"ref":".."
}

File diff suppressed because it is too large Load Diff