Compare commits

...

8 Commits

Author SHA1 Message Date
MisakaAldrich
6fb7aecefb update repo.json
Some checks failed
Build repo.json / build (18.x) (push) Has been cancelled
Build repo.json / upload (push) Has been cancelled
2025-07-02 11:17:19 +00:00
kaedelcb
f62166231b v.3.1版本 全自动枫丹地脉花 20250702 (#1260)
### v.3.1版本:20250702

- **优化**:
1. 优化树脂识别OCR区域。
2. log显示优化。
3. 修复图像识别构造函数错误。
2025-07-02 19:17:01 +08:00
MisakaAldrich
fa91e0bf73 update repo.json 2025-07-02 11:12:19 +00:00
kaedelcb
8383fd9ce2 v.1.6版本 自动幽境危战 20250702 (#1259)
### v.1.6版本:20250702

- **优化**:
1. 优化没找到地脉花领奖的超时退出处理。
2. 优化树脂识别OCR区域。
3. 优化LOG和代码写法和整理。
2025-07-02 19:12:00 +08:00
MisakaAldrich
17a6935d14 update repo.json 2025-07-02 11:10:30 +00:00
起个名字好难
87255c3c8c 规范命名: 海草 2025-07-02 19:09:53 +08:00
MisakaAldrich
252fe68de8 update repo.json 2025-07-02 11:02:56 +00:00
起个名字好难
3652df2bfa 规范命名: 茉洁草 2025-07-02 19:02:16 +08:00
65 changed files with 403 additions and 377 deletions

362
repo.json
View File

@@ -1,5 +1,5 @@
{
"time": "20250702181213",
"time": "20250702191718",
"url": "https://github.com/babalae/bettergi-scripts-list/archive/refs/heads/main.zip",
"file": "repo.json",
"indexes": [
@@ -58845,9 +58845,9 @@
"type": "directory",
"children": [
{
"name": "海草01-绀田村-稻妻6个.json",
"name": "01-海草-稻妻-绀田村-6个.json",
"type": "file",
"hash": "93ffd6d12ca799a033cc4501866e007e2965cd63",
"hash": "febf831571237608daf4d2abc7fbecffd1889c36",
"version": "1.0",
"author": "不瘦五十斤不改名",
"authors": [
@@ -58863,12 +58863,12 @@
"海草",
"纳西妲"
],
"lastUpdated": "2025-06-30 21:04:05"
"lastUpdated": "2025-07-02 19:09:53"
},
{
"name": "海草02-海-稻妻3个.json",
"name": "02-海-稻妻-荒海-3个.json",
"type": "file",
"hash": "f1d4e1279214f3ee8416ba6d8b1196f3b5284e67",
"hash": "455934e188f4d622c8ef816bf037f5ffc69235b0",
"version": "1.0",
"author": "不瘦五十斤不改名",
"authors": [
@@ -58884,12 +58884,12 @@
"海草",
"纳西妲"
],
"lastUpdated": "2025-06-30 21:04:05"
"lastUpdated": "2025-07-02 19:09:53"
},
{
"name": "海草03-海-稻妻5个.json",
"name": "03-海-稻妻-荒海-5个.json",
"type": "file",
"hash": "6767128c451d47514c70f2b787c2cf3809d9371e",
"hash": "ac1b504cb2235339dbf19f5f98ba883b5007420c",
"version": "1.0",
"author": "不瘦五十斤不改名",
"authors": [
@@ -58905,12 +58905,12 @@
"海草",
"纳西妲"
],
"lastUpdated": "2025-06-30 21:04:05"
"lastUpdated": "2025-07-02 19:09:53"
},
{
"name": "海草04-离岛-稻妻4个.json",
"name": "04-海草-稻妻-离岛-4个.json",
"type": "file",
"hash": "7c8a2f7f5b28e6e7f0ce69e94741caf3600a5278",
"hash": "45278416b1c1a0c77468da8ec14757e8d2ad303f",
"version": "1.0",
"author": "不瘦五十斤不改名",
"authors": [
@@ -58926,12 +58926,12 @@
"海草",
"纳西妲"
],
"lastUpdated": "2025-06-30 21:04:05"
"lastUpdated": "2025-07-02 19:09:53"
},
{
"name": "海草05-白狐之野-稻妻3个.json",
"name": "05-海草-稻妻-白狐之野-3个.json",
"type": "file",
"hash": "22e483eeb209a23df6824cac922c6d2a8bc7ac3e",
"hash": "ccaeee1c6e175f73e4e3d93cce5cce9e18c7ecaf",
"version": "1.0",
"author": "不瘦五十斤不改名",
"authors": [
@@ -58947,12 +58947,12 @@
"海草",
"纳西妲"
],
"lastUpdated": "2025-06-30 21:04:05"
"lastUpdated": "2025-07-02 19:09:53"
},
{
"name": "海草06-白狐之野-稻妻4个.json",
"name": "06-海草-稻妻-白狐之野-4个.json",
"type": "file",
"hash": "ef7dc6b689d16076b4b8139af8548a2d5ceb7672",
"hash": "8d0963fe62119d1faed71ca4229cc6aa83b66608",
"version": "1.0",
"author": "不瘦五十斤不改名",
"authors": [
@@ -58968,12 +58968,12 @@
"海草",
"纳西妲"
],
"lastUpdated": "2025-06-30 21:04:05"
"lastUpdated": "2025-07-02 19:09:53"
},
{
"name": "海草07-堇色之庭-稻妻2个.json",
"name": "07-海草-稻妻-堇色之庭-2个.json",
"type": "file",
"hash": "ea390b995b149e1469a613127319eb6d3ce2f380",
"hash": "217096918f2d1c2bbcd16be26a95cda985821521",
"version": "1.0",
"author": "不瘦五十斤不改名",
"authors": [
@@ -58989,12 +58989,12 @@
"海草",
"纳西妲"
],
"lastUpdated": "2025-06-30 21:04:05"
"lastUpdated": "2025-07-02 19:09:53"
},
{
"name": "海草08-九条阵屋-稻妻4个.json",
"name": "08-海草-稻妻-九条阵屋-4个.json",
"type": "file",
"hash": "7efbabdd68dce7eaaf2d68f60847b699d14b2f5b",
"hash": "ae20e7cd3416136847769f012dfbd35ca982f2f9",
"version": "1.0",
"author": "不瘦五十斤不改名",
"authors": [
@@ -59010,12 +59010,12 @@
"海草",
"纳西妲"
],
"lastUpdated": "2025-06-30 21:04:05"
"lastUpdated": "2025-07-02 19:09:53"
},
{
"name": "海草09-踏鞴砂-稻妻4个.json",
"name": "09-海草-稻妻-踏鞴砂-4个.json",
"type": "file",
"hash": "482e4ae93970d799e03e75d305026d69a6b2824b",
"hash": "54c1826e84a257d3410bddab4c46918a70197a78",
"version": "1.0",
"author": "不瘦五十斤不改名",
"authors": [
@@ -59031,12 +59031,12 @@
"海草",
"纳西妲"
],
"lastUpdated": "2025-06-30 21:04:05"
"lastUpdated": "2025-07-02 19:09:53"
},
{
"name": "海草10-踏鞴砂(危)-稻妻7个.json",
"name": "1-海草-稻妻-踏鞴砂(危)-11个.json",
"type": "file",
"hash": "0a0f4d9374e344b657371373c0a188a8ddde7e36",
"hash": "e05b2dc3dafb5705dc3e43a751de5de23202c8d7",
"version": "1.0",
"author": "不瘦五十斤不改名",
"authors": [
@@ -59052,12 +59052,12 @@
"海草",
"纳西妲"
],
"lastUpdated": "2025-06-30 21:04:05"
"lastUpdated": "2025-07-02 19:09:53"
},
{
"name": "海草10-踏鞴砂(危)-稻妻11个.json",
"name": "11-海草-稻妻-踏鞴砂(危)-7个.json",
"type": "file",
"hash": "54b5b680de32c1459d1187e8d0e361fabeb4ab53",
"hash": "b31c25fd6d21030641b8ea0635a3fa10af8e06d8",
"version": "1.0",
"author": "不瘦五十斤不改名",
"authors": [
@@ -59073,12 +59073,12 @@
"海草",
"纳西妲"
],
"lastUpdated": "2025-06-30 21:04:05"
"lastUpdated": "2025-07-02 19:09:53"
},
{
"name": "海草11-无想刃狭间(中危)-稻妻5个.json",
"name": "12-海草-稻妻-无想刃狭间(中危)-5个.json",
"type": "file",
"hash": "0132b879e072a1556366a640589eedea2032ba55",
"hash": "a0afa0445de8c3c2fcc526e01d1673f0c3cb4783",
"version": "1.0",
"author": "不瘦五十斤不改名",
"authors": [
@@ -59094,12 +59094,12 @@
"海草",
"纳西妲"
],
"lastUpdated": "2025-06-30 21:04:05"
"lastUpdated": "2025-07-02 19:09:53"
},
{
"name": "海草12-海祇岛-稻妻4个.json",
"name": "13-海草-稻妻-海祇岛-4个.json",
"type": "file",
"hash": "80034d3195a231947ef144480568798084cf5d9d",
"hash": "7d2c41409741f2d9f76bb16880009ed125e4635c",
"version": "1.0",
"author": "不瘦五十斤不改名",
"authors": [
@@ -59115,12 +59115,12 @@
"海草",
"纳西妲"
],
"lastUpdated": "2025-06-30 21:04:05"
"lastUpdated": "2025-07-02 19:09:53"
},
{
"name": "海草13-千来神祠-稻妻2个.json",
"name": "14-海草-稻妻-千来神祠-2个.json",
"type": "file",
"hash": "ecc0fc04e4535c30536036afe15bbc7c4da6a371",
"hash": "aec32cf03611af4d31c8c5d65d897da8f01400d9",
"version": "1.0",
"author": "不瘦五十斤不改名",
"authors": [
@@ -59136,12 +59136,12 @@
"海草",
"纳西妲"
],
"lastUpdated": "2025-06-30 21:04:05"
"lastUpdated": "2025-07-02 19:09:53"
},
{
"name": "海草14-鹤观神像-稻妻2个.json",
"name": "15-海草-稻妻-鹤观神像-2个.json",
"type": "file",
"hash": "9f13dcde034609d3ff08956212c61791c6f2bacf",
"hash": "8824c359ca6a22df761d478481f70e471ca2b31d",
"version": "1.0",
"author": "不瘦五十斤不改名",
"authors": [
@@ -59157,12 +59157,12 @@
"海草",
"纳西妲"
],
"lastUpdated": "2025-06-30 21:04:05"
"lastUpdated": "2025-07-02 19:09:53"
},
{
"name": "海草15-鹤观神像-稻妻3个.json",
"name": "16-海草-稻妻-鹤观神像-3个.json",
"type": "file",
"hash": "0658747d8ed799b6e50054926fc45bc100efa962",
"hash": "8e3e3bdfc4d65afd8a2bffa21f5496fc0cea1c1a",
"version": "1.0",
"author": "不瘦五十斤不改名",
"authors": [
@@ -59178,12 +59178,12 @@
"海草",
"纳西妲"
],
"lastUpdated": "2025-06-30 21:04:05"
"lastUpdated": "2025-07-02 19:09:53"
},
{
"name": "海草16-天云峠-稻妻4个.json",
"name": "17-海草-稻妻-天云峠-4个.json",
"type": "file",
"hash": "24c6e900e4398df5341a8a21654ef2ae1ba0705f",
"hash": "04a61502371ad093c466eee915b8368a05c9abf5",
"version": "1.0",
"author": "不瘦五十斤不改名",
"authors": [
@@ -59199,12 +59199,12 @@
"海草",
"纳西妲"
],
"lastUpdated": "2025-06-30 21:04:05"
"lastUpdated": "2025-07-02 19:09:53"
},
{
"name": "海草17-越石村-稻妻4个.json",
"name": "18-海草-稻妻-越石村-4个.json",
"type": "file",
"hash": "ae3dd923a5fea01fb04893abd80bed355b310ece",
"hash": "0e55e770164105ebb528c71703e359c4ed958fd5",
"version": "1.0",
"author": "不瘦五十斤不改名",
"authors": [
@@ -59220,7 +59220,7 @@
"海草",
"纳西妲"
],
"lastUpdated": "2025-06-30 21:04:05"
"lastUpdated": "2025-07-02 19:09:53"
}
]
},
@@ -64343,9 +64343,9 @@
"type": "directory",
"children": [
{
"name": "茉洁草01-猎人本-枫丹3个.json",
"name": "01-茉洁草-枫丹-罪祸的终末-3个.json",
"type": "file",
"hash": "3d81d171dd86075786ca7500c2d3c90b048e8574",
"hash": "42b0659256fe2045fab714d77fc061dae8b98e42",
"version": "1.0",
"author": "不瘦五十斤不改名",
"authors": [
@@ -64360,12 +64360,12 @@
"食材与炼金",
"茉洁草"
],
"lastUpdated": "2025-06-30 21:04:05"
"lastUpdated": "2025-07-02 19:02:16"
},
{
"name": "茉洁草02-猎人本-枫丹5个.json",
"name": "02-茉洁草-枫丹-罪祸的终末-5个.json",
"type": "file",
"hash": "6b3a34be04120826a3596a3f774565b48b61d2d4",
"hash": "c76058cec75a70111a1647be16e8566cdd322314",
"version": "1.0",
"author": "不瘦五十斤不改名",
"authors": [
@@ -64380,12 +64380,12 @@
"食材与炼金",
"茉洁草"
],
"lastUpdated": "2025-06-30 21:04:05"
"lastUpdated": "2025-07-02 19:02:16"
},
{
"name": "茉洁草03-厄里那斯左下-枫丹12个.json",
"name": "03-茉洁草-枫丹-厄里那斯左下-12个.json",
"type": "file",
"hash": "694e4fd7f1f76792f22625eeb8c65916f0cd0059",
"hash": "b002ab7d963ab9453b54e4f078ccba1160125eb6",
"version": "1.0",
"author": "曦",
"authors": [
@@ -64400,12 +64400,12 @@
"食材与炼金",
"茉洁草"
],
"lastUpdated": "2025-06-30 21:04:05"
"lastUpdated": "2025-07-02 19:02:16"
},
{
"name": "茉洁草04-厄里那斯左下-枫丹4个.json",
"name": "04-茉洁草-枫丹-厄里那斯左下-4个.json",
"type": "file",
"hash": "002dc091881d9f447f6bb0d4b85afc8d0c2e8e11",
"hash": "aa385af9b55e0de8383dda263eead9edee55a208",
"version": "1.0",
"author": "不瘦五十斤不改名",
"authors": [
@@ -64420,12 +64420,12 @@
"食材与炼金",
"茉洁草"
],
"lastUpdated": "2025-06-30 21:04:05"
"lastUpdated": "2025-07-02 19:02:16"
},
{
"name": "茉洁草05-厄里那斯左下-枫丹9个.json",
"name": "05-茉洁草-枫丹-厄里那斯左下-9个.json",
"type": "file",
"hash": "0424d2a7267b925f75d33d5e1dca9f988ad980e4",
"hash": "53eb906b7afb2082729875af23a9d63728d5f9ad",
"version": "1.0",
"author": "曦",
"authors": [
@@ -64440,12 +64440,12 @@
"食材与炼金",
"茉洁草"
],
"lastUpdated": "2025-06-30 21:04:05"
"lastUpdated": "2025-07-02 19:02:16"
},
{
"name": "茉洁草06-厄里那斯右下-枫丹6个.json",
"name": "06-茉洁草-枫丹-厄里那斯右下-6个.json",
"type": "file",
"hash": "19965ac561d76e18aec05f0e93fc81635b89481d",
"hash": "893ad5e5e572434bac8be45a6d65bc5e45a3736a",
"version": "1.0",
"author": "不瘦五十斤不改名",
"authors": [
@@ -64460,12 +64460,12 @@
"食材与炼金",
"茉洁草"
],
"lastUpdated": "2025-06-30 21:04:05"
"lastUpdated": "2025-07-02 19:02:16"
},
{
"name": "茉洁草07-厄里那斯右下-枫丹4个.json",
"name": "07-茉洁草-枫丹-厄里那斯右下-4个.json",
"type": "file",
"hash": "943d5f45ca48398f1a197c5df8f4c94f8100784b",
"hash": "10066b9c5d92e06e0f4a862657a485ede942d77f",
"version": "1.0",
"author": "不瘦五十斤不改名",
"authors": [
@@ -64480,12 +64480,12 @@
"食材与炼金",
"茉洁草"
],
"lastUpdated": "2025-06-30 21:04:05"
"lastUpdated": "2025-07-02 19:02:16"
},
{
"name": "茉洁草08-厄里那斯神像-枫丹13个.json",
"name": "08-茉洁草-枫丹-厄里那斯神像-13个.json",
"type": "file",
"hash": "96bd154d8cc54ff7804bc4862e3662035c5832d8",
"hash": "c78c091971af24f025d4b92863d050b9ebb2966e",
"version": "1.0",
"author": "不瘦五十斤不改名",
"authors": [
@@ -64500,12 +64500,12 @@
"食材与炼金",
"茉洁草"
],
"lastUpdated": "2025-06-30 21:04:05"
"lastUpdated": "2025-07-02 19:02:16"
},
{
"name": "茉洁草09-厄里那斯左-枫丹5个.json",
"name": "09-茉洁草-枫丹-厄里那斯左-5个.json",
"type": "file",
"hash": "0551c57db7e2cd5dd53f70742d971c06dd235bd5",
"hash": "3e1cb892010ded4decc80da24096439d74b4a7e0",
"version": "1.0",
"author": "不瘦五十斤不改名",
"authors": [
@@ -64520,12 +64520,12 @@
"食材与炼金",
"茉洁草"
],
"lastUpdated": "2025-06-30 21:04:05"
"lastUpdated": "2025-07-02 19:02:16"
},
{
"name": "茉洁草10-厄里那斯左-枫丹4个.json",
"name": "10-茉洁草-枫丹-厄里那斯左-4个.json",
"type": "file",
"hash": "026a02999859d75b3f9ca53521c8c84fa2b330e3",
"hash": "2d45b011ae4a44ab9c0fa9c7ee69c21bdd45b924",
"version": "1.0",
"author": "不瘦五十斤不改名",
"authors": [
@@ -64540,12 +64540,12 @@
"食材与炼金",
"茉洁草"
],
"lastUpdated": "2025-06-30 21:04:05"
"lastUpdated": "2025-07-02 19:02:16"
},
{
"name": "茉洁草11-枫丹廷左-枫丹5个.json",
"name": "11-茉洁草-枫丹-枫丹廷左-5个.json",
"type": "file",
"hash": "0a77f8fba2879d4ce8a252d0073b69e8f70f216b",
"hash": "611e80bd76a12e5d4c1094c87af46a8f7b09b9e8",
"version": "1.0",
"author": "不瘦五十斤不改名",
"authors": [
@@ -64560,12 +64560,12 @@
"食材与炼金",
"茉洁草"
],
"lastUpdated": "2025-06-30 21:04:05"
"lastUpdated": "2025-07-02 19:02:16"
},
{
"name": "茉洁草12-枫丹廷左-枫丹4个.json",
"name": "12-茉洁草-枫丹-枫丹廷左-4个.json",
"type": "file",
"hash": "47aa40f07286c56b7a2a10c05603d6d35705874e",
"hash": "044afce514dc46355f714048ac23496b01241c02",
"version": "1.0",
"author": "不瘦五十斤不改名",
"authors": [
@@ -64580,12 +64580,12 @@
"食材与炼金",
"茉洁草"
],
"lastUpdated": "2025-06-30 21:04:05"
"lastUpdated": "2025-07-02 19:02:16"
},
{
"name": "茉洁草13-枫丹廷左上-枫丹4个.json",
"name": "13-茉洁草-枫丹-枫丹廷左上-4个.json",
"type": "file",
"hash": "97e503924c93aa015f0af19d02bf91eb94ce1faa",
"hash": "7cec2fb6c61c347152031cdc5fc01c84dbf09e28",
"version": "1.0",
"author": "曦",
"authors": [
@@ -64600,12 +64600,12 @@
"食材与炼金",
"茉洁草"
],
"lastUpdated": "2025-06-30 21:04:05"
"lastUpdated": "2025-07-02 19:02:16"
},
{
"name": "茉洁草14-枫丹廷左上-枫丹4个.json",
"name": "14-茉洁草-枫丹-枫丹廷左上-4个.json",
"type": "file",
"hash": "d56777550cd366dbb4f1d1056f364e17c2e5cf7d",
"hash": "3e7ce15373341755ec476e30431d11eadcb5d1ba",
"version": "1.0",
"author": "曦",
"authors": [
@@ -64620,12 +64620,12 @@
"食材与炼金",
"茉洁草"
],
"lastUpdated": "2025-06-30 21:04:05"
"lastUpdated": "2025-07-02 19:02:16"
},
{
"name": "茉洁草15-枫丹廷左上-枫丹6个.json",
"name": "15-茉洁草-枫丹-枫丹廷左上-6个.json",
"type": "file",
"hash": "71ae364b8d55b9d8fcfe05c0eccd52fcbaca3f9f",
"hash": "2ed66efabd6ee5175f2414f6fa6e74b07bcf51db",
"version": "1.0",
"author": "曦",
"authors": [
@@ -64640,12 +64640,12 @@
"食材与炼金",
"茉洁草"
],
"lastUpdated": "2025-06-30 21:04:05"
"lastUpdated": "2025-07-02 19:02:16"
},
{
"name": "茉洁草16-枫丹廷左上-枫丹8个.json",
"name": "16-茉洁草-枫丹-枫丹廷左上-8个.json",
"type": "file",
"hash": "4242dc1f5f95876be815961936821937e7ae28d1",
"hash": "2280111f1f1dd70d27a74da314d79ab92dc25fa1",
"version": "1.0",
"author": "曦",
"authors": [
@@ -64660,12 +64660,12 @@
"食材与炼金",
"茉洁草"
],
"lastUpdated": "2025-06-30 21:04:05"
"lastUpdated": "2025-07-02 19:02:16"
},
{
"name": "茉洁草17-枫丹廷左上-枫丹4个.json",
"name": "17-茉洁草-枫丹-枫丹廷左上-4个.json",
"type": "file",
"hash": "25685ac335a6cf87ab9fe6efc725186ad6a62f88",
"hash": "1b5bb5510fdbc5ac83d70bff0f9f5e926a695b55",
"version": "1.0",
"author": "曦",
"authors": [
@@ -64680,12 +64680,12 @@
"食材与炼金",
"茉洁草"
],
"lastUpdated": "2025-06-30 21:04:05"
"lastUpdated": "2025-07-02 19:02:16"
},
{
"name": "茉洁草18-枫丹廷上-枫丹5个.json",
"name": "18-茉洁草-枫丹-枫丹廷上-5个.json",
"type": "file",
"hash": "191a0f379dc8928d0686bfd6c3729f19c8b6835d",
"hash": "5c87b2f5321dfaca5545db1cd3bdf3fc1b28e202",
"version": "1.0",
"author": "不瘦五十斤不改名",
"authors": [
@@ -64700,12 +64700,12 @@
"食材与炼金",
"茉洁草"
],
"lastUpdated": "2025-06-30 21:04:05"
"lastUpdated": "2025-07-02 19:02:16"
},
{
"name": "茉洁草19-枫丹科学院-枫丹4个.json",
"name": "19-茉洁草-枫丹-枫丹科学院-4个.json",
"type": "file",
"hash": "9bd9ac37bf0af611efc79e6bb99cc6b655d2b3f0",
"hash": "cbdf1cd8dfcbfe327b7a3aa424d44fb73aecf7dd",
"version": "1.0",
"author": "不瘦五十斤不改名",
"authors": [
@@ -64720,12 +64720,12 @@
"食材与炼金",
"茉洁草"
],
"lastUpdated": "2025-06-30 21:04:05"
"lastUpdated": "2025-07-02 19:02:16"
},
{
"name": "茉洁草20-枫丹科学院-枫丹5个.json",
"name": "20-茉洁草-枫丹-枫丹科学院-5个.json",
"type": "file",
"hash": "77f8212d92ff73ef8124b148cda6420a9d3f050c",
"hash": "2b78126ab2e65585bf98166fb02eb9aa734d3f5b",
"version": "1.0",
"author": "不瘦五十斤不改名",
"authors": [
@@ -64740,12 +64740,12 @@
"食材与炼金",
"茉洁草"
],
"lastUpdated": "2025-06-30 21:04:05"
"lastUpdated": "2025-07-02 19:02:16"
},
{
"name": "茉洁草21-枫丹科学院-枫丹5个.json",
"name": "21-茉洁草-枫丹-枫丹科学院-5个.json",
"type": "file",
"hash": "d6a140ce1ee5ed437852b959424cd7c3ce3b39a4",
"hash": "a5038b9f61f93ee034be4e0ce3e3cfbae859bdfa",
"version": "1.0",
"author": "不瘦五十斤不改名",
"authors": [
@@ -64760,12 +64760,12 @@
"食材与炼金",
"茉洁草"
],
"lastUpdated": "2025-06-30 21:04:05"
"lastUpdated": "2025-07-02 19:02:16"
},
{
"name": "茉洁草22-中央实验室遗址-枫丹7个.json",
"name": "22-茉洁草-枫丹-中央实验室遗址-7个.json",
"type": "file",
"hash": "7b9092f139494fbd19d048202680233c50496917",
"hash": "60b7dd93f9bd4dc1102ff8d117c602ecbe97eae6",
"version": "1.0",
"author": "不瘦五十斤不改名",
"authors": [
@@ -64780,12 +64780,12 @@
"食材与炼金",
"茉洁草"
],
"lastUpdated": "2025-06-30 21:04:05"
"lastUpdated": "2025-07-02 19:02:16"
},
{
"name": "茉洁草23-中央实验室遗址西-枫丹3个.json",
"name": "23-茉洁草-枫丹-中央实验室遗址西-3个.json",
"type": "file",
"hash": "c07026d4e0fa1cac3099e6965b0fa089f3a3df14",
"hash": "cb4c057fb1233297b25009e80e75793b93c5917b",
"version": "1.0",
"author": "不瘦五十斤不改名",
"authors": [
@@ -64800,12 +64800,12 @@
"食材与炼金",
"茉洁草"
],
"lastUpdated": "2025-06-30 21:04:05"
"lastUpdated": "2025-07-02 19:02:16"
},
{
"name": "茉洁草24-中央实验室遗址西-枫丹6个.json",
"name": "24-茉洁草-枫丹-中央实验室遗址西-6个.json",
"type": "file",
"hash": "f10461bd1f374f8146347a5d781bb5286a08d1ce",
"hash": "d47f37796764337862be0a08c49794abc8f81835",
"version": "1.0",
"author": "不瘦五十斤不改名",
"authors": [
@@ -64820,12 +64820,12 @@
"食材与炼金",
"茉洁草"
],
"lastUpdated": "2025-06-30 21:04:05"
"lastUpdated": "2025-07-02 19:02:16"
},
{
"name": "茉洁草25-中央实验室遗址西-枫丹4个.json",
"name": "25-茉洁草-枫丹-中央实验室遗址西-4个.json",
"type": "file",
"hash": "7f468a47443d47f4fcce0f9b99ba52f963d1706d",
"hash": "65116ed03253ba6aeffdedc75c78f78f71c8c17e",
"version": "1.0",
"author": "不瘦五十斤不改名",
"authors": [
@@ -64840,12 +64840,12 @@
"食材与炼金",
"茉洁草"
],
"lastUpdated": "2025-06-30 21:04:05"
"lastUpdated": "2025-07-02 19:02:16"
},
{
"name": "茉洁草26-优兰尼娅湖-枫丹3个.json",
"name": "26-茉洁草-枫丹-优兰尼娅湖-3个.json",
"type": "file",
"hash": "6454b105c39290de730ca427b094fc955f9acea4",
"hash": "bb2777f28aa72d3ff94e160b5d65f9d8b6e62f02",
"version": "1.0",
"author": "不瘦五十斤不改名",
"authors": [
@@ -64860,12 +64860,12 @@
"食材与炼金",
"茉洁草"
],
"lastUpdated": "2025-06-30 21:04:05"
"lastUpdated": "2025-07-02 19:02:16"
},
{
"name": "茉洁草27-茉洁-枫丹6个.json",
"name": "27-茉洁-枫丹-茉洁站-6个.json",
"type": "file",
"hash": "d0fa98310f94789afa1fa1a741084b34409d7947",
"hash": "af4a4406d0e37dbcdadf9702b2e5236e6e5d609b",
"version": "1.0",
"author": "不瘦五十斤不改名",
"authors": [
@@ -64880,12 +64880,12 @@
"食材与炼金",
"茉洁草"
],
"lastUpdated": "2025-06-30 21:04:05"
"lastUpdated": "2025-07-02 19:02:16"
},
{
"name": "茉洁草28-湖中垂柳-枫丹12个.json",
"name": "28-茉洁草-枫丹-湖中垂柳-12个.json",
"type": "file",
"hash": "f569b78f767f56ab3b8ddc926362d05d58f77ea6",
"hash": "d50f5959d9967e4424aa82fd78efa5872eff1130",
"version": "1.0",
"author": "不瘦五十斤不改名",
"authors": [
@@ -64900,12 +64900,12 @@
"食材与炼金",
"茉洁草"
],
"lastUpdated": "2025-06-30 21:04:05"
"lastUpdated": "2025-07-02 19:02:16"
},
{
"name": "茉洁草29-湖中垂柳-枫丹3个.json",
"name": "29-茉洁草-枫丹-湖中垂柳-3个.json",
"type": "file",
"hash": "b83ced24892bfcbfb7f2a62849d6947a541eba1f",
"hash": "25002bee9b456dc248135fd245a8a441c2e87e8e",
"version": "1.0",
"author": "不瘦五十斤不改名",
"authors": [
@@ -64920,12 +64920,12 @@
"食材与炼金",
"茉洁草"
],
"lastUpdated": "2025-06-30 21:04:05"
"lastUpdated": "2025-07-02 19:02:16"
},
{
"name": "茉洁草30-湖中垂柳-枫丹3个.json",
"name": "30-茉洁草-枫丹-湖中垂柳-3个.json",
"type": "file",
"hash": "be925dfe054a60cfbd08362251b2ef85f5fa1a85",
"hash": "cea7c334934e4c9410699c8d5f7487ab82750b6f",
"version": "1.0",
"author": "不瘦五十斤不改名",
"authors": [
@@ -64940,12 +64940,12 @@
"食材与炼金",
"茉洁草"
],
"lastUpdated": "2025-06-30 21:04:05"
"lastUpdated": "2025-07-02 19:02:16"
},
{
"name": "茉洁草31-湖中垂柳-枫丹4个.json",
"name": "31-茉洁草-枫丹-湖中垂柳-4个.json",
"type": "file",
"hash": "abb057adea06481f9e56c6320bbce824ed99a420",
"hash": "2a782bdb4adbfcb5cb040444487735494524700d",
"version": "1.0",
"author": "不瘦五十斤不改名",
"authors": [
@@ -64960,12 +64960,12 @@
"食材与炼金",
"茉洁草"
],
"lastUpdated": "2025-06-30 21:04:05"
"lastUpdated": "2025-07-02 19:02:16"
},
{
"name": "茉洁草32-幽林雾道-枫丹9个.json",
"name": "32-茉洁草-枫丹-幽林雾道-9个.json",
"type": "file",
"hash": "f3d24bf270da7d23bc1517fdf69677ee37b58c63",
"hash": "07f88ecc43971c6bfd9807befc5a3dfb19d5c62c",
"version": "1.0",
"author": "不瘦五十斤不改名",
"authors": [
@@ -64980,12 +64980,12 @@
"食材与炼金",
"茉洁草"
],
"lastUpdated": "2025-06-30 21:04:05"
"lastUpdated": "2025-07-02 19:02:16"
},
{
"name": "茉洁草33-幽林雾道-枫丹16个.json",
"name": "33-茉洁草-枫丹-幽林雾道-16个.json",
"type": "file",
"hash": "bc9a96f5a53b420c7eae17350a276ed0cb593ca4",
"hash": "600cdc3eee473ec99553a61eac8864c24d3c3e7a",
"version": "1.0",
"author": "不瘦五十斤不改名",
"authors": [
@@ -65000,12 +65000,12 @@
"食材与炼金",
"茉洁草"
],
"lastUpdated": "2025-06-30 21:04:05"
"lastUpdated": "2025-07-02 19:02:16"
},
{
"name": "茉洁草34-幽林雾道-枫丹3个.json",
"name": "34-茉洁草-枫丹-幽林雾道-3个.json",
"type": "file",
"hash": "7800be4a19d31a14b49d352d6616196d76877a74",
"hash": "2f9fef2a1657cad21a30452470e127b189d00f1e",
"version": "1.0",
"author": "不瘦五十斤不改名",
"authors": [
@@ -65020,12 +65020,12 @@
"食材与炼金",
"茉洁草"
],
"lastUpdated": "2025-06-30 21:04:05"
"lastUpdated": "2025-07-02 19:02:16"
},
{
"name": "茉洁草35-欧庇克莱歌剧院-枫丹2个.json",
"name": "35-茉洁草-枫丹-欧庇克莱歌剧院-2个.json",
"type": "file",
"hash": "0708d9331a0bfb63a01d7dcdcdbc8cdb290d374a",
"hash": "d8d680b53c85b33459f9f3a98fa8c013e5eaf155",
"version": "1.0",
"author": "不瘦五十斤不改名",
"authors": [
@@ -65040,12 +65040,12 @@
"食材与炼金",
"茉洁草"
],
"lastUpdated": "2025-06-30 21:04:05"
"lastUpdated": "2025-07-02 19:02:16"
},
{
"name": "茉洁草36-欧庇克莱歌剧院-枫丹15个.json",
"name": "36-茉洁草-枫丹-欧庇克莱歌剧院-15个.json",
"type": "file",
"hash": "229b9bb131218b6b1ff6d302785dd0b6bbc028ae",
"hash": "5b3c4ab8549a6ff8257cbd5c5a2a9ffc2d71d9dd",
"version": "1.0",
"author": "不瘦五十斤不改名",
"authors": [
@@ -65060,12 +65060,12 @@
"食材与炼金",
"茉洁草"
],
"lastUpdated": "2025-06-30 21:04:05"
"lastUpdated": "2025-07-02 19:02:16"
},
{
"name": "茉洁草37-莫尔泰区-枫丹7个.json",
"name": "37-茉洁草-枫丹-莫尔泰区-7个.json",
"type": "file",
"hash": "4abe69ae9af3a8986a4ea49e6a17b7b1d95c37b7",
"hash": "86bde1be0e4b49ff884d97ccd47d3ee5c4e19f10",
"version": "1.0",
"author": "不瘦五十斤不改名",
"authors": [
@@ -65080,12 +65080,12 @@
"食材与炼金",
"茉洁草"
],
"lastUpdated": "2025-06-30 21:04:05"
"lastUpdated": "2025-07-02 19:02:16"
},
{
"name": "茉洁草38-卡布狄斯堡遗迹-枫丹11个.json",
"name": "38-茉洁草-枫丹-卡布狄斯堡遗迹-11个.json",
"type": "file",
"hash": "09a53f747874e35eed6f4a97c9a0c347d7440c81",
"hash": "0cbc84fd532f8c03471330de36c6d5ac06dc539d",
"version": "1.0",
"author": "不瘦五十斤不改名",
"authors": [
@@ -65100,12 +65100,12 @@
"食材与炼金",
"茉洁草"
],
"lastUpdated": "2025-06-30 21:04:05"
"lastUpdated": "2025-07-02 19:02:16"
},
{
"name": "茉洁草39-秋分山西侧-枫丹2个.json",
"name": "39-茉洁草-枫丹-秋分山西侧-2个.json",
"type": "file",
"hash": "6e5ba149e9a13abc0535fe840469ffc6fcf62ca4",
"hash": "fe73e9cd61cdfee8bb6fdec3dbd1e73bfb39c68a",
"version": "1.0",
"author": "不瘦五十斤不改名",
"authors": [
@@ -65120,12 +65120,12 @@
"食材与炼金",
"茉洁草"
],
"lastUpdated": "2025-06-30 21:04:05"
"lastUpdated": "2025-07-02 19:02:16"
},
{
"name": "茉洁草40-秋分山西侧-枫丹4个.json",
"name": "40-茉洁草-枫丹-秋分山西侧-4个.json",
"type": "file",
"hash": "2a5e60b938512d2463b4b888f27d5900e8509a12",
"hash": "5c520bd7329c503955e8c847ae51b68c266a20a0",
"version": "1.0",
"author": "不瘦五十斤不改名",
"authors": [
@@ -65140,7 +65140,7 @@
"食材与炼金",
"茉洁草"
],
"lastUpdated": "2025-06-30 21:04:05"
"lastUpdated": "2025-07-02 19:02:16"
}
]
},
@@ -76168,8 +76168,8 @@
{
"name": "AutoFontaineLeyLine",
"type": "directory",
"hash": "d5f99e93f8df0278022630e09d383c710657a1f9",
"version": "3.0",
"hash": "49536fda9cc3b3037a04378193b6e747ac64a975",
"version": "3.1",
"author": "LCB-茶包",
"authors": [
{
@@ -76193,7 +76193,7 @@
"bgi≥0.44.8",
"地脉花"
],
"lastUpdated": "2025-07-01 07:44:55"
"lastUpdated": "2025-07-02 19:17:01"
},
{
"name": "AutoFriendshipEvilBaresItsFangsGetRawMeat",
@@ -76374,8 +76374,8 @@
{
"name": "AutoStygianOnslaught",
"type": "directory",
"hash": "00272ac79b6bf9c19b06d8c6bc610b785c9c5631",
"version": "1.5",
"hash": "09e428fed37fbea0882dfc6a926057e900e172ef",
"version": "1.6",
"author": "LCB-茶包",
"authors": [
{
@@ -76387,7 +76387,7 @@
"bgi≥0.44.8",
"幽境危战"
],
"lastUpdated": "2025-07-01 00:17:12"
"lastUpdated": "2025-07-02 19:12:00"
},
{
"name": "AutoSwitchRoles",

View File

@@ -103,4 +103,11 @@
1. 优化战斗失败自动重试2次。
2. 优化当有须臾树脂,脆弱树脂不显示的处理。
3. 优化在地脉已经打过时,直接领取奖励。
3. 优化在地脉已经打过时,直接领取奖励。
### v.3.1版本20250702
- **优化**
1. 优化树脂识别OCR区域。
2. log显示优化。
3. 修复图像识别构造函数错误。

View File

@@ -27,7 +27,6 @@
await sleep(1200);
}
async function Textocr(wenzi="空参数",chaotime=10,clickocr=0,debugcode=0,x=0,y=0,w=1920,h=1080) {
const startTime = new Date();
for (let ii = 0; ii < 10; ii++)
@@ -55,7 +54,7 @@
}
}
const NowTime = new Date();
if (Math.abs(NowTime - startTime)>chaotime*1000){if (x===0 & y===0){log.info(`${chaotime}秒超时退出,·${wenzi}·未找到`);}return result = {found: false };}else{ii=8;if(x !== 840 || x !== 1188){keyPress("w")}log.info(`·${wenzi}·识别中……`);}
if (Math.abs(NowTime - startTime)>chaotime*1000){if (x===0 & y===0){log.info(`${chaotime}秒超时退出,·${wenzi}·未找到`);}return result = {found: false };}else{ii=8;log.info(`·${wenzi}·识别中……`); if(x !== 840 && x !== 1188){keyPress("w")}; }
await sleep(100);
}
}
@@ -422,19 +421,20 @@
//寻找地脉溢口,文字识别不到转圈寻找,不管有没找到都执行战斗,最后领取奖励判断是否继续执行
async function VeinEntrance() {
for (let i = 0;i < 2;i++) {
let JIECHU = await Textocr("接触地脉溢口",1.5,2,0,1188,358,200,400);
let JIECHU = await Textocr("接触地脉溢口",1,2,0,1187,358,200,400);
if (JIECHU.found)
{
await keyPress("F");await dispatcher.addTimer(new RealtimeTimer("AutoPick", { "forceInteraction": true }));await keyPress("F");return true;
}
else{
if(i == 1){
let SHUN01 = await Textocr("接触地脉之花",1,0,0,1188,358,200,400);
let SHUN01 = await Textocr("接触地脉之花",0.5,0,0,1188,358,200,400);
let SHUN02 = await Textocr("地脉之花", 0.5, 0, 0, 840,225, 230, 125);
if (SHUN01.found || SHUN02.found) {
await keyPress("VK_ESCAPE");
await sleep(1000);
await genshin.returnMainUi();
await sleep(1000);
log.info("找到地脉之花,开始领取奖励...");
return false;
}
@@ -452,6 +452,7 @@
await keyPress("VK_ESCAPE");
await sleep(1000);
await genshin.returnMainUi();
await sleep(1000);
return true;
}
}
@@ -461,11 +462,11 @@
//定义领取动作,好感队伍是否添加?
async function claimRewards() {
log.info(`尝试领取奖励,优先${onerewards}'`);
let SHUN01 = await Textocr("接触地脉之花",1.5,2,0,1188,358,200,400);
let SHUN01 = await Textocr("接触地脉之花",1.5,2,0,1187,358,200,400);
if (SHUN01.found) {
log.info("找到地脉之花,开始领取奖励...");
}else{
let SHUN02 = await Textocr("接触地脉之花",1,2,0,1188,358,200,400);
let SHUN02 = await Textocr("接触地脉之花",1,2,0,1187,358,200,400);
if (!SHUN02.found) {log.info("未找到地脉之花,尝试强制转圈寻找...")
dispatcher.addTimer(new RealtimeTimer("AutoPick", { "forceInteraction": true }));
await keyDown("W");await sleep(500);await keyUp("W");
@@ -486,11 +487,11 @@
for (let j = 0;j < 2;j++) {
for (let i = 0;i < rewards.length;i++) {
let SHU = await Textocr(resinTypeMap[rewards[i]],0.5,0,0,510,380,640,600);
let SHU = await Textocr(resinTypeMap[rewards[i]],0.3,0,0,510,380,640,600);
if (SHU.found){
if (resinTypeMap[rewards[i]] == "使用20个原粹树脂")
{
let BUC = await Textocr("补充",0.5,0,0,1150,440,210,130);
let BUC = await Textocr("补充",0.2,0,0,1150,440,210,130);
if (BUC.found) {continue;}
}
@@ -516,8 +517,7 @@
}
await click(SHU.x+550,SHU.y)
log.info(` ${resinTypeMap[rewards[i]]} 获取奖励...`);
dispatcher.addTimer(new RealtimeTimer("AutoPick", { forceInteraction: true }));
log.info(`${resinTypeMap[rewards[i]]} ...`);
if (shouldExit)
{
@@ -547,10 +547,10 @@
var momentResinCount = 0; //须臾树脂
// 浓缩树脂
var condensedResinCountRa = await imageRecognition(condensedResin,0, 0, 0,1190,0,400,80);
var condensedResinCountRa = await imageRecognition(condensedResin,0.1, 0, 0,1190,0,400,80);
if (condensedResinCountRa.found) {
// await moveMouseTo(condensedResinCountRa.x,condensedResinCountRa.y);
let countArea = await Textocr("",1, 0, 2,condensedResinCountRa.x+condensedResinCountRa.w,condensedResinCountRa.y,condensedResinCountRa.w*2-5,condensedResinCountRa.h-5);//
let countArea = await Textocr("",0.5, 0, 2,condensedResinCountRa.x+condensedResinCountRa.w,condensedResinCountRa.y,condensedResinCountRa.w*2-5,condensedResinCountRa.h-5);//
if (countArea.found){
// log.info("浓缩树脂识别数量结果: "+ countArea.text);
condensedResinCount = countArea.text
@@ -564,10 +564,10 @@
log.info("未检测到浓缩树脂图标");
}
var originalResinCountRa = await imageRecognition(originalResin,0, 0, 0,1555,0,75,80);
var originalResinCountRa = await imageRecognition(originalResin,0.1, 0, 0,1555,0,75,80);
if (originalResinCountRa.found) {
// await moveMouseTo(originalResinCountRa.x,originalResinCountRa.y);
let countArea = await Textocr("",1, 0, 2,originalResinCountRa.x+originalResinCountRa.w,originalResinCountRa.y,originalResinCountRa.w*3,originalResinCountRa.h);//
let countArea = await Textocr("",0.5, 0, 2,originalResinCountRa.x+originalResinCountRa.w,originalResinCountRa.y,originalResinCountRa.w*3,originalResinCountRa.h);//
if (countArea.found){
log.info("原粹树脂识别数量结果:"+ countArea.text);
let match = countArea.text.match(/(\d+)\s*[/1]\s*(2|20|200)/);
@@ -591,14 +591,14 @@
var momentResinCountRa = await imageRecognition(momentResin,0.1, 0, 1,1170,0,350,100);
if (momentResinCountRa.found) {
// await moveMouseTo(momentResinCountRa.x,momentResinCountRa.y);
let countArea = await Textocr("",0.5, 0, 2,momentResinCountRa.x+momentResinCountRa.w+15,momentResinCountRa.y-15,momentResinCountRa.w+50,momentResinCountRa.h+25);//
// await moveMouseTo(momentResinCountRa.x+momentResinCountRa.w+15+momentResinCountRa.w+50,momentResinCountRa.y-15+momentResinCountRa.h+25);
let countArea = await Textocr("",0.5, 0, 2,momentResinCountRa.x+momentResinCountRa.w+20,momentResinCountRa.y-15,60,40);//
if (countArea.found){
//log.info("须臾树脂识别数量结果:"+ countArea.text);
momentResinCount = countArea.text
}
else{
var oneRa = await imageRecognition(oneResin,0.1, 0, 1,momentResinCountRa.x+momentResinCountRa.w+15,momentResinCountRa.y-15,momentResinCountRa.w+50,momentResinCountRa.h+25);
var oneRa = await imageRecognition(oneResin,0.1, 0, 1,momentResinCountRa.x+momentResinCountRa.w+20,momentResinCountRa.y-15,60,40);
if (oneRa.found){
momentResinCount = "1";
}else{
@@ -612,14 +612,14 @@
{
var fragileResinCountRa = await imageRecognition(fragileResin,0.1, 0, 1,1170,0,350,100);
if (fragileResinCountRa.found) {
// await moveMouseTo(fragileResinCountRa.x,fragileResinCountRa.y);
let countArea = await Textocr("",0.5, 0, 2,fragileResinCountRa.x+fragileResinCountRa.w+15,fragileResinCountRa.y-15,fragileResinCountRa.w+50,fragileResinCountRa.h+25);//
// await moveMouseTo(fragileResinCountRa.x+fragileResinCountRa.w+20,fragileResinCountRa.y-15);
let countArea = await Textocr("",0.5, 0, 2,fragileResinCountRa.x+fragileResinCountRa.w+20,fragileResinCountRa.y-15,60,40);//
if (countArea.found){
// log.info("脆弱树脂识别数量结果:"+ countArea.text);
fragileResinCount = countArea.text
}
else{
var oneRa = await imageRecognition(oneResin,0.1, 0, 1,fragileResinCountRa.x+fragileResinCountRa.w+15,fragileResinCountRa.y-15,fragileResinCountRa.w+50,fragileResinCountRa.h+25);
var oneRa = await imageRecognition(oneResin,0.1, 0, 1,fragileResinCountRa.x+fragileResinCountRa.w+20,fragileResinCountRa.y-15,60,40);
if (oneRa.found){
fragileResinCount = "1";
}else{
@@ -633,8 +633,8 @@
}
}
log.info("树脂状态:浓缩{0} 原粹{1} 脆弱{2} 须臾{3}", condensedResinCount, originalResinCount, fragileResinCount, momentResinCount)
return {condensedResinCount,originalResinCount,fragileResinCount,momentResinCountRa}
log.info("树脂状态:浓缩{0} 原粹{1} 脆弱{2} 须臾{3}", condensedResinCount, originalResinCount, fragileResinCount,momentResinCount)
return {condensedResinCount,originalResinCount,fragileResinCount,momentResinCount}
}
async function isOnRewardPage() {
@@ -734,7 +734,7 @@
noTextCount++;
log.info(`检测到可能离开战斗区域,当前计数: ${noTextCount}`);
if (noTextCount >= 15) {
if (noTextCount >= 12) {
log.warn("已离开战斗区域");
resolve(false);
return;
@@ -841,16 +841,17 @@
}else{await pathingScript.runFile(`${selectedFolder}${jsonFile1}`);}
}
}
}
// 寻找地脉溢口,找到地脉花就领奖,没有找到就直接战斗,再尝试领奖
if (await VeinEntrance()){
await sleep(1000);
await dispatcher.addTimer(new RealtimeTimer("AutoPick", { forceInteraction: false})); await keyPress("F");
log.warn("开始战斗...");
checkRewardPage();// 执行自动战斗并同步检测领奖页面
shouldContinueChecking = true;
checkRewardPage();// 执行自动战斗并同步检测领奖页面
if (!Fightquick){
await dispatcher.runTask(new SoloTask("AutoFight")); //固定执行两次战斗,执行自动战斗,配置器中的设置建议填你的队伍打一次大概得时间

View File

@@ -1,7 +1,7 @@
{
"manifest_version": 1,
"name": "全自动枫丹地脉花",
"version": "3.0",
"version": "3.1",
"bgi_version": "0.44.8",
"description": "枫丹地脉花蓝花金花通用。生存压力大请带盾奶避免纯水输出请注意说明文件。如有BUG请联系作者QQ:119996800",
"tags":["地脉花"],

View File

@@ -94,5 +94,12 @@
4. 优化各种`异常状态`的退出处理方法。
5. 优化当有须臾树脂时,脆弱树脂不显示时的处理。
### v.1.6版本20250702
- **优化**
1. 优化没找到地脉花领奖的超时退出处理。
2. 优化树脂识别OCR区域。
3. 优化LOG和代码写法和整理。

View File

@@ -1,18 +1,16 @@
(async function () {
let challengeNum = settings.challengeNum;//挑战次数
if (challengeNum === undefined || challengeNum === ""){challengeNum = 15; }
if (challengeNum === undefined || challengeNum === ""){challengeNum = 15; }//挑战次数
let challengeName = settings.challengeName;//挑战BOSS
if (challengeName === undefined || challengeName === ""){throw new Error("挑战Boss未配置请在JS配置中选择...")}
let Startforward = settings.Startforward*1000 ? settings.Startforward*1000 : 1000;
if (challengeName === undefined || challengeName === ""){throw new Error("挑战Boss未配置请在JS配置中选择...")}//初始化处理
let Startforward = settings.Startforward*1000 ? settings.Startforward*1000 : 1000;//开始战斗的前进时间
var Fighttimeout = settings.timeout * 1000 ? settings.timeout * 1000 : 240000;//战斗超时时间默认为240秒
const ocrRegion1 = { x: 643, y: 58, width: 800, height: 800 }; // 上方挑战成功区域
const ocrRegion2 = { x: 780, y: 406, width: 370, height: 135 }; // 中间挑战失败区域
// const ocrRegion3 = { x: 1782, y: 1023, width: 64, height: 29 }; // 右下角space区域
const ocrRo1 = RecognitionObject.ocr(ocrRegion1.x, ocrRegion1.y, ocrRegion1.width, ocrRegion1.height);
const ocrRo2 = RecognitionObject.ocr(ocrRegion2.x, ocrRegion2.y, ocrRegion2.width, ocrRegion2.height);
// const ocrRo3 = RecognitionObject.ocr(ocrRegion3.x, ocrRegion3.y, ocrRegion3.width, ocrRegion3.height);
var Rewardsuse = settings.Rewardsuse ? settings.Rewardsuse : "1/2";
const ocrRo1 = RecognitionObject.ocr(ocrRegion1.x, ocrRegion1.y, ocrRegion1.width, ocrRegion1.height);//上方挑战成功区域OCR对象
const ocrRo2 = RecognitionObject.ocr(ocrRegion2.x, ocrRegion2.y, ocrRegion2.width, ocrRegion2.height);//中间挑战失败区域OCR对象
var Rewardsuse = settings.Rewardsuse ? settings.Rewardsuse : "1/2";//树脂使用类型默认为1/2即浓缩树脂和原粹树脂
var resinTypes = Rewardsuse.split("/");
var rewards = [];
var onerewards, secendrewards, threendrewards, fourdrewards;
@@ -23,22 +21,22 @@
}
rewards.push(resinType);
}
const resinTypeMap = ["","使用1个浓缩树脂获取2倍产出", "使用20个原粹树脂", "使用1个脆弱树脂获取3倍产出", "使用1个须臾树脂获取3倍产出"];
const golbalRewards = ["","浓缩树脂","原粹树脂","脆弱树脂","须臾树脂"]; // 表示四个奖励的选项
const resinTypeMap = ["","使用1个浓缩树脂获取2倍产出", "使用20个原粹树脂", "使用1个脆弱树脂获取3倍产出", "使用1个须臾树脂获取3倍产出"];//识别树脂领奖文字
const golbalRewards = ["","浓缩树脂","原粹树脂","脆弱树脂","须臾树脂"]; // 对应四种树脂
// 根据 rewards 数组长度,依次赋值给对应的变量
if (rewards.length > 0) onerewards = golbalRewards[rewards[0]];
if (rewards.length > 1) secendrewards = golbalRewards[rewards[1]];
if (rewards.length > 2) threendrewards = golbalRewards[rewards[2]];
if (rewards.length > 3) fourdrewards = golbalRewards[rewards[3]];
const golbalRewardText = [onerewards, secendrewards, threendrewards, fourdrewards].filter(Boolean);//
const golbalRewardText = [onerewards, secendrewards, threendrewards, fourdrewards].filter(Boolean);//过滤树脂使用类型
var advanceNum = 0;//前进次数
var verticalNum = 0;
var resinAgain = false;
var advanceNum = 0;//前进寻找地脉之花次数
var verticalNum = 0;//重试寻找地脉之花次数
var resinAgain = false;//是否重试标志
var Artifacts = settings.Artifacts ? settings.Artifacts : "保持圣遗物奖励不变";
//建立一个数值映射所有圣遗物对应需要识别的图片
//映射所有圣遗物对应需要识别的图片
var artifactImageMap = {
"长夜之誓 / 深廊终曲": "assets/Artifacts/artifact_1.bmp",
"黑曜秘典 / 烬城勇者绘卷": "assets/Artifacts/artifact_2.bmp",
@@ -60,6 +58,14 @@
"如雷的盛怒 / 平息鸣雷的尊者": "assets/Artifacts/artifact_18.bmp"
};
//树脂识别图片
var condensedResin = "assets/condensed_resin_count.png";
var originalResin = "assets/original_resin_count.png";
var fragileResin = "assets/fragile_resin_count.png";
var momentResin = "assets/moment_resin_count.png";
var oneResin = "assets/one.png";
//文字识别封装函数
async function Textocr(wenzi="空参数",chaotime=10,clickocr=0,debugcode=0,x=0,y=0,w=1920,h=1080) {
const startTime = new Date();
for (let ii = 0; ii < 10; ii++)
@@ -92,6 +98,7 @@
}
}
// 图片识别封装函数
async function imageRecognition(imagefilePath="空参数",timeout=10,afterBehavior=0,debugmodel=0,xa=0,ya=0,wa=1920,ha=1080) {
const startTime = new Date();
const Imagidentify = RecognitionObject.TemplateMatch(file.ReadImageMatSync(imagefilePath));
@@ -114,12 +121,7 @@
await sleep(1200);
}
var condensedResin = "assets/condensed_resin_count.png";
var originalResin = "assets/original_resin_count.png";
var fragileResin = "assets/fragile_resin_count.png";
var momentResin = "assets/moment_resin_count.png";
var oneResin = "assets/one.png";
//树脂数量获取函数
async function getRemainResinStatus() {
var condensedResinCount = 0; // 浓缩树脂
var originalResinCount = 0; // 原粹树脂
@@ -170,13 +172,13 @@
var momentResinCountRa = await imageRecognition(momentResin,0.1, 0, 1,1170,0,350,100);
if (momentResinCountRa.found) {
// await moveMouseTo(momentResinCountRa.x+momentResinCountRa.w+15+momentResinCountRa.w+50,momentResinCountRa.y-15+momentResinCountRa.h+25);
let countArea = await Textocr("",0.5, 0, 2,momentResinCountRa.x+momentResinCountRa.w+15,momentResinCountRa.y-15,momentResinCountRa.w+50,momentResinCountRa.h+25);//
let countArea = await Textocr("",0.5, 0, 2,momentResinCountRa.x+momentResinCountRa.w+20,momentResinCountRa.y-15,60,40);//
if (countArea.found){
//log.info("须臾树脂识别数量结果:"+ countArea.text);
momentResinCount = countArea.text
}
else{
var oneRa = await imageRecognition(oneResin,0.1, 0, 1,momentResinCountRa.x+momentResinCountRa.w+15,momentResinCountRa.y-15,momentResinCountRa.w+50,momentResinCountRa.h+25);
var oneRa = await imageRecognition(oneResin,0.1, 0, 1,momentResinCountRa.x+momentResinCountRa.w+20,momentResinCountRa.y-15,60,40);
if (oneRa.found){
momentResinCount = "1";
}else{
@@ -190,14 +192,14 @@
{
var fragileResinCountRa = await imageRecognition(fragileResin,0.1, 0, 1,1170,0,350,100);
if (fragileResinCountRa.found) {
// await moveMouseTo(fragileResinCountRa.x,fragileResinCountRa.y);
let countArea = await Textocr("",0.5, 0, 2,fragileResinCountRa.x+fragileResinCountRa.w+15,fragileResinCountRa.y-15,fragileResinCountRa.w+50,fragileResinCountRa.h+25);//
// await moveMouseTo(fragileResinCountRa.x+fragileResinCountRa.w+20,fragileResinCountRa.y-15);
let countArea = await Textocr("",0.5, 0, 2,fragileResinCountRa.x+fragileResinCountRa.w+20,fragileResinCountRa.y-15,60,40);//
if (countArea.found){
// log.info("脆弱树脂识别数量结果:"+ countArea.text);
fragileResinCount = countArea.text
}
else{
var oneRa = await imageRecognition(oneResin,0.1, 0, 1,fragileResinCountRa.x+fragileResinCountRa.w+15,fragileResinCountRa.y-15,fragileResinCountRa.w+50,fragileResinCountRa.h+25);
var oneRa = await imageRecognition(oneResin,0.1, 0, 1,fragileResinCountRa.x+fragileResinCountRa.w+20,fragileResinCountRa.y-15,60,40);
if (oneRa.found){
fragileResinCount = "1";
}else{
@@ -215,53 +217,58 @@
return {condensedResinCount,originalResinCount,fragileResinCount,momentResinCount}
}
//征讨之花领奖
//征讨之花领奖寻找函数
const autoNavigateToReward = async () => {
// 定义识别对象
const boxIconRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("assets/box.png"));
advanceNum = 0;//前进次数
//调整为俯视视野
middleButtonClick();
await sleep(800);
moveMouseBy(0, 1030);
await sleep(400);
moveMouseBy(0, 920);
await sleep(400);
moveMouseBy(0, 710);
log.info("开始领奖");
// 定义识别对象
const boxIconRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("assets/box.png"));
advanceNum = 0;//前进次数
//调整为俯视视野
middleButtonClick();
await sleep(800);
moveMouseBy(0, 1030);
await sleep(400);
moveMouseBy(0, 920);
await sleep(400);
moveMouseBy(0, 710);
log.info("开始领奖");
while (true) {
// 1. 优先检查是否已到达领奖点
let captureRegion = captureGameRegion();
let rewardTextArea = captureRegion.DeriveCrop(1210, 515, 200, 50);
let rewardResult = rewardTextArea.find(RecognitionObject.ocrThis);
// 检测到特点文字则结束!!!
if (rewardResult.text == "激活地脉之花") {
log.info("已到达领奖点,检测到文字: " + rewardResult.text);
return true;
}
else if(advanceNum > 80){
while (true) {
// 1. 优先检查是否已到达领奖点
let captureRegion = captureGameRegion();
let rewardTextArea = captureRegion.DeriveCrop(1210, 515, 200, 50);
let rewardResult = rewardTextArea.find(RecognitionObject.ocrThis);
// 检测到特点文字则结束!!!
if (rewardResult.text == "激活地脉之花") {
log.info("已到达领奖点,检测到文字: " + rewardResult.text);
return true;
}
else if(advanceNum > 40){
await getOut();
await await genshin.returnMainUi();
throw new Error('前进时间超时');
}
// 2. 未到达领奖点,则调整视野
for(let i = 0; i < 100; i++){
}
// 2. 未到达领奖点,则调整视野
for(let i = 0; i < 100; i++){
captureRegion = captureGameRegion();
let iconRes = captureRegion.Find(boxIconRo);
let climbTextArea = captureRegion.DeriveCrop(1808, 1030, 25, 25);
let climbResult = climbTextArea.find(RecognitionObject.ocrThis);
// 检查是否处于攀爬状态
if (climbResult.isEmpty()){
log.info("检侧到页面错误,尝试脱离");
let SHU = Textocr("地脉之花", 0.3, 1, 0, 840,225, 230, 125);
if (SHU.found){return true;}
await keyDown("w");
await keyPress("VK_ESCAPE");
await sleep(500);
await keyDown("w");
await sleep(5000);
await keyUp("w");
if (climbResult.isEmpty()){
let SHU = Textocr("地脉之花", 0.3, 1, 0, 840,225, 230, 125);
if (SHU.found){
return true;
}
log.info("检侧到页面错误,尝试脱离");
await keyDown("w");
await keyPress("VK_ESCAPE");
await sleep(500);
await keyDown("w");
await sleep(5000);
await keyUp("w");
}
if (iconRes.x >= 920 && iconRes.x <= 980 && iconRes.y <= 540) {
advanceNum++;
log.info(`视野已调正,前进第${advanceNum}`);
@@ -276,14 +283,16 @@
moveMouseBy(adjustAmount * adjustAmount2, 0);
await sleep(100);
}
if(i > 97) {
if (verticalNum >= 2) {
verticalNum = 0;
await getOut();
await await genshin.returnMainUi();
throw new Error('领取超时');
}
log.info("领取超时重新尝试1次");
await genshin.returnMainUi(); await sleep(1000);//退出待写
await sleep(1000);
return false;
}
}
@@ -299,6 +308,7 @@
}
}
//向前寻找钥匙函数
async function readyFightIn(){
var startTime = new Date();
await sleep(500);
@@ -320,7 +330,7 @@
return false
}
//异步检测战斗来自D捣蛋&秋云佬的全自动地脉花的代码
//异步检测战斗执行函数来自D捣蛋&秋云佬的全自动地脉花的代码
async function autoFight(timeout) {
const cts = new CancellationTokenSource();
log.info("开始战斗");
@@ -332,6 +342,7 @@
return fightResult;
}
//异步检测战斗结果函数
async function recognizeTextInRegion(timeout) {
return new Promise((resolve, reject) => {
(async () => {
@@ -383,7 +394,7 @@
});
}
// 领取奖励更换
//圣遗物奖励更换函数
async function selectionHolyRelics() {
let artifactImagePath = artifactImageMap[Artifacts];
@@ -445,8 +456,9 @@
return true;
}
// 领取奖励函数
async function claimRewards() {
log.info(`尝试领取奖励,优先${onerewards}'`);
// log.info(`尝试领取奖励,优先${onerewards}'`);
let SHUN01 = await Textocr("激活地脉之花",0.6,2,0,1188,358,200,400);
let SHUN02 = await Textocr("地脉之花", 0.2, 1, 0, 840,225, 230, 125);
if (SHUN01.found || SHUN02.found) {
@@ -456,7 +468,8 @@
{
log.warn("未找到地脉之花,尝试向前寻找...")
await keyDown("W");await sleep(300);await keyUp("W");
await keyPress("F");
await keyPress("F");
await sleep(1000);
}
await sleep(300);
@@ -476,7 +489,7 @@
await sleep(100);
await click(SHU.x+550,SHU.y)
await sleep(300);
log.info(` ${resinTypeMap[rewards[i]]} 获取奖励...`);
log.info(`${resinTypeMap[rewards[i]]} 获取奖励...`);
await Textocr("锁定辅助",10,0,0,1768,0,115,90);
let { condensedResinCount, originalResinCount, fragileResinCount , momentResinCount} = await getRemainResinStatus();
@@ -501,7 +514,6 @@
if (shouldExit)
{
log.warn("树脂耗尽,停止执行...");
await sleep(1000);
await keyPress("VK_ESCAPE");
await sleep(1000);
@@ -520,6 +532,7 @@
return false;
}
// 进入秘境入口函数
async function VeinEntrance() {
for (let i = 0;i < 2;i++) {
let JIECHU = await Textocr("F",2,2,0,1098,519,35,32);
@@ -544,6 +557,7 @@
}
}
//秘境内退出函数
async function getOut() {
for (let i = 0;i < 2;i++){
@@ -564,7 +578,7 @@
}
log.warn("自动幽境危战版本v1.5");
log.warn("自动幽境危战版本v1.6");
log.warn("请保证队伍战斗实力,战斗失败或执行错误,会重试两次...");
log.warn("使用前请在 <<幽境危战>> 中配置好战斗队伍...");
log.info("使用树脂类型数量:{0} ", rewards.length)
@@ -577,18 +591,22 @@
resinAgain = false; //重试标志
try{
//1.导航进入页面
await genshin.returnMainUi();
await pathingScript.runFile(`assets/全自动幽境危战.json`);
await VeinEntrance();
// 进入-选择难道
//2.难度确认和选择
let intoAction = await Textocr("单人挑战",10,0,0,1554,970,360, 105);
if (!intoAction.found) {await genshin.returnMainUi();throw new Error("未进入挑战页面,停止执行...")}
if (!intoAction.found){
await genshin.returnMainUi();
throw new Error("未进入挑战页面,停止执行...")
}
let adjustmentType = await Textocr("至危挑战", 1, 0, 0,797,144,223,84);
if (adjustmentType.found) {
log.warn("找到至危挑战,尝试切换...")
await sleep(500);
await click(890,191)
await click(adjustmentType.x,adjustmentType.y)
await sleep(500);
}
let hardMode = await Textocr("困难", 0.3, 0, 0,1049,157,72,47);
@@ -604,7 +622,7 @@
await click(1093,399);
}
//圣遗物奖励选择
//3.圣遗物奖励选择
if (Artifacts != "保持圣遗物奖励不变"){
let artifact = await imageRecognition(artifactImageMap[Artifacts],0.2,0,0,186,972,71,71);
if (!artifact.found) {
@@ -616,54 +634,44 @@
}
}
//多点击一次,保证进入挑战页面
//4.进入秘境
await sleep(500);
await click(intoAction.x,intoAction.y)
await sleep(1000);
await click(intoAction.x,intoAction.y)
let enter = await Textocr("Enter",15,0,0,18,990,156,71,71);
if (!enter.found){
await genshin.returnMainUi();
throw new Error("未进入秘境,停止执行...")
}
//进入秘境
let enter = await Textocr("Enter",10,0,0,18,990,156,71,71);
if (!enter.found){await genshin.returnMainUi();throw new Error("未进入秘境,停止执行...")}//退出待写
//向前走进入挑战
//5.向前走进入挑战
if (!(await readyFightIn())){
await getOut();
await genshin.returnMainUi();
throw new Error("未进入准备战斗,停止执行...")
}//退出待写
}
await sleep(1000);
//选择挑战怪兽
//6.选择挑战boss
log.info("选择挑战Boss'{0}' 挑战次数:'{1}'", challengeName,challengeNum)
log.info(`期间树脂耗尽会自动退出秘境...`);
const clickCoordinates = [ { x: 207, y: 349 }, { x: 239, y: 531 }, { x: 227, y: 713 } ]; // Boss坐标1~3
await click(clickCoordinates[challengeName - 1].x, clickCoordinates[challengeName - 1].y);
//6.5选择队员-苏婷老师-待写
//log.warn("队伍选择功能等伟大的苏苏老师考完试做...")
switch (challengeName) {
case "1":
await click(207,349);
break;
case "2":
await click(239,531);
break;
case "3":
await click(227,713);
break;
default:
throw new Error("未知的挑战Boss类型");
}
//选择队员-苏婷老师-待写
// log.warn("队伍选择功能等伟大的苏苏老师考完试做...")
//7.开始挑战
await Textocr("开始挑战",1,1,0,1554,970,360, 105);
var resinexhaustion = false; // 条件1树脂耗尽
//开始战斗循环
//8.战斗循环
for (let i = 0;i < challengeNum; i++) {
//进入秘境
log.info("进入战斗环境,开始第 {0} 次战斗", i+1)
log.info("进入战斗环境,开始第 {0} 次战斗", i+1)
//8.1自动战斗
for (let fightCount = 0; fightCount < 3; fightCount++) {
let battleBegins = await Textocr("战斗开始",20,0,0,877,235,164,50);
@@ -707,6 +715,7 @@
}
}
//8.2领取奖励
if (resinAgain != true) {
await sleep(1000);
@@ -758,7 +767,7 @@
}
}
//是否继续
//8.3判断继续或退出
if (challengeNum == i+1 || resinexhaustion == true || resinAgain == true ){
log.info(resinAgain ? "累计战斗失败 3 次,退出秘境..."
: (challengeNum == i+1) ? `完成 ${i+1}/${challengeNum} 次战斗,退出挑战...`: `树脂耗尽,退出挑战...`);
@@ -790,12 +799,14 @@
await sleep(500);
}
}
catch (error) {
catch (error) {
//9.执行错误,重试处理
log.error(`执行过程中发生错误:${error.message}`);
resinAgain = true;
await genshin.returnMainUi();
continue;
}finally{
}finally{
//10.结束脚本
await genshin.returnMainUi();
if (resinAgain == false) log.info(`Auto自动幽境危战结束...`);
}

View File

@@ -1,7 +1,7 @@
{
"manifest_version": 1,
"name": "自动幽境危战",
"version": "1.5",
"version": "1.6",
"tags": ["幽境危战"],
"bgi_version": "0.44.8",
"description": "请先配置好秘境内的队伍,幽境危战战斗失败或执行错误会重试一次,请保证队伍实力",

View File

@@ -1,6 +1,6 @@
{
"info": {
"name": "海草01-绀田村-稻妻6个",
"name": "01-海草-稻妻-绀田村-6个",
"type": "collect",
"author": "不瘦五十斤不改名",
"version": "1.0",

View File

@@ -1,6 +1,6 @@
{
"info": {
"name": "海草02-海-稻妻3个",
"name": "02-海-稻妻-荒海-3个",
"type": "collect",
"author": "不瘦五十斤不改名",
"version": "1.0",

View File

@@ -1,6 +1,6 @@
{
"info": {
"name": "海草03-海-稻妻5个",
"name": "03-海-稻妻-荒海-5个",
"type": "collect",
"author": "不瘦五十斤不改名",
"version": "1.0",

View File

@@ -1,6 +1,6 @@
{
"info": {
"name": "海草04-离岛-稻妻4个",
"name": "04-海草-稻妻-离岛-4个",
"type": "collect",
"author": "不瘦五十斤不改名",
"version": "1.0",

View File

@@ -1,6 +1,6 @@
{
"info": {
"name": "海草05-白狐之野-稻妻3个",
"name": "05-海草-稻妻-白狐之野-3个",
"type": "collect",
"author": "不瘦五十斤不改名",
"version": "1.0",

View File

@@ -1,6 +1,6 @@
{
"info": {
"name": "海草06-白狐之野-稻妻4个",
"name": "06-海草-稻妻-白狐之野-4个",
"type": "collect",
"author": "不瘦五十斤不改名",
"version": "1.0",

View File

@@ -1,6 +1,6 @@
{
"info": {
"name": "海草07-堇色之庭-稻妻2个",
"name": "07-海草-稻妻-堇色之庭-2个",
"type": "collect",
"author": "不瘦五十斤不改名",
"version": "1.0",

View File

@@ -1,6 +1,6 @@
{
"info": {
"name": "海草08-九条阵屋-稻妻4个",
"name": "08-海草-稻妻-九条阵屋-4个",
"type": "collect",
"author": "不瘦五十斤不改名",
"version": "1.0",

View File

@@ -1,6 +1,6 @@
{
"info": {
"name": "海草09-踏鞴砂-稻妻4个",
"name": "09-海草-稻妻-踏鞴砂-4个",
"type": "collect",
"author": "不瘦五十斤不改名",
"version": "1.0",

View File

@@ -1,6 +1,6 @@
{
"info": {
"name": "海草10-踏鞴砂(高危)-稻妻11个",
"name": "1-海草-稻妻-踏鞴砂(高危)-11个",
"type": "collect",
"author": "不瘦五十斤不改名",
"version": "1.0",

View File

@@ -1,6 +1,6 @@
{
"info": {
"name": "海草10-踏鞴砂(无危)-稻妻7个",
"name": "11-海草-稻妻-踏鞴砂(无危)-7个",
"type": "collect",
"author": "不瘦五十斤不改名",
"version": "1.0",

View File

@@ -1,6 +1,6 @@
{
"info": {
"name": "海草11-无想刃狭间(中危)-稻妻5个",
"name": "12-海草-稻妻-无想刃狭间(中危)-5个",
"type": "collect",
"author": "不瘦五十斤不改名",
"version": "1.0",

View File

@@ -1,6 +1,6 @@
{
"info": {
"name": "海草12-海祇岛-稻妻4个",
"name": "13-海草-稻妻-海祇岛-4个",
"type": "collect",
"author": "不瘦五十斤不改名",
"version": "1.0",

View File

@@ -1,6 +1,6 @@
{
"info": {
"name": "海草13-千来神祠-稻妻2个",
"name": "14-海草-稻妻-千来神祠-2个",
"type": "collect",
"author": "不瘦五十斤不改名",
"version": "1.0",

View File

@@ -1,6 +1,6 @@
{
"info": {
"name": "海草14-鹤观神像-稻妻2个",
"name": "15-海草-稻妻-鹤观神像-2个",
"type": "collect",
"author": "不瘦五十斤不改名",
"version": "1.0",

View File

@@ -1,6 +1,6 @@
{
"info": {
"name": "海草15-鹤观神像-稻妻3个",
"name": "16-海草-稻妻-鹤观神像-3个",
"type": "collect",
"author": "不瘦五十斤不改名",
"version": "1.0",

View File

@@ -1,6 +1,6 @@
{
"info": {
"name": "海草16-天云峠-稻妻4个",
"name": "17-海草-稻妻-天云峠-4个",
"type": "collect",
"author": "不瘦五十斤不改名",
"version": "1.0",

View File

@@ -1,6 +1,6 @@
{
"info": {
"name": "海草17-越石村-稻妻4个",
"name": "18-海草-稻妻-越石村-4个",
"type": "collect",
"author": "不瘦五十斤不改名",
"version": "1.0",

View File

@@ -1,6 +1,6 @@
{
"info": {
"name": "茉洁草01-猎人本-枫丹3个",
"name": "01-茉洁草-枫丹-罪祸的终末-3个",
"type": "collect",
"author": "不瘦五十斤不改名",
"version": "1.0",

View File

@@ -1,6 +1,6 @@
{
"info": {
"name": "茉洁草02-猎人本-枫丹5个",
"name": "02-茉洁草-枫丹-罪祸的终末-5个",
"type": "collect",
"author": "不瘦五十斤不改名",
"version": "1.0",

View File

@@ -1,6 +1,6 @@
{
"info": {
"name": "茉洁草03-厄里那斯左下-枫丹12个",
"name": "03-茉洁草-枫丹-厄里那斯左下-12个",
"type": "collect",
"author": "曦",
"version": "1.0",

View File

@@ -1,6 +1,6 @@
{
"info": {
"name": "茉洁草04-厄里那斯左下-枫丹4个",
"name": "04-茉洁草-枫丹-厄里那斯左下-4个",
"type": "collect",
"author": "不瘦五十斤不改名",
"version": "1.0",

View File

@@ -1,6 +1,6 @@
{
"info": {
"name": "茉洁草05-厄里那斯左下-枫丹9个",
"name": "05-茉洁草-枫丹-厄里那斯左下-9个",
"type": "collect",
"author": "曦",
"version": "1.0",

View File

@@ -1,6 +1,6 @@
{
"info": {
"name": "茉洁草06-厄里那斯右下-枫丹6个",
"name": "06-茉洁草-枫丹-厄里那斯右下-6个",
"type": "collect",
"author": "不瘦五十斤不改名",
"version": "1.0",

View File

@@ -1,6 +1,6 @@
{
"info": {
"name": "茉洁草07-厄里那斯右下-枫丹4个",
"name": "07-茉洁草-枫丹-厄里那斯右下-4个",
"type": "collect",
"author": "不瘦五十斤不改名",
"version": "1.0",

View File

@@ -1,6 +1,6 @@
{
"info": {
"name": "茉洁草08-厄里那斯神像-枫丹13个",
"name": "08-茉洁草-枫丹-厄里那斯神像-13个",
"type": "collect",
"author": "不瘦五十斤不改名",
"version": "1.0",

View File

@@ -1,6 +1,6 @@
{
"info": {
"name": "茉洁草09-厄里那斯左-枫丹5个",
"name": "09-茉洁草-枫丹-厄里那斯左-5个",
"type": "collect",
"author": "不瘦五十斤不改名",
"version": "1.0",

View File

@@ -1,6 +1,6 @@
{
"info": {
"name": "茉洁草10-厄里那斯左-枫丹4个",
"name": "10-茉洁草-枫丹-厄里那斯左-4个",
"type": "collect",
"author": "不瘦五十斤不改名",
"version": "1.0",

View File

@@ -1,6 +1,6 @@
{
"info": {
"name": "茉洁草11-枫丹廷左-枫丹5个",
"name": "11-茉洁草-枫丹-枫丹廷左-5个",
"type": "collect",
"author": "不瘦五十斤不改名",
"version": "1.0",

View File

@@ -1,6 +1,6 @@
{
"info": {
"name": "茉洁草12-枫丹廷左-枫丹4个",
"name": "12-茉洁草-枫丹-枫丹廷左-4个",
"type": "collect",
"author": "不瘦五十斤不改名",
"version": "1.0",

View File

@@ -1,6 +1,6 @@
{
"info": {
"name": "茉洁草13-枫丹廷左上-枫丹4个",
"name": "13-茉洁草-枫丹-枫丹廷左上-4个",
"type": "collect",
"author": "曦",
"version": "1.0",

View File

@@ -1,6 +1,6 @@
{
"info": {
"name": "茉洁草14-枫丹廷左上-枫丹4个",
"name": "14-茉洁草-枫丹-枫丹廷左上-4个",
"type": "collect",
"author": "曦",
"version": "1.0",

View File

@@ -1,6 +1,6 @@
{
"info": {
"name": "茉洁草15-枫丹廷左上-枫丹6个",
"name": "15-茉洁草-枫丹-枫丹廷左上-6个",
"type": "collect",
"author": "曦",
"version": "1.0",

View File

@@ -1,6 +1,6 @@
{
"info": {
"name": "茉洁草16-枫丹廷左上-枫丹8个",
"name": "16-茉洁草-枫丹-枫丹廷左上-8个",
"type": "collect",
"author": "曦",
"version": "1.0",

View File

@@ -1,6 +1,6 @@
{
"info": {
"name": "茉洁草17-枫丹廷左上-枫丹4个",
"name": "17-茉洁草-枫丹-枫丹廷左上-4个",
"type": "collect",
"author": "曦",
"version": "1.0",

View File

@@ -1,6 +1,6 @@
{
"info": {
"name": "茉洁草18-枫丹廷上-枫丹5个",
"name": "18-茉洁草-枫丹-枫丹廷上-5个",
"type": "collect",
"author": "不瘦五十斤不改名",
"version": "1.0",

View File

@@ -1,6 +1,6 @@
{
"info": {
"name": "茉洁草19-枫丹科学院-枫丹4个",
"name": "19-茉洁草-枫丹-枫丹科学院-4个",
"type": "collect",
"author": "不瘦五十斤不改名",
"version": "1.0",

View File

@@ -1,6 +1,6 @@
{
"info": {
"name": "茉洁草20-枫丹科学院-枫丹5个",
"name": "20-茉洁草-枫丹-枫丹科学院-5个",
"type": "collect",
"author": "不瘦五十斤不改名",
"version": "1.0",

View File

@@ -1,6 +1,6 @@
{
"info": {
"name": "茉洁草21-枫丹科学院-枫丹5个",
"name": "21-茉洁草-枫丹-枫丹科学院-5个",
"type": "collect",
"author": "不瘦五十斤不改名",
"version": "1.0",

View File

@@ -1,6 +1,6 @@
{
"info": {
"name": "茉洁草22-中央实验室遗址-枫丹7个",
"name": "22-茉洁草-枫丹-中央实验室遗址-7个",
"type": "collect",
"author": "不瘦五十斤不改名",
"version": "1.0",

View File

@@ -1,6 +1,6 @@
{
"info": {
"name": "茉洁草23-中央实验室遗址西-枫丹3个",
"name": "23-茉洁草-枫丹-中央实验室遗址西-3个",
"type": "collect",
"author": "不瘦五十斤不改名",
"version": "1.0",

View File

@@ -1,6 +1,6 @@
{
"info": {
"name": "茉洁草24-中央实验室遗址西-枫丹6个",
"name": "24-茉洁草-枫丹-中央实验室遗址西-6个",
"type": "collect",
"author": "不瘦五十斤不改名",
"version": "1.0",

View File

@@ -1,6 +1,6 @@
{
"info": {
"name": "茉洁草25-中央实验室遗址西-枫丹4个",
"name": "25-茉洁草-枫丹-中央实验室遗址西-4个",
"type": "collect",
"author": "不瘦五十斤不改名",
"version": "1.0",

View File

@@ -1,6 +1,6 @@
{
"info": {
"name": "茉洁草26-优兰尼娅湖-枫丹3个",
"name": "26-茉洁草-枫丹-优兰尼娅湖-3个",
"type": "collect",
"author": "不瘦五十斤不改名",
"version": "1.0",

View File

@@ -1,6 +1,6 @@
{
"info": {
"name": "茉洁草27-茉洁-枫丹6个",
"name": "27-茉洁-枫丹-茉洁站-6个",
"type": "collect",
"author": "不瘦五十斤不改名",
"version": "1.0",

View File

@@ -1,6 +1,6 @@
{
"info": {
"name": "茉洁草28-湖中垂柳-枫丹12个",
"name": "28-茉洁草-枫丹-湖中垂柳-12个",
"type": "collect",
"author": "不瘦五十斤不改名",
"version": "1.0",

View File

@@ -1,6 +1,6 @@
{
"info": {
"name": "茉洁草29-湖中垂柳-枫丹3个",
"name": "29-茉洁草-枫丹-湖中垂柳-3个",
"type": "collect",
"author": "不瘦五十斤不改名",
"version": "1.0",

View File

@@ -1,6 +1,6 @@
{
"info": {
"name": "茉洁草30-湖中垂柳-枫丹3个",
"name": "30-茉洁草-枫丹-湖中垂柳-3个",
"type": "collect",
"author": "不瘦五十斤不改名",
"version": "1.0",

View File

@@ -1,6 +1,6 @@
{
"info": {
"name": "茉洁草31-湖中垂柳-枫丹4个",
"name": "31-茉洁草-枫丹-湖中垂柳-4个",
"type": "collect",
"author": "不瘦五十斤不改名",
"version": "1.0",

View File

@@ -1,6 +1,6 @@
{
"info": {
"name": "茉洁草32-幽林雾道-枫丹9个",
"name": "32-茉洁草-枫丹-幽林雾道-9个",
"type": "collect",
"author": "不瘦五十斤不改名",
"version": "1.0",

View File

@@ -1,6 +1,6 @@
{
"info": {
"name": "茉洁草33-幽林雾道-枫丹16个",
"name": "33-茉洁草-枫丹-幽林雾道-16个",
"type": "collect",
"author": "不瘦五十斤不改名",
"version": "1.0",

View File

@@ -1,6 +1,6 @@
{
"info": {
"name": "茉洁草34-幽林雾道-枫丹3个",
"name": "34-茉洁草-枫丹-幽林雾道-3个",
"type": "collect",
"author": "不瘦五十斤不改名",
"version": "1.0",

View File

@@ -1,6 +1,6 @@
{
"info": {
"name": "茉洁草35-欧庇克莱歌剧院-枫丹2个",
"name": "35-茉洁草-枫丹-欧庇克莱歌剧院-2个",
"type": "collect",
"author": "不瘦五十斤不改名",
"version": "1.0",

View File

@@ -1,6 +1,6 @@
{
"info": {
"name": "茉洁草36-欧庇克莱歌剧院-枫丹15个",
"name": "36-茉洁草-枫丹-欧庇克莱歌剧院-15个",
"type": "collect",
"author": "不瘦五十斤不改名",
"version": "1.0",

View File

@@ -1,6 +1,6 @@
{
"info": {
"name": "茉洁草37-莫尔泰区-枫丹7个",
"name": "37-茉洁草-枫丹-莫尔泰区-7个",
"type": "collect",
"author": "不瘦五十斤不改名",
"version": "1.0",

View File

@@ -1,6 +1,6 @@
{
"info": {
"name": "茉洁草38-卡布狄斯堡遗迹-枫丹11个",
"name": "38-茉洁草-枫丹-卡布狄斯堡遗迹-11个",
"type": "collect",
"author": "不瘦五十斤不改名",
"version": "1.0",

View File

@@ -1,6 +1,6 @@
{
"info": {
"name": "茉洁草39-秋分山西侧-枫丹2个",
"name": "39-茉洁草-枫丹-秋分山西侧-2个",
"type": "collect",
"author": "不瘦五十斤不改名",
"version": "1.0",

View File

@@ -1,6 +1,6 @@
{
"info": {
"name": "茉洁草40-秋分山西侧-枫丹4个",
"name": "40-茉洁草-枫丹-秋分山西侧-4个",
"type": "collect",
"author": "不瘦五十斤不改名",
"version": "1.0",