Compare commits

...

15 Commits

Author SHA1 Message Date
起个名字好难的喵
0b0a12d45d PR校验适配新版authors对象
Some checks failed
Build repo.json / build (18.x) (push) Has been cancelled
Build repo.json / upload (push) Has been cancelled
2025-07-25 21:17:52 +08:00
MisakaAldrich
846f609bb4 update repo.json 2025-07-25 12:03:43 +00:00
mno
7facb28fee js:锄地一条龙 (#1405)
### 1.2.2(2025.07.25)
1.调整部分小怪路线的战斗点位
### 1.2.1(2025.07.24)
1. 调整了路线筛选的逻辑
2025-07-25 20:03:27 +08:00
MisakaAldrich
d9b92d1f0d update repo.json 2025-07-25 12:03:18 +00:00
Iluvenis
fe2e37c9e4 JS脚本: 鸡腿好感添加Ocr功能,提高成功率 (#1406) 2025-07-25 20:02:26 +08:00
this-Fish
5f38a7b81e 地圖追蹤 : 海露花 代傳 (#1407) 2025-07-25 20:01:58 +08:00
MisakaAldrich
c072a898ae update repo.json 2025-07-25 11:46:46 +00:00
起个名字好难的喵
523fb15b52 fix validate 2025-07-25 19:45:45 +08:00
MisakaAldrich
9d35cebad5 update repo.json 2025-07-25 11:33:17 +00:00
起个名字好难的喵
8107688714 规范命名: 松果 2025-07-25 19:31:24 +08:00
physligl
4866d9f2d5 update repo.json 2025-07-25 06:11:25 +00:00
this-Fish
6f562a0179 Update 04-冷鲜肉 (#1402) 2025-07-25 14:10:38 +08:00
44002ebaa9 狗粮pro 7.24 (#1404)
1.优化些许点位角度
2.新增日志提醒狗粮路径耗时/经验
2025-07-25 14:10:22 +08:00
physligl
0c5c58b6ae update repo.json 2025-07-25 06:08:45 +00:00
Tool_tingsu
25027af868 地图追踪 苍晶螺(部分) (#1403)
* Delete repo/pathing/地方特产/枫丹/苍晶螺/README.md

* Delete repo/pathing/地方特产/枫丹/苍晶螺/详见-JS脚本-苍晶螺采集水下(77个).json

* Add files via upload
2025-07-25 14:07:55 +08:00
197 changed files with 4710 additions and 2330 deletions

View File

@@ -221,9 +221,11 @@ def ensure_required_fields(info, filename):
info["type"] = "collect"
corrections.append("type 自动修正为 collect")
if not info["author"]:
info["author"] = os.getenv("GITHUB_ACTOR", "未知作者")
corrections.append(f"author 自动设置为 {info['author']}")
if not info["authors"]:
author_name = os.getenv("GITHUB_ACTOR", "未知作者")
author_link = "https://github.com/" + os.getenv("GITHUB_ACTOR", "babalae/bettergi-scripts-list")
info["authors"] = [{"name": author_name, "links": author_link}]
corrections.append(f"authors 自动设置为 {info['authors']}")
return corrections
@@ -434,9 +436,11 @@ def initialize_data(data, file_path):
info["type"] = "collect"
messages.append(f"⚠️ 文件缺少 type 字段,已设置为默认值: collect")
if "author" not in info:
info["author"] = os.getenv("GITHUB_ACTOR", "未知作者")
messages.append(f"⚠️ 文件缺少 author 字段,已设置为: {info['author']}")
if "authors" not in info:
author_name = os.getenv("GITHUB_ACTOR", "未知作者")
author_link = "https://github.com/" + os.getenv("GITHUB_ACTOR", "babalae/bettergi-scripts-list")
info["authors"] = [{"name": author_name, "links": author_link}]
messages.append(f"⚠️ 文件缺少 authors 字段,已设置为: {info['authors']}")
if "version" not in info:
info["version"] = DEFAULT_VERSION

636
repo.json

File diff suppressed because it is too large Load Diff

View File

@@ -171,7 +171,9 @@ https://www.kdocs.cn/wo/sl/v13uXscL
## 更新日志
### 1.6.92025.07.24
1.优化些许点位角度
2.新增日志提醒狗粮路径耗时/经验
### 1.6.82025.07.23
1.炮台偶尔出现"当前状态无法使用",多按一次"F"尝试优化
2.428花海偶尔被木箱卡死,改变角度

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "2.1璃月富A路TP刷CD",
"type": "collect",
@@ -32,7 +32,7 @@
"y": 223.6640625,
"action": "log_output",
"move_mode": "walk",
"action_params": "\n[调查点-提早触发24H倒计时] 此功能只跑TP不拾取!!!\n明天此时此秒重新发光!!!可以随时慢慢捡!!!\n刷新机制看README.md第二点!!!",
"action_params": "\n[调查点-提早触发24H倒计时] 此功能只跑TP不拾取!!!\n明天此时此秒重新发光!!!可以随时慢慢捡!!!\n刷新机制看README.md第二点!!!\n此功能预计(固态硬盘)6分钟+",
"type": "orientation"
},
{
@@ -50,7 +50,7 @@
"y": 621.962890625,
"action": "log_output",
"move_mode": "walk",
"action_params": "\n[调查点-提早触发24H倒计时] 此功能只跑TP不拾取!!!\n明天此时此秒重新发光!!!可以随时慢慢捡!!!\n刷新机制看README.md第二点!!!",
"action_params": "\n[调查点-提早触发24H倒计时] 此功能只跑TP不拾取!!!\n明天此时此秒重新发光!!!可以随时慢慢捡!!!\n刷新机制看README.md第二点!!!\n此功能预计(固态硬盘)6分钟+",
"type": "orientation"
},
{
@@ -68,7 +68,7 @@
"y": 1182.41015625,
"action": "log_output",
"move_mode": "walk",
"action_params": "\n[调查点-提早触发24H倒计时] 此功能只跑TP不拾取!!!\n明天此时此秒重新发光!!!可以随时慢慢捡!!!\n刷新机制看README.md第二点!!!",
"action_params": "\n[调查点-提早触发24H倒计时] 此功能只跑TP不拾取!!!\n明天此时此秒重新发光!!!可以随时慢慢捡!!!\n刷新机制看README.md第二点!!!\n此功能预计(固态硬盘)6分钟+",
"type": "orientation"
},
{

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "3稻妻富A路TP刷CD",
"type": "collect",
@@ -27,7 +27,7 @@
"y": -3204.482421875,
"action": "log_output",
"move_mode": "walk",
"action_params": "\n[调查点-提早触发24H倒计时] 此功能只跑TP不拾取!!!\n明天此时此秒重新发光!!!可以随时慢慢捡!!!\n刷新机制看README.md第二点!!!",
"action_params": "\n[调查点-提早触发24H倒计时] 此功能只跑TP不拾取!!!\n明天此时此秒重新发光!!!可以随时慢慢捡!!!\n刷新机制看README.md第二点!!!\n此功能预计(固态硬盘)6分钟+",
"type": "orientation"
},
{
@@ -45,7 +45,7 @@
"y": -3316.2119140625,
"action": "log_output",
"move_mode": "walk",
"action_params": "\n[调查点-提早触发24H倒计时] 此功能只跑TP不拾取!!!\n明天此时此秒重新发光!!!可以随时慢慢捡!!!\n刷新机制看README.md第二点!!!",
"action_params": "\n[调查点-提早触发24H倒计时] 此功能只跑TP不拾取!!!\n明天此时此秒重新发光!!!可以随时慢慢捡!!!\n刷新机制看README.md第二点!!!\n此功能预计(固态硬盘)6分钟+",
"type": "orientation"
},
{
@@ -63,7 +63,7 @@
"y": -3614.4345703125,
"action": "log_output",
"move_mode": "walk",
"action_params": "\n[调查点-提早触发24H倒计时] 此功能只跑TP不拾取!!!\n明天此时此秒重新发光!!!可以随时慢慢捡!!!\n刷新机制看README.md第二点!!!",
"action_params": "\n[调查点-提早触发24H倒计时] 此功能只跑TP不拾取!!!\n明天此时此秒重新发光!!!可以随时慢慢捡!!!\n刷新机制看README.md第二点!!!\n此功能预计(固态硬盘)6分钟+",
"type": "orientation"
},
{

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "4须弥富A路TP刷CD",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "5枫丹富A路TP刷CD",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "6纳塔富A路TP刷CD",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "001【激活程序】稻妻大炮",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "002【激活程序】须弥-凡爷屋顶罐子",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "003【激活程序】纳塔-鸡鸡",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "305【激活程序】稻妻-踏鞴砂狸猫炸药桶",
"type": "collect",

View File

@@ -1,12 +1,20 @@
{
{
"info": {
"name": "202璃月-渌华池3",
"type": "collect",
"author": "汐",
"authors": [
{
"name": "汐",
"links": ""
}
],
"version": "1.0",
"description": "",
"map_name": "Teyvat",
"bgi_version": "0.45.0"
"bgi_version": "0.45.0",
"tags": [],
"last_modified_time": 1753379064319,
"enable_monster_loot_split": false
},
"positions": [
{
@@ -21,12 +29,22 @@
"id": 2,
"x": 438.9375,
"y": 228.62524346387272,
"action": "log_output",
"move_mode": "fly",
"action_params": "\n富A路线预计(双风buff+迪希雅)78分钟162个调查点≈10W经验\n富B路线预计(双风buff+迪希雅)55分钟135个调查点≈8.3W经验\n超详解析请看JS里README说明书",
"type": "orientation",
"locked": false
},
{
"id": 3,
"x": 438.9375,
"y": 228.62524346387272,
"action": "",
"move_mode": "fly",
"type": "path"
},
{
"id": 3,
"id": 4,
"x": 427.3125,
"y": 230.3439049315557,
"action": "",
@@ -34,7 +52,7 @@
"type": "path"
},
{
"id": 4,
"id": 5,
"x": 424.234375,
"y": 231.55224609375,
"action": "combat_script",
@@ -43,7 +61,7 @@
"type": "target"
},
{
"id": 5,
"id": 6,
"x": 423.9062796256221,
"y": 234.56230294647503,
"action": "combat_script",
@@ -52,7 +70,7 @@
"type": "target"
},
{
"id": 6,
"id": 7,
"x": 426.7041015625,
"y": 232.0400390625,
"action": "combat_script",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "204璃月-天遒谷3",
"type": "collect",
@@ -13,7 +13,7 @@
"map_name": "Teyvat",
"bgi_version": "0.45.0",
"tags": [],
"last_modified_time": 1753122281650,
"last_modified_time": 1753379106673,
"enable_monster_loot_split": false
},
"positions": [
@@ -40,13 +40,22 @@
"id": 3,
"x": 1118.3120417903792,
"y": 234.43208860704453,
"action": "log_output",
"move_mode": "walk",
"action_params": "\n富A路线预计(双风buff+迪希雅)78分钟162个调查点≈10W经验\n富B路线预计(双风buff+迪希雅)55分钟135个调查点≈8.3W经验\n超详解析请看JS里README说明书",
"type": "orientation"
},
{
"id": 4,
"x": 1118.3120417903792,
"y": 234.43208860704453,
"action": "",
"move_mode": "run",
"action_params": "",
"type": "path"
},
{
"id": 4,
"id": 5,
"x": 1086.0937875257878,
"y": 301.8435984203652,
"action": "combat_script",
@@ -55,7 +64,7 @@
"type": "target"
},
{
"id": 5,
"id": 6,
"x": 1084.796875,
"y": 299.93359375,
"action": "",
@@ -64,7 +73,7 @@
"type": "path"
},
{
"id": 6,
"id": 7,
"x": 1088.0673828125,
"y": 303.08203125,
"action": "",
@@ -73,7 +82,7 @@
"type": "target"
},
{
"id": 7,
"id": 8,
"x": 1083.5625,
"y": 305.87513279847644,
"action": "",
@@ -82,7 +91,7 @@
"type": "path"
},
{
"id": 8,
"id": 9,
"x": 1082.8095703125,
"y": 300.794921875,
"action": "combat_script",
@@ -91,7 +100,7 @@
"type": "path"
},
{
"id": 9,
"id": 10,
"x": 1068.333984375,
"y": 353.74951171875,
"action": "",
@@ -100,7 +109,7 @@
"type": "path"
},
{
"id": 10,
"id": 11,
"x": 1069.3271484375,
"y": 355.3740234375,
"action": "combat_script",
@@ -109,7 +118,7 @@
"type": "target"
},
{
"id": 11,
"id": 12,
"x": 1047.9365234375,
"y": 318.71826171875,
"action": "",
@@ -118,7 +127,7 @@
"type": "path"
},
{
"id": 12,
"id": 13,
"x": 1045.4453125,
"y": 319.9306640625,
"action": "combat_script",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "206璃月-绝云间3",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "216璃月-珉林北4",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "219璃月-华光林2",
"type": "collect",
@@ -41,7 +41,7 @@
"y": 941.705078125,
"action": "combat_script",
"move_mode": "climb",
"action_params": "attack(0.3)",
"action_params": "attack(0.3),keypress(f),wait(0.2),keypress(f),wait(0.2),keypress(f),wait(0.2),keypress(f)",
"type": "path"
},
{
@@ -50,7 +50,7 @@
"y": 942.62890625,
"action": "combat_script",
"move_mode": "climb",
"action_params": "keypress(f),wait(0.2),keypress(f),wait(0.2),keypress(f),w(0.2),keypress(f),wait(0.5);万叶 attack(0.08),keydown(E),wait(0.51),keyup(E),attack(0.2),wait(0.5);琴 attack(0.08),keydown(E),wait(0.4),moveby(1000,0),wait(0.2),moveby(1000,0),wait(0.2),moveby(1000,0),wait(0.2),moveby(1000,-3500),wait(1.8),keyup(E),wait(0.3),click(middle);",
"action_params": "keypress(f),wait(0.2),keypress(f),wait(0.2),keypress(f),w(0.2),keypress(f),wait(0.5);万叶 attack(0.08),keydown(E),wait(0.7),keyup(E),attack(0.2),wait(0.5);琴 attack(0.08),keydown(E),wait(0.4),moveby(1000,0),wait(0.2),moveby(1000,0),wait(0.2),moveby(1000,0),wait(0.2),moveby(1000,-3500),wait(1.8),keyup(E),wait(0.3),click(middle);",
"type": "target"
},
{
@@ -77,7 +77,7 @@
"y": 939.68701171875,
"action": "combat_script",
"move_mode": "climb",
"action_params": "keypress(f),wait(0.2),keypress(f),wait(0.2),keypress(f),wait(0.2),keypress(f),wait(0.2),keypress(f),a(0.3),keypress(f);万叶 attack(0.08),keydown(E),wait(0.51),keyup(E),attack(0.2),wait(0.5);琴 attack(0.08),keydown(E),wait(0.4),moveby(1000,0),wait(0.2),moveby(1000,0),wait(0.2),moveby(1000,0),wait(0.2),moveby(1000,-3500),wait(1.8),keyup(E),wait(0.3),click(middle);",
"action_params": "keypress(f),wait(0.2),keypress(f),wait(0.2),keypress(f),wait(0.2),keypress(f),wait(0.2),keypress(f),a(0.2),keypress(f);万叶 attack(0.08),keydown(E),wait(0.51),keyup(E),attack(0.2),wait(0.5);琴 attack(0.08),keydown(E),wait(0.4),moveby(1000,0),wait(0.2),moveby(1000,0),wait(0.2),moveby(1000,0),wait(0.2),moveby(1000,-3500),wait(1.8),keyup(E),wait(0.3),click(middle);",
"type": "target"
}
]

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "220璃月-采浇谷4",
"type": "collect",

View File

@@ -1,12 +1,20 @@
{
{
"info": {
"name": "225璃月-层岩临时主矿道3",
"type": "collect",
"author": "汐",
"authors": [
{
"name": "汐",
"links": ""
}
],
"version": "1.0",
"description": "",
"map_name": "TheChasm",
"bgi_version": "0.45.0"
"bgi_version": "0.45.0",
"tags": [],
"last_modified_time": 1753375700855,
"enable_monster_loot_split": false
},
"positions": [
{
@@ -60,7 +68,7 @@
"y": 1053.031333368799,
"action": "combat_script",
"move_mode": "climb",
"action_params": "keypress(f),wait(0.2),keypress(f),w(0.2),keypress(f),wait(0.2),keypress(x)",
"action_params": "keypress(f),wait(0.2),keypress(f),w(0.2),keypress(f),wait(0.2),keypress(x);万叶 attack(0.08),keydown(E),wait(0.48),keyup(E),attack(0.2);琴 attack(0.08),keydown(E),wait(0.4),moveby(1000,0),wait(0.2),moveby(1000,0),wait(0.2),moveby(1000,0),wait(0.2),moveby(1000,-3500),wait(1.8),keyup(E),wait(0.3),click(middle),q;",
"type": "target"
},
{
@@ -92,12 +100,12 @@
},
{
"id": 10,
"x": 894.8753662109375,
"y": 1030.003662109375,
"action": "",
"x": 896.666015625,
"y": 1032.752197265625,
"type": "path",
"move_mode": "walk",
"action_params": "",
"type": "path"
"action": "",
"action_params": ""
},
{
"id": 11,

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "226璃月-层岩主矿区3",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "228璃月-沉玉谷沉珑渊地洞3",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "229璃月-沉玉谷灵濛山书洞3",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "301稻妻-菫色之庭副本4",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "302稻妻-九条阵屋2",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "401须弥-须弥城5",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "405须弥-天臂池西北4",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "407须弥-无郁稠林3",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "412须弥-阿如村3",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "414须弥-荼诃落谷营地2",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "417须弥-千壑沙地露营地2",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "428须弥-甘露花海4",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "501枫丹-枫丹城廷区2",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "503枫丹-芒索斯山东麓2",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "505枫丹-科学院左沙滩3",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "518枫丹-秋分山西侧2",
"type": "collect",

View File

@@ -1,12 +1,20 @@
{
{
"info": {
"name": "603纳塔-悬木人声望2",
"type": "collect",
"author": "汐",
"authors": [
{
"name": "汐",
"links": ""
}
],
"version": "1",
"description": "",
"map_name": "Teyvat",
"bgi_version": "0.45.0"
"bgi_version": "0.45.0",
"tags": [],
"last_modified_time": 1753376227227,
"enable_monster_loot_split": false
},
"positions": [
{
@@ -28,6 +36,15 @@
},
{
"id": 3,
"x": 8447.6962890625,
"y": -2087.685546875,
"type": "path",
"move_mode": "walk",
"action": "",
"action_params": ""
},
{
"id": 4,
"x": 8425.999956549087,
"y": -2106.5942426338115,
"action": "combat_script",
@@ -36,7 +53,7 @@
"type": "path"
},
{
"id": 4,
"id": 5,
"x": 8435.068359375,
"y": -2111.833984375,
"action": "",
@@ -45,12 +62,12 @@
"type": "path"
},
{
"id": 5,
"x": 8436.58203125,
"y": -2112.69921875,
"id": 6,
"x": 8437.7216796875,
"y": -2113.0166015625,
"action": "combat_script",
"move_mode": "climb",
"action_params": "keypress(f),wait(0.3),keypress(f),wait(0.3),keypress(f),w(0.3),keypress(f),w(0.2),keypress(f),d(0.4),keypress(f),s(0.5);万叶 attack(0.08),keydown(E),wait(0.7),keyup(E),attack(0.2),wait(0.5);琴 attack(0.08),keydown(E),wait(0.4),moveby(1000,0),wait(0.2),moveby(1000,0),wait(0.2),moveby(1000,0),wait(0.2),moveby(1000,-3500),wait(1.8),keyup(E),wait(0.3),click(middle);",
"action_params": "keypress(f),wait(0.3),keypress(f),wait(0.3),keypress(f),w(0.2),keypress(f),w(0.15),keypress(f),d(0.3),keypress(f),s(0.5);万叶 attack(0.08),keydown(E),wait(0.8),keyup(E),attack(0.2),wait(0.5);琴 attack(0.08),keydown(E),wait(0.4),moveby(1000,0),wait(0.2),moveby(1000,0),wait(0.2),moveby(1000,0),wait(0.2),moveby(1000,-3500),wait(1.8),keyup(E),wait(0.3),click(middle);",
"type": "target"
}
]

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "605纳塔-流泉之众4",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "611纳塔-花羽会西2",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "305【收尾】稻妻-踏鞴砂①-10",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "305【收尾】稻妻-踏鞴砂②-7",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "305【收尾】稻妻-踏鞴砂③-8",
"type": "collect",
@@ -13,7 +13,7 @@
"map_name": "Teyvat",
"bgi_version": "0.45.0",
"tags": [],
"last_modified_time": 1753124267375,
"last_modified_time": 1753375785257,
"enable_monster_loot_split": false
},
"positions": [
@@ -202,7 +202,7 @@
"y": -3704.4833984375,
"action": "combat_script",
"move_mode": "run",
"action_params": "keypress(f),keypress(w),keypress(x),wait(0.2),keypress(f),keypress(w),keypress(x),wait(0.2),keypress(f),keypress(w),keypress(x),wait(0.2),keypress(f),keypress(w),keypress(x),d(0.1);万叶 attack(0.08),keydown(E),wait(0.51),keyup(E),attack(0.2),wait(0.5);琴 attack(0.08),keydown(E),wait(0.4),moveby(1000,0),wait(0.2),moveby(1000,0),wait(0.2),moveby(1000,0),wait(0.2),moveby(1000,-3500),wait(1.8),keyup(E),wait(0.3),click(middle);",
"action_params": "keypress(f),keypress(w),keypress(x),wait(0.2),keypress(f),keypress(w),keypress(x),wait(0.2),keypress(f),keypress(w),keypress(x),wait(0.2),keypress(f),keypress(w),keypress(x),d(0.1);万叶 attack(0.08),keydown(E),wait(0.8),keyup(E),attack(0.2),wait(0.5);琴 attack(0.08),keydown(E),wait(0.4),moveby(1000,0),wait(0.2),moveby(1000,0),wait(0.2),moveby(1000,0),wait(0.2),moveby(1000,-3500),wait(1.8),keyup(E),wait(0.3),click(middle);",
"type": "target"
},
{
@@ -218,10 +218,10 @@
"id": 24,
"x": -3158.5634765625,
"y": -3705.626953125,
"type": "target",
"move_mode": "climb",
"action": "",
"action_params": ""
"move_mode": "climb",
"action_params": "",
"type": "target"
},
{
"id": 25,

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "01【额外】稻妻-踏鞴砂大炮点5",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "02【额外】须弥-水天丛林7",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "03【额外】须弥-凡爷屋顶罐子1",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "04【额外】枫丹-科学院瓶子3",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "05【额外】纳塔-鸡屁股9",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "06【额外】纳塔-灵谜纹13",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "98【额外】璃月-层岩地下1",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "003【激活程序】纳塔-鸡鸡",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "204璃月-天遒谷3",
"type": "collect",
@@ -13,7 +13,7 @@
"map_name": "Teyvat",
"bgi_version": "0.45.0",
"tags": [],
"last_modified_time": 1753122281650,
"last_modified_time": 1753379106673,
"enable_monster_loot_split": false
},
"positions": [
@@ -40,13 +40,22 @@
"id": 3,
"x": 1118.3120417903792,
"y": 234.43208860704453,
"action": "log_output",
"move_mode": "walk",
"action_params": "\n富A路线预计(双风buff+迪希雅)78分钟162个调查点≈10W经验\n富B路线预计(双风buff+迪希雅)55分钟135个调查点≈8.3W经验\n超详解析请看JS里README说明书",
"type": "orientation"
},
{
"id": 4,
"x": 1118.3120417903792,
"y": 234.43208860704453,
"action": "",
"move_mode": "run",
"action_params": "",
"type": "path"
},
{
"id": 4,
"id": 5,
"x": 1086.0937875257878,
"y": 301.8435984203652,
"action": "combat_script",
@@ -55,7 +64,7 @@
"type": "target"
},
{
"id": 5,
"id": 6,
"x": 1084.796875,
"y": 299.93359375,
"action": "",
@@ -64,7 +73,7 @@
"type": "path"
},
{
"id": 6,
"id": 7,
"x": 1088.0673828125,
"y": 303.08203125,
"action": "",
@@ -73,7 +82,7 @@
"type": "target"
},
{
"id": 7,
"id": 8,
"x": 1083.5625,
"y": 305.87513279847644,
"action": "",
@@ -82,7 +91,7 @@
"type": "path"
},
{
"id": 8,
"id": 9,
"x": 1082.8095703125,
"y": 300.794921875,
"action": "combat_script",
@@ -91,7 +100,7 @@
"type": "path"
},
{
"id": 9,
"id": 10,
"x": 1068.333984375,
"y": 353.74951171875,
"action": "",
@@ -100,7 +109,7 @@
"type": "path"
},
{
"id": 10,
"id": 11,
"x": 1069.3271484375,
"y": 355.3740234375,
"action": "combat_script",
@@ -109,7 +118,7 @@
"type": "target"
},
{
"id": 11,
"id": 12,
"x": 1047.9365234375,
"y": 318.71826171875,
"action": "",
@@ -118,7 +127,7 @@
"type": "path"
},
{
"id": 12,
"id": 13,
"x": 1045.4453125,
"y": 319.9306640625,
"action": "combat_script",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "208璃月-望舒客栈4",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "214璃月-轻策庄3",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "216璃月-珉林北2",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "217璃月-珉林酒窖3",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "220璃月-采浇谷4",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "223璃月-灵濛山北2",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "229璃月-沉玉谷灵濛山书洞3",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "405须弥-天臂池西北4",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "407须弥-无郁稠林3",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "412须弥-阿如村3",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "413须弥-阿如村西2",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "424须弥-赤王陵中间7",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "426须弥-智障厅东8",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "429须弥-花海锋刃林泽3",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "508枫丹-研究院区西北6",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "511枫丹-实验室遗址右1",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "514枫丹-莫尔泰神像3",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "518枫丹-秋分山西侧2",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "519枫丹-卡布叻斯堡地下3",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "520枫丹-自身之塔南3",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "521枫丹-白松镇3",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "522枫丹-水仙十字结社书馆2",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "601纳塔-圣火竞技场东2",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "618纳塔-回声之子2",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "427【收尾】须弥-智障厅①-13",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "427【收尾】须弥-智障厅②-7",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "05【额外】纳塔-鸡屁股9",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "100 芙宁娜强制变黑芙",
"type": "collect",

View File

@@ -194,7 +194,7 @@ let enemyType = "无";
log.info(`上次狗粮开始时间: ${lastEndTime.toISOString()}`);
log.info(`上次运行路线: ${lastRunRoute}`);
log.info(`上次运行是否完成: ${finished}`);
log.info(`版本1.69,更新日期25.7.24,如果太久远,要经常检查更新`);
try {
// 读取 manifest.json 文件的内容

View File

@@ -1,7 +1,7 @@
{
"manifest_version": 1,
"name": "自动狗粮重制版",
"version": "1.6.8",
"version": "1.6.9",
"tags": [
"好感",
"狗粮"

View File

@@ -1,23 +1,15 @@
{
"info": {
"name": "从甜甜花到狗盆",
"name": "到狗盆",
"type": "collect",
"author": "花火",
"version": "1.0",
"version": "1.2",
"description": "",
"bgi_version": "0.35.1"
},
"positions": [
{
"id": 1,
"action": "",
"move_mode": "walk",
"type": "path",
"x": -4529.2578125,
"y": -3084.009765625
},
{
"id": 2,
"x": -4500.28125,
"y": -3116.0146484375,
"type": "target",

View File

@@ -1,24 +1,16 @@
{
"info": {
"name": "从狗盆到甜甜花",
"name": "到甜甜花",
"type": "collect",
"author": "花火",
"version": "1.1",
"version": "1.2",
"description": "",
"bgi_version": "0.43.5"
},
"positions": [
{
"id": 1,
"x": -4500.28125,
"y": -3116.0146484375,
"type": "path",
"move_mode": "walk",
"action": ""
},
{
"id": 2,
"action": "exit_and_relogin",
"action": "",
"move_mode": "walk",
"type": "target",
"x": -4529.2578125,

View File

@@ -3,7 +3,7 @@
"name": "到达甜甜花位置",
"type": "collect",
"author": "花火",
"version": "1.1",
"version": "1.2",
"description": "",
"bgi_version": "0.43.5"
},
@@ -46,7 +46,7 @@
"y": -3084.009765625,
"type": "target",
"move_mode": "walk",
"action": "exit_and_relogin"
"action": ""
}
]
}

View File

@@ -25,7 +25,7 @@
await sleep(1000);
click(1010, 760);
await sleep(1000);
} // todo:考虑添加ocr参数确保一定点击到 F
}
async function AutoPath(locationName) {
try {
@@ -37,18 +37,32 @@
await sleep(2000);
}
async function OcrF() {
let capture = await captureGameRegion();
let ocr = await capture.find(RecognitionObject.ocrThis);
if(ocr.text.includes('投喂')){
return true;
}
return false;
}
async function AutoFriendshipDev(times) {
log.info(`导航至甜甜花位置`);
await AutoPath('导航至甜甜花位置');
await genshin.relogin();
log.info(`自动好感开始...`);
const startFirstTime = Date.now();
for (let i = 0; i < times; i++) {
log.info(`自动好感当前次数:${i + 1}/${times}`);
await AutoPath('从甜甜花到狗盆');
await AutoPath('到狗盆');
for(let j = 0; j < 3 && !await OcrF(); j++){
await AutoPath('到狗盆');
}
await Feed();
if( i != times - 1) {
await AutoPath('从狗盆到甜甜花');
await AutoPath('到甜甜花');
await genshin.relogin();
} //最后一次不需要返回到甜甜花
const estimatedCompletion = CalculateEstimatedCompletion(startFirstTime, i + 1, times);
const currentTime = LogTimeTaken(startFirstTime);

View File

@@ -1,10 +1,13 @@
{
"manifest_version": 1,
"name": "鸡腿好感",
"version": "1.1",
"tags": ["好感", "突发事件"],
"bgi_version": "0.43.5",
"description": "通过喂狗突发事件刷好感度使用满员好感度队伍每天上限10次有概率失败可以适当增加次数",
"version": "1.2",
"tags": [
"好感",
"突发事件"
],
"bgi_version": "0.44.0",
"description": "通过喂狗突发事件刷好感度确保队伍满员4个角色都能刷每天上限10次",
"authors": [
{
"name": "花火"

View File

@@ -73,6 +73,10 @@
---
### 更新日志
### 1.2.22025.07.25
1.调整部分小怪路线的战斗点位
### 1.2.12025.07.24
1. 调整了路线筛选的逻辑
### 1.1.82025.07.13
1. 新增实验功能:泥头车模式
2. 新增部分路线

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "419须弥沙漠巨人峡谷西北600_1",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "422须弥沙漠赤王陵西北岩窟中层600_1200_1",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "429须弥沙漠赤王陵200_2",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "519魔像禁卫-佩特莉可镇200_1",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "520魔像禁卫-佩特莉可镇200_1",
"type": "collect",

View File

@@ -1,4 +1,4 @@
{
{
"info": {
"name": "521佩特莉可镇200_5",
"type": "collect",

View File

@@ -272,7 +272,7 @@ async function markPathings(pathings, group1Tags, group2Tags, group3Tags, group4
async function findBestRouteGroups(pathings, k, targetEliteNum, targetMonsterNum) {
// 初始化变量
let currentTargetEliteNum = targetEliteNum; // 当前目标精英怪数量
let nextTargetEliteNum = targetEliteNum; // 当前目标精英怪数量
let iterationCount = 0; // 循环次数
// 初始化统计变量
@@ -280,10 +280,14 @@ async function findBestRouteGroups(pathings, k, targetEliteNum, targetMonsterNum
let totalSelectedMonsters = 0; // 总普通怪数量
let totalGainCombined = 0; // 总收益
let totalTimeCombined = 0; // 总耗时
let monsterRouteElite = 0;
let maxE1 = 0;
let maxE2 = 0;
const ratio = targetEliteNum / targetMonsterNum;
const f = (Number((1 - Math.exp(-ratio * ratio)).toFixed(3)) + 1) / 2;
// 遍历 pathings计算并添加 G1、G2、E1 和 E2 属性
pathings.forEach(pathing => {
pathing.selected = false; // 初始化 selected 属性为 false
@@ -291,7 +295,7 @@ async function findBestRouteGroups(pathings, k, targetEliteNum, targetMonsterNum
pathing.G1 = G1;
const G2 = pathing.mora_m; // 进入二组的收益
pathing.G2 = G2;
pathing.E1 = pathing.e === 0 ? 0 : ((G1 - G2 * (targetEliteNum / (targetEliteNum + targetMonsterNum))) / pathing.e) ** k * (G1 / pathing.t); // 进入一组的效率
pathing.E1 = pathing.e === 0 ? 0 : ((G1 - G2 * f) / pathing.e) ** k * (G1 / pathing.t); // 进入一组的效率
pathing.E2 = pathing.m === 0 ? 0 : (G2 / pathing.m) ** k * (G2 / pathing.t); // 进入二组的效率
if (maxE1 < pathing.E1) {
@@ -320,12 +324,13 @@ async function findBestRouteGroups(pathings, k, targetEliteNum, targetMonsterNum
totalGainCombined = 0; // 重置总收益
totalTimeCombined = 0; // 重置总耗时
// 按 E1 从高到低排序
pathings.sort((a, b) => b.E1 - a.E1);
// 第一轮选择:根据当前目标精英怪数量选择路径
for (const pathing of pathings) {
if (pathing.E1 > 0 && pathing.available && totalSelectedElites < targetEliteNum) {
if (pathing.E1 > 0 && pathing.available && ((totalSelectedElites + pathing.e) <= targetEliteNum - monsterRouteElite + 2)) {
pathing.selected = true;
totalSelectedElites += pathing.e;
totalSelectedMonsters += pathing.m;
@@ -337,14 +342,16 @@ async function findBestRouteGroups(pathings, k, targetEliteNum, targetMonsterNum
// 封装第二轮选择逻辑
function selectRoutesByMonsterTarget(targetMonsterNum) {
monsterRouteElite = 0;
// 按 E2 从高到低排序
pathings.sort((a, b) => b.E2 - a.E2);
// 第二轮选择:根据剩余的普通怪数量目标选择路径
for (const pathing of pathings) {
if (pathing.E2 > 0 && pathing.available && !pathing.selected && totalSelectedMonsters < targetMonsterNum) {
if (pathing.E2 > 0 && pathing.available && !pathing.selected && (totalSelectedMonsters + pathing.m) < targetMonsterNum + 5) {
pathing.selected = true;
totalSelectedElites += pathing.e; // 第二轮选择中也可能包含精英怪
monsterRouteElite += pathing.e;
totalSelectedMonsters += pathing.m;
totalGainCombined += pathing.G2;
totalTimeCombined += pathing.t;
@@ -353,26 +360,21 @@ async function findBestRouteGroups(pathings, k, targetEliteNum, targetMonsterNum
}
// 循环调整目标精英怪数量
while (iterationCount < 10) {
while (iterationCount < 100) {
// 第一轮选择
selectRoutesByEliteTarget(currentTargetEliteNum);
selectRoutesByEliteTarget(nextTargetEliteNum);
// 第二轮选择:直接传入剩余的小怪数量目标
selectRoutesByMonsterTarget(targetMonsterNum);
// 检查精英怪总数是否满足条件
const diff = totalSelectedElites - targetEliteNum;
currentTargetEliteNum -= Math.round(0.5 * diff); // 调整目标精英怪数量,乘以系数并取整
if (totalSelectedElites === targetEliteNum) {
break; // 如果满足目标,直接终止循环
if ((totalSelectedElites >= targetEliteNum - 3) && (totalSelectedElites <= targetEliteNum)) {
break;
}
if ((totalSelectedElites > targetEliteNum) && iterationCount >= 5) {
break; // 如果满足目标,直接终止循环
}
iterationCount++; // 增加循环次数
nextTargetEliteNum -= Math.round(0.1 * diff); // 调整目标精英怪数量,乘以系数并取整
//log.info(`该轮循环目标${nextTargetEliteNum},实际选出${totalSelectedElites}`);
iterationCount++; // 增加循环序号
}
// 为最终选中且精英怪数量为0的路线添加小怪标签

View File

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

View File

@@ -1,12 +1,7 @@
{
{
"info": {
"name": "6611--纳塔_涌流地_中央神像_(9-8)",
"type": "collect",
"author": "Demo&汐&mno",
"version": "1.1",
"description": " 路线信息该路线预计用时181.76秒包含13只小怪预计收入769.5摩拉包含以下怪物1只流刃勇士·游击人、2只流刃勇士·锯脂者、2只流刃勇士·掷叉猎手、1只鳍游龙武士·裂礁之涛、2只幼鳍游龙、5只鳍游龙。",
"map_name": "Teyvat",
"bgi_version": "0.45.0",
"authors": [
{
"name": "Demo"
@@ -19,7 +14,14 @@
"name": "mno",
"links": "https://github.com/Bedrockx"
}
]
],
"version": "1.1",
"description": " 路线信息该路线预计用时181.76秒包含13只小怪预计收入769.5摩拉包含以下怪物1只流刃勇士·游击人、2只流刃勇士·锯脂者、2只流刃勇士·掷叉猎手、1只鳍游龙武士·裂礁之涛、2只幼鳍游龙、5只鳍游龙。",
"map_name": "Teyvat",
"bgi_version": "0.45.0",
"tags": [],
"last_modified_time": 1753404413684,
"enable_monster_loot_split": false
},
"positions": [
{
@@ -74,8 +76,7 @@
"action": "fight",
"move_mode": "dash",
"action_params": "",
"type": "path",
"locked": false
"type": "path"
},
{
"id": 7,
@@ -153,25 +154,15 @@
"id": 15,
"x": 8431.56,
"y": -2791,
"action": "combat_script",
"action": "fight",
"move_mode": "dash",
"action_params": "attack(0.5)",
"action_params": "",
"type": "path"
},
{
"id": 16,
"x": 8439.32,
"y": -2772.84,
"action": "fight",
"move_mode": "dash",
"action_params": "",
"type": "path",
"locked": false
},
{
"id": 17,
"x": 8439.32,
"y": -2772.84,
"action": "combat_script",
"move_mode": "dash",
"action_params": "wait(1)",

View File

@@ -1,18 +1,20 @@
{
{
"info": {
"name": "2101璃月无妄坡西南",
"type": "collect",
"author": "mno",
"version": "1.1",
"description": " 路线信息该路线预计用时292.2秒包含2只精英与34只小怪预计收入2101摩拉包含以下怪物4只冰史莱姆、9只丘丘人、4只打手丘丘人、3只冲锋丘丘人、2只木盾丘丘人、2只射手丘丘人、2只火箭丘丘人、4只冰箭丘丘人、1只木盾丘丘暴徒、1只火斧丘丘暴徒、4只水萤。",
"map_name": "Teyvat",
"bgi_version": "0.45.0",
"authors": [
{
"name": "mno",
"links": "https://github.com/Bedrockx"
}
]
],
"version": "1.1",
"description": " 路线信息该路线预计用时292.2秒包含2只精英与34只小怪预计收入2101摩拉包含以下怪物4只冰史莱姆、9只丘丘人、4只打手丘丘人、3只冲锋丘丘人、2只木盾丘丘人、2只射手丘丘人、2只火箭丘丘人、4只冰箭丘丘人、1只木盾丘丘暴徒、1只火斧丘丘暴徒、4只水萤。",
"map_name": "Teyvat",
"bgi_version": "0.45.0",
"tags": [],
"last_modified_time": 1753404181347,
"enable_monster_loot_split": false
},
"positions": [
{
@@ -300,25 +302,25 @@
"y": 1360.12,
"action": "combat_script",
"move_mode": "dash",
"action_params": "wait(2)",
"action_params": "芙宁娜 e",
"type": "path",
"locked": false
},
{
"id": 33,
"x": 606.52,
"y": 1360.12,
"action": "fight",
"x": 616.52,
"y": 1365.12,
"action": "combat_script",
"move_mode": "dash",
"action_params": "",
"type": "orientation",
"action_params": "wait(1.5)",
"type": "path",
"locked": false
},
{
"id": 34,
"x": 606.52,
"y": 1360.12,
"action": "",
"x": 616.52,
"y": 1365.12,
"action": "fight",
"move_mode": "dash",
"action_params": "",
"type": "path"

View File

@@ -1,17 +1,20 @@
{
{
"info": {
"name": "2202璃月瑶光滩西北",
"type": "collect",
"author": "mno",
"version": "1.0",
"description": " 路线信息该路线预计用时286.29秒包含3只精英与19只小怪预计收入1693.5摩拉包含以下怪物2只丘丘人、2只打手丘丘人、3只冲锋丘丘人、3只木盾丘丘人、1只雷箭丘丘人、3只冰箭丘丘人、1只木盾丘丘暴徒、1只草丘丘萨满、1只水深渊法师、1只遗迹猎者、1只水萤、3只雷萤。",
"bgi_version": "0.42.0",
"authors": [
{
"name": "mno",
"links": "https://github.com/Bedrockx"
}
]
],
"version": "1.0",
"description": " 路线信息该路线预计用时286.29秒包含3只精英与19只小怪预计收入1693.5摩拉包含以下怪物2只丘丘人、2只打手丘丘人、3只冲锋丘丘人、3只木盾丘丘人、1只雷箭丘丘人、3只冰箭丘丘人、1只木盾丘丘暴徒、1只草丘丘萨满、1只水深渊法师、1只遗迹猎者、1只水萤、3只雷萤。",
"map_name": "Teyvat",
"bgi_version": "0.45.0",
"tags": [],
"last_modified_time": 1753403836745,
"enable_monster_loot_split": false
},
"positions": [
{
@@ -261,8 +264,8 @@
"id": 28,
"x": -148.97,
"y": 438.69,
"action": "",
"move_mode": "dash",
"action": "fight",
"move_mode": "walk",
"action_params": "",
"type": "path"
},

Some files were not shown because too many files have changed in this diff Show More