Compare commits
288 Commits
f9f94a938c
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7c4c101ef5 | ||
|
|
a3b3a8c746 | ||
|
|
a26500456d | ||
|
|
eb216dd3b8 | ||
|
|
721b259b02 | ||
|
|
4b6285a232 | ||
|
|
b275caf7c8 | ||
|
|
bbb043e7f4 | ||
|
|
9de10157fc | ||
|
|
4fd7090831 | ||
|
|
e14f59918f | ||
|
|
25e651aad8 | ||
|
|
50da8dfd95 | ||
|
|
6d658e5079 | ||
|
|
7eb7b8131f | ||
|
|
96cfb3dd90 | ||
|
|
4a88eaac02 | ||
|
|
af6355963d | ||
|
|
de6e48946b | ||
|
|
439970db04 | ||
|
|
2bd1122df8 | ||
|
|
da329d7353 | ||
|
|
833a6f1290 | ||
|
|
447a72b303 | ||
|
|
68ffddf868 | ||
|
|
9724dfecf8 | ||
|
|
16e191fd05 | ||
|
|
71823d7b84 | ||
|
|
4d9fb412aa | ||
|
|
7647322f5a | ||
|
|
453aadcd87 | ||
|
|
e6fd631fdd | ||
|
|
fd85cc5816 | ||
|
|
b048e7fb23 | ||
|
|
18fe49b8bd | ||
|
|
fbf7fcd245 | ||
|
|
38f662590c | ||
|
|
1ae6e698a1 | ||
|
|
8b97ee6e81 | ||
|
|
38f81ceebb | ||
|
|
106c9dac4d | ||
|
|
7a8c01d348 | ||
|
|
262f229bf9 | ||
|
|
43c5c89794 | ||
|
|
0431d3998a | ||
|
|
8082a7bdb7 | ||
|
|
e5bd270343 | ||
|
|
9fc55c10ca | ||
|
|
0b0188700c | ||
|
|
d90654503f | ||
|
|
224a476f39 | ||
|
|
feb6361c06 | ||
|
|
aa67aaf70c | ||
|
|
184fb98ba9 | ||
|
|
d88ead299a | ||
|
|
07d7f872c4 | ||
|
|
8d10b74d24 | ||
|
|
b4f4c5bd89 | ||
|
|
e50974b746 | ||
|
|
320af9455f | ||
|
|
118709ed63 | ||
|
|
c93cb92c3a | ||
|
|
9135788e86 | ||
|
|
f7b8a35b0a | ||
|
|
7419d81157 | ||
|
|
4bd431bcb8 | ||
|
|
3770f39246 | ||
|
|
01654f0797 | ||
|
|
7aa6ec4306 | ||
|
|
2f25fd3b6a | ||
|
|
cb4a28bb93 | ||
|
|
67f3b5a571 | ||
|
|
62a04b25ff | ||
|
|
fe8e33e72b | ||
|
|
ad7b99e761 | ||
|
|
16b452985f | ||
|
|
9532762baa | ||
|
|
26d378d1cb | ||
|
|
287b72a377 | ||
|
|
d45eef380a | ||
|
|
b67c244132 | ||
|
|
284aff3f19 | ||
|
|
681508624d | ||
|
|
d910e80e20 | ||
|
|
85688a88fe | ||
|
|
740a5cd2fa | ||
|
|
3eadee4932 | ||
|
|
4c6ae94d65 | ||
|
|
28f7f600da | ||
|
|
b53f94aecb | ||
|
|
9176f1564e | ||
|
|
e4f111b1ab | ||
|
|
f4087871b9 | ||
|
|
fbc9e9b71c | ||
|
|
939a96cf48 | ||
|
|
1dc0c910c7 | ||
|
|
d188ac8a41 | ||
|
|
1f1198f712 | ||
|
|
afd8c2fc60 | ||
|
|
6a7298a6d9 | ||
|
|
a47e786567 | ||
|
|
554ca6068d | ||
|
|
b69c88158e | ||
|
|
1087485a6a | ||
|
|
a49c2a01bc | ||
|
|
eb7e5f7492 | ||
|
|
6e72e32000 | ||
|
|
f5d9456fb3 | ||
|
|
c93537f714 | ||
|
|
c305d02c6e | ||
|
|
84070b09a7 | ||
|
|
7fe9a9e173 | ||
|
|
7dc2fa29f1 | ||
|
|
57881d945b | ||
|
|
c3b5280b72 | ||
|
|
4719de53b5 | ||
|
|
7509996b37 | ||
|
|
278b894135 | ||
|
|
d3fa48dda7 | ||
|
|
9a729b5c80 | ||
|
|
4776b045c9 | ||
|
|
553691c92b | ||
|
|
f0aebe1ba0 | ||
|
|
c61d1111f2 | ||
|
|
eeccb07ea1 | ||
|
|
cf21699739 | ||
|
|
6713bfe4c2 | ||
|
|
7c46fe824e | ||
|
|
e09a2ca287 | ||
|
|
c4bdcdb5a9 | ||
|
|
340c68aee0 | ||
|
|
8cabe52bf1 | ||
|
|
15e958c018 | ||
|
|
a08cd67ae7 | ||
|
|
60996576c6 | ||
|
|
d27600a2e0 | ||
|
|
96e7e9b62d | ||
|
|
a068edd135 | ||
|
|
46f613db00 | ||
|
|
8d84529293 | ||
|
|
00f19aae51 | ||
|
|
db492c39ac | ||
|
|
1cefb7163b | ||
|
|
97fdcc5275 | ||
|
|
99ab3801f9 | ||
|
|
99ddb138e5 | ||
|
|
3a696c4f86 | ||
|
|
63f3aae673 | ||
|
|
aa68e2e683 | ||
|
|
eca4312ad4 | ||
|
|
921c8f4a37 | ||
|
|
60872fd13c | ||
|
|
521b79a6f1 | ||
|
|
6eaf7ce057 | ||
|
|
6733c2a178 | ||
|
|
abc2749375 | ||
|
|
49d408b5d3 | ||
|
|
1b58b1df40 | ||
|
|
92d29a8e31 | ||
|
|
8423ec45c9 | ||
|
|
8342c87404 | ||
|
|
b446f0c98c | ||
|
|
c23b44399a | ||
|
|
8820ec19ab | ||
|
|
6ae02e50ff | ||
|
|
6e406649f3 | ||
|
|
809039b2af | ||
|
|
5b240ba7c5 | ||
|
|
cbbf4dca19 | ||
|
|
0a999bc007 | ||
|
|
a98d4d67dc | ||
|
|
4850932db2 | ||
|
|
eac3b770ea | ||
|
|
9cc7c3ff7a | ||
|
|
57104f4c87 | ||
|
|
64e50be6e4 | ||
|
|
42520b3146 | ||
|
|
4a9987e6c0 | ||
|
|
a3750759ad | ||
|
|
da9e685986 | ||
|
|
647949ceb6 | ||
|
|
cdb67ee605 | ||
|
|
88006f3e9a | ||
|
|
0fdf96e6a1 | ||
|
|
e9d9cf63fc | ||
|
|
d1ab0ef1be | ||
|
|
14c1240b84 | ||
|
|
65fcc41e5b | ||
|
|
6261fd4401 | ||
|
|
66b1828ce2 | ||
|
|
ef496734ba | ||
|
|
35b89ef969 | ||
|
|
1079c19a4d | ||
|
|
e32db94f48 | ||
|
|
78c106c824 | ||
|
|
c458a2e5c8 | ||
|
|
4c1e73d07c | ||
|
|
4633130db1 | ||
|
|
e940b3c4cb | ||
|
|
c44cccff4b | ||
|
|
467df2c001 | ||
|
|
7e29302faf | ||
|
|
5136b3e017 | ||
|
|
001a2f4b59 | ||
|
|
925f354bcd | ||
|
|
84c066b273 | ||
|
|
a462d23010 | ||
|
|
ee6090ac12 | ||
|
|
794dfd4482 | ||
|
|
c483c09030 | ||
|
|
ee3db27d52 | ||
|
|
0c7ee70550 | ||
|
|
5913ed7a87 | ||
|
|
f3db91d934 | ||
|
|
22f1f2d096 | ||
|
|
c68d2ef1b2 | ||
|
|
6a194f73d1 | ||
|
|
3cf91c1f2f | ||
|
|
47d5251d50 | ||
|
|
0af0bd6c96 | ||
|
|
4885f8ddf9 | ||
|
|
75ed4e4073 | ||
|
|
2376205c05 | ||
|
|
80244988a9 | ||
|
|
d4c169aa1e | ||
|
|
b7b5bff5de | ||
|
|
2dad50eae1 | ||
|
|
f3d2358282 | ||
|
|
95b4f78699 | ||
|
|
5ec6ec019d | ||
|
|
5288b82eab | ||
|
|
4097308b1f | ||
|
|
0034c2d2a4 | ||
|
|
86ebf44c08 | ||
|
|
9c1807cf13 | ||
|
|
d7e1c1bb48 | ||
|
|
bfaf0ef86b | ||
|
|
2bb51c8b19 | ||
|
|
37a6de176e | ||
|
|
6904fa2098 | ||
|
|
70278f38ee | ||
|
|
5ebc1bc448 | ||
|
|
4ea13a8677 | ||
|
|
1aa42a7bce | ||
|
|
526b39cb0d | ||
|
|
681e00e130 | ||
|
|
45c99a29ef | ||
|
|
f2bbc3d084 | ||
|
|
19c1732058 | ||
|
|
ac0edb84e9 | ||
|
|
49ab7e9734 | ||
|
|
6dbcb5e3ce | ||
|
|
03cdf124ac | ||
|
|
31a09e87ab | ||
|
|
3a1643607c | ||
|
|
40f0ad5cdb | ||
|
|
ed0ecc630f | ||
|
|
d25caaf0cb | ||
|
|
313db90980 | ||
|
|
6f4b3f7c3f | ||
|
|
6cf7a5cd80 | ||
|
|
c753afa95d | ||
|
|
38c4752764 | ||
|
|
0a074a7bcc | ||
|
|
5b631cb332 | ||
|
|
cbc4e149e6 | ||
|
|
a39c66caa2 | ||
|
|
c1c7dd164e | ||
|
|
657684e8ba | ||
|
|
1dda088628 | ||
|
|
3e03806036 | ||
|
|
feaee63012 | ||
|
|
763c18233b | ||
|
|
aca3ded5ec | ||
|
|
b400ab44f6 | ||
|
|
bf711de78f | ||
|
|
bd001fde7f | ||
|
|
a0bfe339ea | ||
|
|
2c65bf97de | ||
|
|
91b1202abd | ||
|
|
301f490a36 | ||
|
|
39baae8149 | ||
|
|
b504c16aa4 | ||
|
|
9c5f435ed5 | ||
|
|
95ce32c850 | ||
|
|
82535c0e1f | ||
|
|
8a96fe6dff | ||
|
|
c0019cffa7 |
144
README.md
@@ -6,7 +6,7 @@
|
||||
|
||||
作者Q群:764972801 (非作者请勿加入)
|
||||
|
||||
[如何提交到本仓库?(谁都能看懂的 GitHub Pull Request 使用指南)](https://bgi.huiyadan.com/dev/pr.html)
|
||||
[如何提交到本仓库?(谁都能看懂的 GitHub Pull Request 使用指南)](https://bettergi.com/dev/pr.html)
|
||||
|
||||
## 脚本提交说明
|
||||
|
||||
@@ -15,88 +15,186 @@
|
||||
- 地图追踪脚本提交到 [repo/pathing](https://github.com/babalae/bettergi-scripts-list/tree/main/repo/pathing) 目录;
|
||||
- 七圣召唤脚本提交到 [repo/tcg](https://github.com/babalae/bettergi-scripts-list/tree/main/repo/tcg) 目录。
|
||||
|
||||
|
||||
## 脚本提交规范
|
||||
|
||||
为了保证脚本的规范性和可读性,方便用户清晰了解脚本的用途,制定以下脚本命名规则和脚本文件夹命名规则。
|
||||
|
||||
### 地图追踪脚本
|
||||
|
||||
#### 文件命名规范
|
||||
|
||||
确保脚本文件在同一目录下按预期顺序排列,并一目了然地传达关键信息。地图追踪脚本命名需包含以下核心信息:
|
||||
|
||||
```
|
||||
编号-材料名称-区域(跨区域材料填写)-二级区域(可选)-二级子区域-数量
|
||||
```
|
||||
|
||||
- 编号
|
||||
|
||||
- 两位数,如果单个资源脚本数量超过 `100` 可以考虑使用三位数编号或者使用字母加数字编号,如 A01
|
||||
- 编号的排序应遵循以下两种方式之一:
|
||||
- 按传送点位顺序排序。相邻脚本之间优先保证传送的便捷性,这种编号方式考虑整体采集效率。
|
||||
- 按材料获取效率排序。优先选择资源分布密集或容易采集的点,效率高的路径放在靠前编号,这种编号方式考虑编号靠前脚本的采集效率。
|
||||
|
||||
- 材料名称
|
||||
|
||||
- 采集物(使用游戏内官方名称命名,如 `慕风蘑菇`,`劫波莲`,不应当使用 `绫华突破材料`等不清晰的名称命名)
|
||||
- 掉落物(因掉落物名称与掉落物等级有关,因此不使用掉落物本身命名,而是使用怪物名称命名)
|
||||
- 区域(指 `蒙德` `璃月` `稻妻` `须弥` `枫丹` `纳塔` `至冬`,仅当材料跨区域需标注)
|
||||
|
||||
- 区域(指 `蒙德` `璃月` `稻妻` `须弥` `枫丹` `纳塔` `至冬`,**仅当材料跨区域需标注**)
|
||||
|
||||
- 二级区域(如 `珉林`,根据实际需求标注)
|
||||
|
||||
- 二级子区域(细分地点,如 `绝云间`)
|
||||
|
||||
- 预期采集的数量
|
||||
示例:
|
||||
|
||||
脚本名称**仅限上述**规定的编号、材料名称、区域、二级子区域,原则上不应包含额外的描述或标点符号。
|
||||
|
||||
```
|
||||
✔ 参考示范:
|
||||
01-水晶块-璃月-绝云间-6个
|
||||
02-水晶块-璃月-荻花洲-8个
|
||||
|
||||
❌ 错误示范:
|
||||
01-水晶块-璃月-快速路径-绝云间-6个
|
||||
```
|
||||
脚本名称仅限上述规定的编号、材料名称、区域、二级子区域,不应包含额外的描述或标点符号。如:
|
||||
```
|
||||
❌01-水晶块-璃月-快速路径-绝云间-6个
|
||||
```
|
||||
其他注意事项
|
||||
|
||||
**其他注意事项**
|
||||
|
||||
- 部分采集物没有对应的二级子区域,允许名称的区域部分使用**起始传送锚点**右侧展示的二级区域,或**这条路径的大部分采集物点位**所位于的二级区域
|
||||
|
||||
- 相同**二级子区域**有多条路径时,推荐采用 `编号-材料名称-二级区域-二级子区域及方位-数量` 进行命名。
|
||||
|
||||
- 脚本文件名应当和 `json` 文件中的 `name` 字段相同。
|
||||
|
||||
- 说明文件应当命名为README.md以保证仓库能够正确读取。
|
||||
|
||||
#### 文件夹命名规范
|
||||
|
||||
目的:对脚本按材料分类管理,便于版本控制与团队协作。目录结构应当遵循以下原则:
|
||||
|
||||
- 根据脚本种类选择恰当的一级分类,目前共有六个分类 `锄地专区`、`地方特产`、`敌人与魔物`、`矿物`、`其他`。
|
||||
|
||||
- 一级目录:以材料名称命名,须与文件命名中的材料名称一致。
|
||||
|
||||
- 二级子目录(可选):可根据项目或作者划分,如有必要。
|
||||
示例目录结构如下:
|
||||
|
||||
- 示例目录结构如下:
|
||||
|
||||
```
|
||||
repo/pathing/矿物
|
||||
├─ 水晶块/
|
||||
├─ 水晶块
|
||||
│ ├─ 01-水晶块-璃月-绝云间-6个
|
||||
│ └─ 02-水晶块-璃月-荻花洲-8个
|
||||
└─ 星银矿石/
|
||||
└─ 星银矿石
|
||||
└─ 01-星银矿石-覆雪之路-7个
|
||||
```
|
||||
|
||||
如果脚本和原来的地图追踪脚本存在冲突 按照以下原则处理:
|
||||
|
||||
- 修复或补充:直接提交到原材料目录。
|
||||
|
||||
- 路线冲突:新建同名目录并添加作者标识:
|
||||
|
||||
1. 将旧脚本目录重命名为 `AA@旧作者名`
|
||||
2. 新脚本放入 `AA@你的名字`
|
||||
3. 例:原 `repo/pathing/AA` 重命名为 `AA@oldauthor` 新目录 `AA@yourname`
|
||||
4. 示例目录结构如下:
|
||||
- 示例目录结构如下:
|
||||
|
||||
```
|
||||
repo/pathing/.../
|
||||
└── AA/
|
||||
└── AA
|
||||
├── AA@旧作者名
|
||||
└── AA@你的名字
|
||||
```
|
||||
|
||||
- 不同采集方式|效率:新建目录添加标识及作者标识:
|
||||
- 不同采集方式|角色|效率:新建目录添加标识及作者标识:
|
||||
|
||||
1. 判断旧脚本目录的采集方式,将旧脚本目录重命名为 `采集方式@旧作者名`
|
||||
2. 新脚本放入 `采集方式@你的名字`
|
||||
3. 示例目录结构如下:
|
||||
- 示例目录结构如下:
|
||||
|
||||
```
|
||||
repo/pathing/.../
|
||||
└── AA/
|
||||
├── 无草神@广告位招租
|
||||
├── 有草神@广告位招租
|
||||
└── 效率路线@广告位招租
|
||||
repo/pathing
|
||||
├── 地方特产/区域
|
||||
│ ├── A材料
|
||||
│ │ ├── 无草神@作者广告位招租
|
||||
│ │ ├── 有草神效率路线@作者广告位招租
|
||||
│ │ ├── 有草神全收集@作者广告位招租
|
||||
│ │ └── ...
|
||||
│ └── B材料
|
||||
│ ├── 效率路线@作者广告位招租
|
||||
│ ├── 全收集@作者广告位招租
|
||||
│ └── ...
|
||||
├── 矿物
|
||||
│ ├── 水晶矿
|
||||
│ │ ├── 大剑@作者广告位招租
|
||||
│ │ ├── 钟离@作者广告位招租
|
||||
│ │ ├── 诺艾尔@作者广告位招租
|
||||
│ │ └── ...
|
||||
│ └── 萃凝晶
|
||||
│ ├── 大剑效率路线@作者广告位招租
|
||||
│ ├── 大剑无战斗@作者广告位招租
|
||||
│ └── ...
|
||||
└── ...
|
||||
```
|
||||
其他注意事项
|
||||
|
||||
**其他注意事项**
|
||||
|
||||
- 目录名仅限材料官方名称,不添加版本号或其他标识。
|
||||
|
||||
- 作者标识仅在冲突时追加,格式为“@作者名”,紧随原目录名。
|
||||
- 相同二级子区域有多条路径时,推荐采用 `编号-材料名称-二级区域-二级子区域及方位-数量` 进行命名。
|
||||
|
||||
### JS脚本
|
||||
|
||||
创建JS脚本请参考文档[创建脚本](https://bettergi.com/dev/js/create.html)
|
||||
|
||||
#### 文件夹命名规则
|
||||
|
||||
- 脚本的文件夹名称**应体现脚本的用途**,简要用途可在描述文件[manifest.json](https://bettergi.com/dev/js/create.html#manifest-json)中说明,详细用途可在`README.md`中说明
|
||||
|
||||
- 脚本的主体文件夹名称可采用`英文`、`中文`、`英文缩写+中文`等命名方式,名称中不应包含空格,如:
|
||||
|
||||
```
|
||||
repo/js
|
||||
├── OCR购买材料
|
||||
├── AutoLeyLineOutcrop
|
||||
├── 使用历练点完成每日委托
|
||||
└── ...
|
||||
```
|
||||
|
||||
- 常见的脚本结构目录如下:
|
||||
|
||||
```
|
||||
repo/js
|
||||
└── 你的脚本名称
|
||||
├── Assets
|
||||
│ ├── Pathing
|
||||
│ │ └── xxx.json
|
||||
│ └── RecognitionObject
|
||||
│ └── xxx.png
|
||||
├── main.js
|
||||
├── manifest.json
|
||||
├── settings.json
|
||||
└── README.md
|
||||
```
|
||||
|
||||
- `Assets`用于存放脚本使用到的资源文件,其中
|
||||
|
||||
- `Pathing`用于存放[地图追踪](https://bettergi.com/feats/autos/pathing-dev.html)文件
|
||||
- `RecognitionObject`用于存放[模板匹配](https://bettergi.com/dev/js/rec.html#%E6%A8%A1%E6%9D%BF%E5%8C%B9%E9%85%8D)对象
|
||||
|
||||
**其他注意事项**
|
||||
|
||||
- 脚本使用的资源文件应在`README.md`中注明实际用途
|
||||
|
||||
### 其他
|
||||
|
||||
因早期对脚本管理较为宽松,因此仓库有部分脚本并不符合命名规范,欢迎通过 PR 规范这些名称。
|
||||
|
||||
## Contributors
|
||||
|
||||
<a href="https://next.ossinsight.io/widgets/official/compose-recent-active-contributors?repo_id=866958830&limit=30" target="_blank" style="display: block" align="center">
|
||||
<picture>
|
||||
<source media="(prefers-color-scheme: dark)" srcset="https://next.ossinsight.io/widgets/official/compose-recent-active-contributors/thumbnail.png?repo_id=866958830&limit=30&image_size=auto&color_scheme=dark" width="655" height="auto">
|
||||
|
||||
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 3.7 KiB |
|
Before Width: | Height: | Size: 6.7 KiB After Width: | Height: | Size: 6.7 KiB |
|
Before Width: | Height: | Size: 6.6 KiB After Width: | Height: | Size: 6.6 KiB |
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 7.0 KiB After Width: | Height: | Size: 7.0 KiB |
|
Before Width: | Height: | Size: 7.4 KiB After Width: | Height: | Size: 7.4 KiB |
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
|
Before Width: | Height: | Size: 7.9 KiB After Width: | Height: | Size: 7.9 KiB |
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 3.7 KiB |
|
Before Width: | Height: | Size: 6.7 KiB After Width: | Height: | Size: 6.7 KiB |
|
Before Width: | Height: | Size: 6.6 KiB After Width: | Height: | Size: 6.6 KiB |
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 7.0 KiB After Width: | Height: | Size: 7.0 KiB |
|
Before Width: | Height: | Size: 7.4 KiB After Width: | Height: | Size: 7.4 KiB |
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
|
Before Width: | Height: | Size: 7.9 KiB After Width: | Height: | Size: 7.9 KiB |
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 3.7 KiB |
|
Before Width: | Height: | Size: 6.7 KiB After Width: | Height: | Size: 6.7 KiB |
|
Before Width: | Height: | Size: 6.6 KiB After Width: | Height: | Size: 6.6 KiB |
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 7.0 KiB After Width: | Height: | Size: 7.0 KiB |
|
Before Width: | Height: | Size: 7.4 KiB After Width: | Height: | Size: 7.4 KiB |
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
|
Before Width: | Height: | Size: 7.9 KiB After Width: | Height: | Size: 7.9 KiB |
@@ -45,6 +45,14 @@
|
||||
"Alkaid": "https://github.com/Rosefinch-zzz",
|
||||
"听雨♪": "https://github.com/TingYu-lulumi",
|
||||
"小鹰划船不用桨": "https://github.com/Kotagan",
|
||||
"阿城同学": "https://github.com/shilic"
|
||||
"阿城同学": "https://github.com/shilic",
|
||||
"FuYeqi": "https://github.com/FuYeqi",
|
||||
"Mochi麻糬": "https://github.com/ryanlin594529",
|
||||
"下流山汉": "https://github.com/vulgar-rustic",
|
||||
"XS": "https://github.com/xwsqy6",
|
||||
"C-01-11011": "https://github.com/C-01-11011",
|
||||
"baixi": "https://github.com/baixi232310",
|
||||
"SmomoL": "https://github.com/SmomoL",
|
||||
"小大": "https://github.com/xd1145"
|
||||
}
|
||||
}
|
||||
@@ -31,7 +31,9 @@ ACTION_VERSION_MAP = {
|
||||
"electro_collect": "0.42.0",
|
||||
"nahida_collect": "0.42.0",
|
||||
"up_down_grab_leaf": "0.42.0",
|
||||
"set_time": "0.45.0"
|
||||
"set_time": "0.45.0",
|
||||
"exit_and_relogin": "0.46.0",
|
||||
"use_gadget": "0.48.1"
|
||||
}
|
||||
|
||||
# 定义 action_params 的最低兼容版本和正则表达式验证
|
||||
|
||||
28
repo/combat/伊芙万白.txt
Normal file
@@ -0,0 +1,28 @@
|
||||
|
||||
|
||||
// 作者:呱呱z
|
||||
// 描述: 大世界锄地。/n因为涉及角色切换,请按照伊涅芙,芙宁娜,万叶,白术的顺序站位。站位不同请替换末尾的数字。/n由于延迟等各方面因素,如果发现角色的Q经常未释放,请将keypress(Q)前面wait(数字)中的数值增大。
|
||||
// 版本: v1.0
|
||||
|
||||
|
||||
// 1号盾位
|
||||
伊涅芙 attack,keypress(e),wait(0.01),keypress(2)
|
||||
|
||||
// 2号水神:e后摇0.8;
|
||||
芙宁娜 attack,e,wait(0.01),click(middle),wait(0.63),keypress(Q),wait(0.05),attack,keypress(3)
|
||||
|
||||
// 3号万叶
|
||||
枫原万叶 attack,wait(0.3),click(middle),e(hold),attack,click(middle),attack,wait(0.7),keypress(Q),attack,wait(0.05),keypress(4)
|
||||
|
||||
// 4号白术
|
||||
白术 attack,e,wait(0.65),keypress(q),wait(0.01),keypress(1)
|
||||
|
||||
伊涅芙 attack,wait(0.01),click(middle),keypress(Q),attack,wait(0.05),keypress(4)
|
||||
//伊涅芙 attack,wait(0.01),click(middle),keypress(Q),wait(0.65),attack,e,wait(0.01),keypress(2)
|
||||
|
||||
// 二轮循环
|
||||
白术 attack(6.5),keypress(1)
|
||||
伊涅芙 attack,keypress(e),wait(0.01),keypress(2)
|
||||
芙宁娜 attack,e,wait(0.01),keypress(3)
|
||||
枫原万叶 attack,wait(0.3),click(middle),e(hold),attack,click(middle),attack,wait(0.7),keypress(Q),attack,wait(0.05)
|
||||
白术 e,keypress(1)
|
||||
15
repo/combat/龙芙万伊.txt
Normal file
@@ -0,0 +1,15 @@
|
||||
// 作者:火山
|
||||
// 描述: 大世界锄地
|
||||
// 版本: v1.0
|
||||
|
||||
// 1.更快检查战斗结束:【1】
|
||||
// 2.检查战斗结束的延时:【0.4;那维莱特,0.4;芙宁娜,伊涅芙;0.4,枫原万叶;0.5】
|
||||
// 3. 按键触发后检查延时: 【0.4】
|
||||
|
||||
|
||||
伊涅芙 e,attack(0.22),keypress(q),attack(0.1),keypress(q),wait(0.2),keypress(q),attack(0.22),keypress(q),attack(0.33)
|
||||
那维莱特 attack(0.23),e
|
||||
芙宁娜 e,attack(0.33),keypress(q),wait(0.2),keypress(q),wait(0.2),keypress(q)
|
||||
那维莱特 attack(0.08),keypress(q),wait(0.22),keypress(q),wait(0.2),keypress(q),e
|
||||
枫原万叶 e,attack(0.33)
|
||||
那维莱特 charge(3),j,wait(0.3)
|
||||
89
repo/js/1Remote_RDP_Autoreconnection/README.md
Normal file
@@ -0,0 +1,89 @@
|
||||
# 📋 日志监控与自动重连脚本说明
|
||||
|
||||
**作者:火山**
|
||||
|
||||
## 📌 功能介绍
|
||||
该脚本用于实时监控1Remote的日志文件,当检测到远程连接断开(日志中出现`OnRdpClientDisconnected`警告)时,自动执行重连操作,保障远程连接的稳定性。
|
||||
|
||||
### ⚡⚡⚡❗ 重要提醒:这不是JS脚本 ❗⚡⚡⚡
|
||||
### ⚡⚡⚡❗ 绝对不要不看完就直接运行 ❗⚡⚡⚡
|
||||
### ⚡⚡⚡❗ 再次强调:这不是可执行的JS脚本 ❗⚡⚡⚡
|
||||
|
||||
|
||||
## 🚀 环境要求
|
||||
- **操作系统**:Windows(脚本依赖Windows特定快捷键操作)
|
||||
- **Python版本**:Python 3.6及以上
|
||||
(检查方法:按下`Win+R`输入`cmd`,在命令行中执行`python --version`)
|
||||
|
||||
|
||||
## 🔧 安装依赖(重要!小白必看)
|
||||
1. **以管理员身份打开命令提示符(CMD)**:
|
||||
- 方法1:按下`Win + R`输入`cmd`,按住`Ctrl + Shift`同时点击「确定」
|
||||
- 方法2:开始菜单搜索「命令提示符」,右键选择「以管理员身份运行」
|
||||
|
||||
2. **执行安装命令**:
|
||||
在管理员CMD窗口中输入以下命令并回车,等待安装完成(出现`Successfully installed`字样即为成功):
|
||||
```
|
||||
pip install pyautogui watchdog
|
||||
```
|
||||
|
||||
|
||||
## 📂 文件说明
|
||||
| 文件名 | 作用描述 |
|
||||
|----------------------|--------------------------------------------------------------------------|
|
||||
| `log_monitor.py` | 核心监控程序,负责监控日志文件变化、检测断开事件并触发重连操作 |
|
||||
| `autoreconnection.py`| 重连操作脚本,通过模拟键盘快捷键(Win+D、Alt+M等)执行自动重连 |
|
||||
| `config.json` | 配置文件,存储1Remote日志文件所在目录(示例:`C:\...\1Remote-...\.logs`)|
|
||||
| `监控异常.txt` | 程序运行日志,记录操作过程、错误信息及重连状态(用于问题排查) |
|
||||
|
||||
|
||||
## 🔍 首次使用步骤
|
||||
1. 确保已安装Python 3.6及以上版本并完成依赖安装
|
||||
2. 双击运行`log_monitor.py`或在CMD中执行:
|
||||
```
|
||||
python log_monitor.py
|
||||
```
|
||||
3. 首次运行将引导配置日志目录:
|
||||
- 日志文件命名格式为 `1Remote.log_YYYYMMDD.md`(按日期生成)
|
||||
- 请输入1Remote日志所在目录的完整路径(例如 `.logs` 文件夹路径)
|
||||
|
||||
|
||||
## ⚙️ 配置说明
|
||||
配置信息存储在`config.json`中,格式如下:
|
||||
```json
|
||||
{
|
||||
"log_dir": "C:\\Users\\Administrator\\Desktop\\1Remote-1.2.0-net9-x64\\.logs"
|
||||
}
|
||||
```
|
||||
- **修改日志目录**:
|
||||
1. 运行`log_monitor.py`,程序会引导配置
|
||||
2. 或删除`config.json`后重新运行`log_monitor.py`,程序会重新引导配置
|
||||
|
||||
|
||||
## 🖥️ 使用方法
|
||||
1. 运行`log_monitor.py`后,程序将自动监控日志文件
|
||||
2. 当检测到连接断开时,自动执行以下操作(通过`autoreconnection.py`实现):
|
||||
- 按`Win+D`返回桌面
|
||||
- 按`Alt+M`组合键(按住Alt键后按M键,保持0.5秒后松开)
|
||||
- 连续按两次回车键(间隔0.3秒)
|
||||
3. 运行状态会同时显示在控制台和`监控异常.txt`中
|
||||
|
||||
|
||||
## ⚠️ 注意事项
|
||||
1. 确保1Remote程序正常运行且日志文件能正常生成(否则会提示"未找到日志文件")
|
||||
2. 脚本运行时会模拟键盘操作,建议避免手动操作鼠标键盘,以免干扰流程
|
||||
3. 重连逻辑:
|
||||
- 最多尝试3次重连,失败则暂停重试
|
||||
- 单次重连超时时间为30秒,20秒内未检测到成功标志会自动重试
|
||||
4. 支持跨天日志文件切换(因日志按日期命名)
|
||||
5. 所有操作记录(含错误信息)均保存在`监控异常.txt`,便于排查问题
|
||||
6. 确保Alt+M的1Remote快捷指令能够正常执行,建议先双击`autoreconnection.py`查看效果
|
||||
7. 确保Win+D的Windows快捷键能指向正确是显示器(双屏会多一步选择哪块屏幕的操作,建议问AI修改一下`autoreconnection.py`中的操作)
|
||||
|
||||
|
||||
## ❓ 常见问题
|
||||
| 问题现象 | 解决方法 |
|
||||
|---------------------------|--------------------------------------------------------------------------|
|
||||
| 提示"未找到日志文件" | 1. 检查`config.json`中日志目录是否正确<br>2. 确认1Remote已运行并生成当天日志(`1Remote.log_YYYYMMDD.md`) |
|
||||
| 重连操作无反应 | 1. 检查`autoreconnection.py`是否与`log_monitor.py`在同一目录<br>2. 手动测试快捷键(Win+D、Alt+M)是否有效<br>3. 重新执行管理员CMD下的依赖安装命令 |
|
||||
| 程序启动失败 | 1. 查看`监控异常.txt`获取错误详情<br>2. 检查Python版本是否符合要求(3.6及以上) |
|
||||
24
repo/js/1Remote_RDP_Autoreconnection/autoreconnection.py
Normal file
@@ -0,0 +1,24 @@
|
||||
import pyautogui
|
||||
import time
|
||||
|
||||
print("正在执行会话关闭后操作...")
|
||||
time.sleep(2)
|
||||
# 返回Windows桌面(Win+D)
|
||||
pyautogui.hotkey('winleft', 'd') # 更通用的Win+D组合键
|
||||
time.sleep(1) # 等待1秒
|
||||
|
||||
# 按下Alt+M键(半秒后松开)
|
||||
pyautogui.keyDown('alt') # 按住Alt键
|
||||
pyautogui.press('m') # 按M键
|
||||
time.sleep(0.5) # 精确等待0.5秒(半秒)
|
||||
pyautogui.keyUp('alt') # 松开Alt键
|
||||
pyautogui.keyUp('m') # 松开M键(确保按键无粘连)
|
||||
|
||||
time.sleep(0.1) # 等待0.1秒
|
||||
|
||||
# 按两次回车键,间隔0.3秒
|
||||
pyautogui.press('enter')
|
||||
time.sleep(0.3) # 等待0.3秒
|
||||
pyautogui.press('enter')
|
||||
|
||||
print("操作完成!")
|
||||
368
repo/js/1Remote_RDP_Autoreconnection/log_monitor.py
Normal file
@@ -0,0 +1,368 @@
|
||||
import os
|
||||
import sys
|
||||
import time
|
||||
import json
|
||||
import logging
|
||||
import subprocess
|
||||
from datetime import datetime
|
||||
from watchdog.observers import Observer
|
||||
from watchdog.events import FileSystemEventHandler
|
||||
|
||||
# 配置参数
|
||||
SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__))
|
||||
CONFIG_FILE = os.path.join(SCRIPT_DIR, "config.json")
|
||||
LOG_MONITOR_PATH = os.path.join(SCRIPT_DIR, "监控异常.txt")
|
||||
ENCODING = "utf-8"
|
||||
RECONNECT_SCRIPT_NAME = "autoreconnection.py"
|
||||
|
||||
# 创建日志目录(如果不存在)
|
||||
os.makedirs(SCRIPT_DIR, exist_ok=True)
|
||||
|
||||
# 初始化日志系统
|
||||
logging.basicConfig(
|
||||
filename=LOG_MONITOR_PATH,
|
||||
level=logging.INFO,
|
||||
format='%(asctime)s [%(levelname)s] %(message)s',
|
||||
datefmt='%Y-%m-%d %H:%M:%S'
|
||||
)
|
||||
# 同时输出到控制台
|
||||
console = logging.StreamHandler()
|
||||
console.setLevel(logging.INFO)
|
||||
formatter = logging.Formatter('%(asctime)s [%(levelname)s] %(message)s')
|
||||
console.setFormatter(formatter)
|
||||
logging.getLogger().addHandler(console)
|
||||
|
||||
# 记录状态
|
||||
last_position = 0
|
||||
processed_times = {}
|
||||
last_processed_date = None
|
||||
reconnect_count = 0
|
||||
current_log_file = None
|
||||
|
||||
# 重启验证相关变量
|
||||
reconnect_attempts = 0 # 当前重启尝试次数
|
||||
max_reconnect_attempts = 3 # 最大尝试次数
|
||||
reconnect_in_progress = False # 标记是否有重启操作正在进行
|
||||
reconnect_start_time = 0 # 重启开始时间戳
|
||||
reconnect_success_detected = False # 是否检测到成功重启的日志
|
||||
|
||||
def configure_log_directory():
|
||||
"""引导用户配置日志目录"""
|
||||
print("="*50)
|
||||
print("日志监控程序配置")
|
||||
print("="*50)
|
||||
print("请指定1Remote日志文件所在的目录")
|
||||
print("日志文件命名格式为: 1Remote.log_YYYYMMDD.md")
|
||||
print("="*50)
|
||||
|
||||
while True:
|
||||
log_dir = input("请输入日志目录完整路径: ").strip()
|
||||
|
||||
# 验证路径是否存在
|
||||
if not os.path.exists(log_dir):
|
||||
print(f"错误: 路径不存在 - {log_dir}")
|
||||
continue
|
||||
|
||||
# 验证是否是目录
|
||||
if not os.path.isdir(log_dir):
|
||||
print(f"错误: 这不是一个目录 - {log_dir}")
|
||||
continue
|
||||
|
||||
# 验证目录中是否有日志文件
|
||||
log_files = [f for f in os.listdir(log_dir)
|
||||
if f.startswith("1Remote.log_") and f.endswith(".md")]
|
||||
|
||||
if not log_files:
|
||||
print(f"警告: 目录中没有找到日志文件 - {log_dir}")
|
||||
choice = input("是否继续使用此目录? (y/n): ").strip().lower()
|
||||
if choice != 'y':
|
||||
continue
|
||||
|
||||
return log_dir
|
||||
|
||||
def load_config():
|
||||
"""从配置文件加载日志目录"""
|
||||
if not os.path.exists(CONFIG_FILE):
|
||||
return None
|
||||
|
||||
try:
|
||||
with open(CONFIG_FILE, 'r', encoding=ENCODING) as f:
|
||||
config = json.load(f)
|
||||
log_dir = config.get('log_dir')
|
||||
|
||||
# 验证目录是否存在
|
||||
if not os.path.isdir(log_dir):
|
||||
logging.error(f"配置文件中的目录不存在: {log_dir}")
|
||||
return None
|
||||
|
||||
return log_dir
|
||||
|
||||
except (json.JSONDecodeError, UnicodeDecodeError):
|
||||
logging.error("配置文件损坏,请重新配置")
|
||||
return None
|
||||
except Exception as e:
|
||||
logging.error(f"加载配置失败: {str(e)}")
|
||||
return None
|
||||
|
||||
def save_config(log_dir):
|
||||
"""保存日志目录到配置文件"""
|
||||
config = {'log_dir': log_dir}
|
||||
try:
|
||||
with open(CONFIG_FILE, 'w', encoding=ENCODING) as f:
|
||||
json.dump(config, f, ensure_ascii=False, indent=4)
|
||||
logging.info(f"配置已保存到: {CONFIG_FILE}")
|
||||
return True
|
||||
except Exception as e:
|
||||
logging.error(f"保存配置失败: {str(e)}")
|
||||
return False
|
||||
|
||||
def get_today_log_file(log_dir):
|
||||
"""获取指定目录下当天的日志文件"""
|
||||
today = datetime.now().strftime("%Y%m%d")
|
||||
file_pattern = f"1Remote.log_{today}.md"
|
||||
|
||||
# 查找符合日期模式的文件
|
||||
for entry in os.scandir(log_dir):
|
||||
if entry.is_file() and entry.name == file_pattern:
|
||||
return entry.path
|
||||
|
||||
return None
|
||||
|
||||
def execute_reconnect():
|
||||
"""执行重连操作"""
|
||||
global reconnect_count, reconnect_attempts, reconnect_in_progress, reconnect_start_time, reconnect_success_detected
|
||||
|
||||
# 如果已经达到最大尝试次数,重置并返回失败
|
||||
if reconnect_attempts >= max_reconnect_attempts:
|
||||
logging.warning(f"【达到最大重试次数】已尝试{max_reconnect_attempts}次重启,停止重试")
|
||||
reconnect_attempts = 0
|
||||
reconnect_in_progress = False
|
||||
return False
|
||||
|
||||
try:
|
||||
reconnect_script_path = os.path.join(SCRIPT_DIR, RECONNECT_SCRIPT_NAME)
|
||||
|
||||
# 记录开始时间
|
||||
start_time = time.time()
|
||||
# 调用外部重启脚本
|
||||
result = subprocess.run(
|
||||
[sys.executable, reconnect_script_path],
|
||||
check=True,
|
||||
capture_output=True,
|
||||
text=True,
|
||||
timeout=30
|
||||
)
|
||||
# 计算耗时
|
||||
elapsed = time.time() - start_time
|
||||
|
||||
# 重置成功标记,设置重启状态
|
||||
reconnect_success_detected = False
|
||||
reconnect_in_progress = True
|
||||
reconnect_start_time = time.time()
|
||||
reconnect_attempts += 1
|
||||
reconnect_count += 1
|
||||
|
||||
logging.info(f"【重启尝试 {reconnect_attempts}/{max_reconnect_attempts}】执行成功,耗时:{elapsed:.2f}s,总重启次数:{reconnect_count}")
|
||||
return True
|
||||
except subprocess.CalledProcessError as e:
|
||||
logging.error(f"【重启失败】错误代码:{e.returncode}\nstdout: {e.stdout.strip()}\nstderr: {e.stderr.strip()}")
|
||||
except FileNotFoundError:
|
||||
logging.error(f"【重启失败】未找到重启脚本:{reconnect_script_path}")
|
||||
except subprocess.TimeoutExpired:
|
||||
logging.error(f"【重启失败】执行超时(超过30秒)")
|
||||
except Exception as e:
|
||||
logging.error(f"【重启异常】未知错误:{str(e)}", exc_info=True)
|
||||
|
||||
reconnect_attempts += 1
|
||||
logging.warning(f"【重启尝试 {reconnect_attempts}/{max_reconnect_attempts}】失败")
|
||||
return False
|
||||
|
||||
def process_log_line(line):
|
||||
"""处理日志行并检查是否需要重启及重启是否成功"""
|
||||
global last_position, processed_times, reconnect_in_progress, reconnect_success_detected, reconnect_attempts
|
||||
|
||||
# 检查是否是重启成功的标志日志
|
||||
if reconnect_in_progress and 'Warning' in line and '[AxMsRdpClient09Host.cs(ReConn:42)]' in line and 'RDP Host: Call ReConn' in line:
|
||||
logging.info(f"【重启成功验证】检测到成功标志: {line}")
|
||||
reconnect_success_detected = True
|
||||
reconnect_in_progress = False
|
||||
reconnect_attempts = 0 # 重置尝试次数
|
||||
return True
|
||||
|
||||
# 原有逻辑:检查是否需要重启
|
||||
if 'Warning' in line:
|
||||
if 'OnRdpClientDisconnected' in line and not reconnect_in_progress:
|
||||
logging.warning(f"【触发重启】{line}")
|
||||
return execute_reconnect()
|
||||
elif 'ReConn:42' in line:
|
||||
logging.info(f"【忽略信号】{line}")
|
||||
else:
|
||||
logging.info(f"【未知警告】{line}")
|
||||
|
||||
# 时间戳处理
|
||||
try:
|
||||
if '[' in line and ']' in line:
|
||||
timestamp_str = line.split(']')[0][1:]
|
||||
log_time = datetime.strptime(timestamp_str, "%H:%M:%S.%f").time()
|
||||
|
||||
time_key = timestamp_str.replace(':', '').replace('.', '')
|
||||
if time_key not in processed_times:
|
||||
processed_times[time_key] = True
|
||||
logging.info(f"【新警告记录】{line}")
|
||||
except ValueError:
|
||||
logging.error(f"【无效时间戳】{line}")
|
||||
|
||||
return False
|
||||
|
||||
def monitor_log_file(log_file):
|
||||
"""监控指定的日志文件"""
|
||||
global last_position, processed_times, last_processed_date
|
||||
|
||||
try:
|
||||
# 检查是否为新的一天
|
||||
current_date = datetime.now().date()
|
||||
if current_date != last_processed_date:
|
||||
processed_times.clear()
|
||||
last_processed_date = current_date
|
||||
logging.info(f"【新的一天】开始监控{current_date}的日志文件")
|
||||
|
||||
# 获取文件大小
|
||||
file_size = os.path.getsize(log_file)
|
||||
|
||||
# 从上次结束位置读取新内容
|
||||
with open(log_file, 'r', encoding=ENCODING) as f:
|
||||
if file_size < last_position:
|
||||
logging.warning("【文件被截断或重置】重新从头开始读取")
|
||||
f.seek(0)
|
||||
else:
|
||||
f.seek(last_position)
|
||||
new_lines = f.read().splitlines()
|
||||
|
||||
# 处理新增内容
|
||||
for line in new_lines:
|
||||
process_log_line(line)
|
||||
|
||||
# 更新最后读取位置
|
||||
last_position = file_size
|
||||
|
||||
except Exception as e:
|
||||
logging.error(f"【监控异常】{str(e)}", exc_info=True)
|
||||
|
||||
class LogFileHandler(FileSystemEventHandler):
|
||||
"""处理日志文件变化事件"""
|
||||
def __init__(self, log_dir):
|
||||
self.log_dir = log_dir
|
||||
|
||||
def on_modified(self, event):
|
||||
global current_log_file
|
||||
|
||||
if not event.is_directory:
|
||||
# 检查是否是当天日志文件
|
||||
today_file = get_today_log_file(self.log_dir)
|
||||
if today_file and event.src_path == today_file:
|
||||
monitor_log_file(today_file)
|
||||
|
||||
def start_monitoring(log_dir):
|
||||
"""启动日志监控(静默等待日志文件生成)"""
|
||||
global current_log_file, last_position, reconnect_in_progress, reconnect_start_time, reconnect_success_detected, reconnect_attempts
|
||||
|
||||
# 验证监控目录是否有效(仅在启动时检查一次)
|
||||
if not os.path.isdir(log_dir):
|
||||
logging.error(f"【错误】监控目录不存在或无效: {log_dir}")
|
||||
return False
|
||||
|
||||
try:
|
||||
while True: # 外层循环:处理跨天切换
|
||||
# 静默等待当天日志文件生成(每5秒检查一次)
|
||||
while True:
|
||||
current_log_file = get_today_log_file(log_dir)
|
||||
if current_log_file:
|
||||
logging.info(f"【找到日志文件】开始监控: {current_log_file}")
|
||||
last_position = os.path.getsize(current_log_file) # 初始化读取位置
|
||||
break
|
||||
# 无日志文件时不输出错误,仅静默等待
|
||||
time.sleep(5)
|
||||
|
||||
# 创建事件处理器和观察器
|
||||
event_handler = LogFileHandler(log_dir)
|
||||
observer = Observer()
|
||||
observer.schedule(event_handler, path=log_dir, recursive=False)
|
||||
observer.start()
|
||||
|
||||
# 监控循环:每1秒检查一次是否跨天或重启超时
|
||||
try:
|
||||
while True:
|
||||
# 检查重启超时
|
||||
if reconnect_in_progress:
|
||||
elapsed_time = time.time() - reconnect_start_time
|
||||
if elapsed_time > 20: # 超过20秒
|
||||
if not reconnect_success_detected:
|
||||
logging.warning(f"【重启验证超时】20秒内未检测到成功标志,尝试重新启动")
|
||||
# 停止当前监控,准备重试
|
||||
observer.stop()
|
||||
observer.join()
|
||||
|
||||
# 如果未达到最大尝试次数,重新执行重启
|
||||
if reconnect_attempts < max_reconnect_attempts:
|
||||
execute_reconnect()
|
||||
else:
|
||||
# 达到最大尝试次数,重置状态
|
||||
reconnect_in_progress = False
|
||||
reconnect_attempts = 0
|
||||
|
||||
# 重新启动监控
|
||||
event_handler = LogFileHandler(log_dir)
|
||||
observer = Observer()
|
||||
observer.schedule(event_handler, path=log_dir, recursive=False)
|
||||
observer.start()
|
||||
else:
|
||||
# 已检测到成功标志,重置状态
|
||||
reconnect_in_progress = False
|
||||
|
||||
# 检查是否跨天
|
||||
today_file = get_today_log_file(log_dir)
|
||||
if today_file != current_log_file:
|
||||
# 跨天:停止当前监控,进入外层循环等待新文件
|
||||
observer.stop()
|
||||
observer.join()
|
||||
logging.info(f"【跨天切换】当前日志文件已过期,等待新日志文件...")
|
||||
break
|
||||
|
||||
time.sleep(1) # 缩短检查间隔为1秒,提高响应速度
|
||||
except KeyboardInterrupt:
|
||||
observer.stop()
|
||||
observer.join()
|
||||
return True
|
||||
observer.join()
|
||||
except Exception as e:
|
||||
logging.error(f"【监控异常】{str(e)}", exc_info=True)
|
||||
return False
|
||||
|
||||
if __name__ == "__main__":
|
||||
print("="*50)
|
||||
print("日志监控程序")
|
||||
print("作者:火山")
|
||||
print("="*50)
|
||||
|
||||
# 尝试加载配置
|
||||
log_watch_dir = load_config()
|
||||
|
||||
if not log_watch_dir:
|
||||
log_watch_dir = configure_log_directory()
|
||||
if not save_config(log_watch_dir):
|
||||
print("配置保存失败,程序退出")
|
||||
sys.exit(1)
|
||||
|
||||
print("="*50)
|
||||
print(f"监控目录: {log_watch_dir}")
|
||||
# 修改状态提示文本,更准确反映程序状态
|
||||
print("正在监控中(等待当天日志文件生成)...")
|
||||
|
||||
try:
|
||||
start_monitoring(log_watch_dir)
|
||||
print("监控已成功启动")
|
||||
print("作者:火山")
|
||||
except Exception as e:
|
||||
logging.error(f"【启动失败】{str(e)}", exc_info=True)
|
||||
print(f"监控启动失败: {str(e)}")
|
||||
print("请检查错误日志: 监控异常.txt")
|
||||
3
repo/js/1Remote_RDP_Autoreconnection/main.js
Normal file
@@ -0,0 +1,3 @@
|
||||
(async function () {
|
||||
log.error("你不应该这样运行这个脚本。请阅读 README.md 以了解如何正确使用它。");
|
||||
})();
|
||||
15
repo/js/1Remote_RDP_Autoreconnection/manifest.json
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"manifest_version": 1,
|
||||
"name": "1Remote RDP 自动重连",
|
||||
"version": "1.0",
|
||||
"bgi_version": "0.39.1",
|
||||
"description": "用于自动重连远程桌面连接的脚本。\n在连接断开时自动尝试重新连接。",
|
||||
"authors": [
|
||||
{
|
||||
"name": "火山",
|
||||
"links": "https://github.com/RRRR623"
|
||||
}
|
||||
],
|
||||
"settings_ui": "settings.json",
|
||||
"main": "main.js"
|
||||
}
|
||||
9
repo/js/AAA-Artifacts-Bulk-Supply/README.md
Normal file
@@ -0,0 +1,9 @@
|
||||
测试版本,暂时没空写readme,发现bug请超市作者qq:718135749
|
||||
|
||||
可能存在各种bug,仅建议愿意参与测试的用户使用,使用时请联系作者,并反馈遇到的bug
|
||||
|
||||
如果你只是想要获取狗粮,请使用自动狗粮加强版
|
||||
|
||||
## 更新日志
|
||||
### 0.0.6(2025.08.13)
|
||||
1.修复"99强制黑芙"路线摔死bug
|
||||
@@ -2,14 +2,20 @@
|
||||
"info": {
|
||||
"name": "305【激活程序】稻妻-踏鞴砂狸猫炸药桶",
|
||||
"type": "collect",
|
||||
"author": "汐",
|
||||
"version": "",
|
||||
"description": "",
|
||||
"map_name": "Teyvat",
|
||||
"bgi_version": "0.45.0",
|
||||
"tags": [],
|
||||
"last_modified_time": 1751978132905,
|
||||
"enable_monster_loot_split": false
|
||||
"last_modified_time": 1754247254965,
|
||||
"enable_monster_loot_split": false,
|
||||
"authors": [
|
||||
{
|
||||
"name": "汐",
|
||||
"links": ""
|
||||
}
|
||||
],
|
||||
"map_match_method": ""
|
||||
},
|
||||
"positions": [
|
||||
{
|
||||
@@ -35,26 +41,26 @@
|
||||
"y": -3624.4377576853785,
|
||||
"action": "combat_script",
|
||||
"move_mode": "run",
|
||||
"action_params": "wait(0.5);芙宁娜 e;",
|
||||
"action_params": "wait(0.5)",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"x": -3281.05859375,
|
||||
"y": -3634.79296875,
|
||||
"type": "path",
|
||||
"move_mode": "run",
|
||||
"action": "",
|
||||
"action_params": ""
|
||||
"move_mode": "run",
|
||||
"action_params": "",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"x": -3277.718736174709,
|
||||
"y": -3639.7502122114893,
|
||||
"type": "target",
|
||||
"move_mode": "run",
|
||||
"action": "combat_script",
|
||||
"action_params": "attack(0.5),s(1)"
|
||||
"move_mode": "run",
|
||||
"action_params": "attack(0.5),s(1)",
|
||||
"type": "target"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,374 @@
|
||||
{
|
||||
"info": {
|
||||
"name": "305【收尾】稻妻-踏鞴砂①-10",
|
||||
"type": "collect",
|
||||
"authors": [
|
||||
{
|
||||
"name": "汐",
|
||||
"links": ""
|
||||
}
|
||||
],
|
||||
"version": "",
|
||||
"description": "",
|
||||
"map_name": "Teyvat",
|
||||
"bgi_version": "0.45.0",
|
||||
"tags": [],
|
||||
"last_modified_time": 1754933688009,
|
||||
"enable_monster_loot_split": false,
|
||||
"map_match_method": ""
|
||||
},
|
||||
"positions": [
|
||||
{
|
||||
"id": 1,
|
||||
"x": -3288.212890625,
|
||||
"y": -3652.501953125,
|
||||
"action": "",
|
||||
"move_mode": "walk",
|
||||
"type": "teleport"
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"x": -3339.06252765058,
|
||||
"y": -3654.374878736293,
|
||||
"action": "stop_flying",
|
||||
"move_mode": "fly",
|
||||
"action_params": "1500",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"x": -3339.06252765058,
|
||||
"y": -3654.374878736293,
|
||||
"action": "combat_script",
|
||||
"move_mode": "walk",
|
||||
"action_params": "keypress(f);芙宁娜 attack(0.08),e;迪希雅 attack(0.08),e;",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"x": -3341.937413098176,
|
||||
"y": -3648.562742527416,
|
||||
"action": "combat_script",
|
||||
"move_mode": "dash",
|
||||
"action_params": "keypress(f);芙宁娜 attack(0.08),e;迪希雅 attack(0.08),e;",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"x": -3343.33984375,
|
||||
"y": -3646.544921875,
|
||||
"action": "combat_script",
|
||||
"move_mode": "dash",
|
||||
"action_params": "keypress(f),wait(0.3),keypress(f),wait(0.3),keypress(f),keypress(f),wait(0.3),keypress(f),wait(0.3),keypress(f),wait(0.3),keypress(f),wait(0.3),keypress(f),attack(0.08);万叶 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"
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"x": -3353.5302734375,
|
||||
"y": -3635.3193359375,
|
||||
"action": "",
|
||||
"move_mode": "dash",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"x": -3327.880859375,
|
||||
"y": -3593.2880859375,
|
||||
"action": "",
|
||||
"move_mode": "dash",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 8,
|
||||
"x": -3314.812369647263,
|
||||
"y": -3574.6883488459534,
|
||||
"action": "combat_script",
|
||||
"move_mode": "dash",
|
||||
"action_params": "keypress(f);迪希雅 e;芙宁娜 e;",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 9,
|
||||
"x": -3309.0517578125,
|
||||
"y": -3574.232421875,
|
||||
"action": "",
|
||||
"move_mode": "walk",
|
||||
"action_params": "",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 10,
|
||||
"x": -3299.677734375,
|
||||
"y": -3571.083984375,
|
||||
"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);万叶 attack(0.08),keydown(E),wait(0.7),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);",
|
||||
"type": "target"
|
||||
},
|
||||
{
|
||||
"id": 11,
|
||||
"x": -3254.1064453125,
|
||||
"y": -3586.794921875,
|
||||
"action": "",
|
||||
"move_mode": "dash",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 12,
|
||||
"x": -3250.7998046875,
|
||||
"y": -3584.033203125,
|
||||
"action": "combat_script",
|
||||
"move_mode": "climb",
|
||||
"action_params": "keypress(f),w(0.3),keypress(f),s(0.2);万叶 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);s(0.5),keypress(f)",
|
||||
"type": "target"
|
||||
},
|
||||
{
|
||||
"id": 13,
|
||||
"x": -3288.212890625,
|
||||
"y": -3652.501953125,
|
||||
"action": "",
|
||||
"move_mode": "walk",
|
||||
"type": "teleport"
|
||||
},
|
||||
{
|
||||
"id": 14,
|
||||
"x": -3269.974609375,
|
||||
"y": -3647.1337890625,
|
||||
"action": "combat_script",
|
||||
"move_mode": "dash",
|
||||
"action_params": "keypress(f);芙宁娜 attack(0.08),e;",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 15,
|
||||
"x": -3275.4687756755393,
|
||||
"y": -3643.0312272630545,
|
||||
"action": "combat_script",
|
||||
"move_mode": "dash",
|
||||
"action_params": "keypress(f),wait(0.2),keypress(f),keypress(q),wait(0.3),keypress(q),keypress(1),wait(0.5),keypress(q),wait(0.7),keypress(2),wait(0.5),keypress(q),wait(0.7),keypress(3),wait(0.5),keypress(q),wait(0.7),keypress(4),wait(0.5),keypress(q),attack(0.3)",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 16,
|
||||
"x": -3276.6259765625,
|
||||
"y": -3642.130859375,
|
||||
"action": "combat_script",
|
||||
"move_mode": "climb",
|
||||
"action_params": "keypress(f),w(0.2),keypress(f),w(0.2),keypress(f),wait(0.2),keypress(x),wait(0.2),keypress(x);芙宁娜 e;",
|
||||
"type": "target"
|
||||
},
|
||||
{
|
||||
"id": 17,
|
||||
"x": -3259.7021484375,
|
||||
"y": -3640.80078125,
|
||||
"action": "combat_script",
|
||||
"move_mode": "dash",
|
||||
"action_params": "keypress(x),w(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);",
|
||||
"type": "orientation"
|
||||
},
|
||||
{
|
||||
"id": 18,
|
||||
"x": -3259.7021484375,
|
||||
"y": -3640.80078125,
|
||||
"action": "",
|
||||
"move_mode": "dash",
|
||||
"action_params": "",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 19,
|
||||
"x": -3261.4375158003313,
|
||||
"y": -3644.687545473891,
|
||||
"action": "combat_script",
|
||||
"move_mode": "climb",
|
||||
"action_params": "keypress(f),wait(0.2),keypress(f),w(0.4),keypress(f),d(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);",
|
||||
"type": "target"
|
||||
},
|
||||
{
|
||||
"id": 20,
|
||||
"x": -3243.9580078125,
|
||||
"y": -3651.015625,
|
||||
"action": "",
|
||||
"move_mode": "dash",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 21,
|
||||
"x": -3240.224609375,
|
||||
"y": -3647.794921875,
|
||||
"action": "combat_script",
|
||||
"move_mode": "climb",
|
||||
"action_params": "keypress(f),wait(0.2),keypress(f),wait(0.2),keypress(f),",
|
||||
"type": "target"
|
||||
},
|
||||
{
|
||||
"id": 22,
|
||||
"x": -3207.0937282745435,
|
||||
"y": -3605.2187575789812,
|
||||
"action": "stop_flying",
|
||||
"move_mode": "fly",
|
||||
"action_params": "",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 23,
|
||||
"x": -3209.1249407487558,
|
||||
"y": -3605.0312651579625,
|
||||
"action": "combat_script",
|
||||
"move_mode": "climb",
|
||||
"action_params": "keypress(f),wait(0.2),keypress(f),wait(0.2),keypress(f),",
|
||||
"type": "target"
|
||||
},
|
||||
{
|
||||
"id": 24,
|
||||
"x": -3211.2186848236324,
|
||||
"y": -3604.0311514732384,
|
||||
"action": "combat_script",
|
||||
"move_mode": "walk",
|
||||
"action_params": "keypress(x),wait(0.2),keypress(x),wait(0.2),keypress(x);万叶 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": "path"
|
||||
},
|
||||
{
|
||||
"id": 25,
|
||||
"x": -3204.3408203125,
|
||||
"y": -3612.4697265625,
|
||||
"action": "",
|
||||
"move_mode": "dash",
|
||||
"action_params": "",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 26,
|
||||
"x": -3206.375019750414,
|
||||
"y": -3616.3125530528723,
|
||||
"action": "combat_script",
|
||||
"move_mode": "walk",
|
||||
"action_params": "keypress(f),wait(0.2),keypress(f),wait(0.2),keypress(f)",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 27,
|
||||
"x": -3184.311755409366,
|
||||
"y": -3623.816350122719,
|
||||
"action": "",
|
||||
"move_mode": "fly",
|
||||
"action_params": "",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 28,
|
||||
"x": -3191.3437756755393,
|
||||
"y": -3652.6249014732384,
|
||||
"action": "combat_script",
|
||||
"move_mode": "dash",
|
||||
"action_params": "keypress(f),wait(0.2),keypress(f),wait(0.2),keypress(f),",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 29,
|
||||
"x": -3196.6876086272805,
|
||||
"y": -3639.999916631201,
|
||||
"action": "",
|
||||
"move_mode": "dash",
|
||||
"action_params": "",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 30,
|
||||
"x": -3207.73828125,
|
||||
"y": -3615.6455078125,
|
||||
"action": "stop_flying",
|
||||
"move_mode": "fly",
|
||||
"action_params": "",
|
||||
"type": "target"
|
||||
},
|
||||
{
|
||||
"id": 31,
|
||||
"x": -3205.7812341996687,
|
||||
"y": -3613.9063030528723,
|
||||
"action": "combat_script",
|
||||
"move_mode": "climb",
|
||||
"action_params": "keypress(f),w(0.3),keypress(f),w(0.4),keypress(f),keypress(x);万叶 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"
|
||||
},
|
||||
{
|
||||
"id": 32,
|
||||
"x": -3204.873046875,
|
||||
"y": -3615.0595703125,
|
||||
"action": "combat_script",
|
||||
"move_mode": "walk",
|
||||
"action_params": "keypress(f),w(0.2),keypress(f)",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 33,
|
||||
"x": -3156.5830078125,
|
||||
"y": -3886.0986328125,
|
||||
"action": "",
|
||||
"move_mode": "walk",
|
||||
"type": "teleport"
|
||||
},
|
||||
{
|
||||
"id": 34,
|
||||
"x": -3167.8095703125,
|
||||
"y": -3846.962890625,
|
||||
"action": "",
|
||||
"move_mode": "run",
|
||||
"action_params": "",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 35,
|
||||
"x": -3170.9267578125,
|
||||
"y": -3836.5341796875,
|
||||
"action": "combat_script",
|
||||
"move_mode": "fly",
|
||||
"action_params": "wait(0.3),keypress(VK_SPACE),wait(2.4),keypress(VK_SPACE)",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 36,
|
||||
"x": -3149.3564453125,
|
||||
"y": -3837.0224609375,
|
||||
"action": "stop_flying",
|
||||
"move_mode": "fly",
|
||||
"action_params": "",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 37,
|
||||
"x": -3152.970703125,
|
||||
"y": -3831.783203125,
|
||||
"action": "combat_script",
|
||||
"move_mode": "climb",
|
||||
"action_params": "keypress(f),wait(0.2),keypress(f),wait(0.2),keypress(f),s(0.2);万叶 attack(0.08),keydown(E),wait(0.51),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);",
|
||||
"type": "target"
|
||||
},
|
||||
{
|
||||
"id": 38,
|
||||
"x": -3148.46875,
|
||||
"y": -3831.75,
|
||||
"action": "",
|
||||
"move_mode": "walk",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 39,
|
||||
"x": -3142.8437954259534,
|
||||
"y": -3831.1875075789812,
|
||||
"action": "combat_script",
|
||||
"move_mode": "jump",
|
||||
"action_params": "keydown(w),wait(0.1),dash,wait(0.3),attack(0.22),j,wait(0.35),keyup(w),wait(0.25),j;万叶 attack(0.08),keydown(E),wait(0.8),keyup(E),wait(0.5),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);",
|
||||
"type": "orientation"
|
||||
},
|
||||
{
|
||||
"id": 40,
|
||||
"x": -3143.875,
|
||||
"y": -3831.3125442661585,
|
||||
"action": "combat_script",
|
||||
"move_mode": "climb",
|
||||
"action_params": "keypress(f),wait(0.2),keypress(f),j,keypress(f)",
|
||||
"type": "target"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -13,7 +13,7 @@
|
||||
"map_name": "Teyvat",
|
||||
"bgi_version": "0.45.0",
|
||||
"tags": [],
|
||||
"last_modified_time": 1753627439727,
|
||||
"last_modified_time": 1753806804156,
|
||||
"enable_monster_loot_split": false
|
||||
},
|
||||
"positions": [
|
||||
@@ -73,7 +73,7 @@
|
||||
"y": -3727.2812389334613,
|
||||
"action": "combat_script",
|
||||
"move_mode": "dash",
|
||||
"action_params": "keypress(f),wait(0.2),keypress(f),wait(0.2),keypress(f),s(0.15);万叶 attack(0.08),keydown(E),wait(0.48),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),s(0.15);万叶 attack(0.08),keydown(E),wait(0.48),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"
|
||||
},
|
||||
{
|
||||
@@ -0,0 +1,482 @@
|
||||
{
|
||||
"info": {
|
||||
"name": "305【收尾】稻妻-踏鞴砂③-8",
|
||||
"type": "collect",
|
||||
"authors": [
|
||||
{
|
||||
"name": "汐",
|
||||
"links": ""
|
||||
}
|
||||
],
|
||||
"version": "",
|
||||
"description": "",
|
||||
"map_name": "Teyvat",
|
||||
"bgi_version": "0.45.0",
|
||||
"tags": [],
|
||||
"last_modified_time": 1754840871498,
|
||||
"enable_monster_loot_split": false,
|
||||
"map_match_method": ""
|
||||
},
|
||||
"positions": [
|
||||
{
|
||||
"id": 1,
|
||||
"x": -3156.5849609375,
|
||||
"y": -3886.06640625,
|
||||
"action": "",
|
||||
"move_mode": "walk",
|
||||
"type": "teleport"
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"x": -3139.6357421875,
|
||||
"y": -3873.5673828125,
|
||||
"action": "",
|
||||
"move_mode": "run",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"x": -3118.478515625,
|
||||
"y": -3801.2685546875,
|
||||
"action": "",
|
||||
"move_mode": "run",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"x": -3129.3125355507473,
|
||||
"y": -3750.688652005223,
|
||||
"action": "combat_script",
|
||||
"move_mode": "dash",
|
||||
"action_params": "wait(1)",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"x": -3141.124845946768,
|
||||
"y": -3739.3142583237604,
|
||||
"action": "stop_flying",
|
||||
"move_mode": "fly",
|
||||
"action_params": "",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"x": -3131.21484375,
|
||||
"y": -3748.0302734375,
|
||||
"action": "",
|
||||
"move_mode": "fly",
|
||||
"action_params": "",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"x": -3122.8750158003313,
|
||||
"y": -3745.188409477807,
|
||||
"action": "combat_script",
|
||||
"move_mode": "fly",
|
||||
"action_params": "wait(0.3),j,wait(1),j",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 8,
|
||||
"x": -3122.7138671875,
|
||||
"y": -3735.26171875,
|
||||
"action": "stop_flying",
|
||||
"move_mode": "fly",
|
||||
"action_params": "",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 9,
|
||||
"x": -3121.3369140625,
|
||||
"y": -3730.5302734375,
|
||||
"action": "combat_script",
|
||||
"move_mode": "dash",
|
||||
"action_params": "keypress(f),wait(0.2),keypress(f),wait(0.2),keypress(f),",
|
||||
"type": "target"
|
||||
},
|
||||
{
|
||||
"id": 10,
|
||||
"x": -3119.4423828125,
|
||||
"y": -3733.85546875,
|
||||
"action": "combat_script",
|
||||
"move_mode": "walk",
|
||||
"action_params": "keypress(f);芙宁娜 e;玛薇卡 e;爱可菲 e;钟离 a(0.1),e(hold);茜特菈莉 e;莱依拉 e;",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 11,
|
||||
"x": -3115.250039500832,
|
||||
"y": -3726.437697053525,
|
||||
"action": "",
|
||||
"move_mode": "walk",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 12,
|
||||
"x": -3115.0478515625,
|
||||
"y": -3724.44921875,
|
||||
"action": "combat_script",
|
||||
"move_mode": "climb",
|
||||
"action_params": "keypress(f),wait(0.2),keypress(f),wait(0.2),keypress(f),",
|
||||
"type": "target"
|
||||
},
|
||||
{
|
||||
"id": 13,
|
||||
"x": -3115.0478515625,
|
||||
"y": -3724.44921875,
|
||||
"action": "combat_script",
|
||||
"move_mode": "walk",
|
||||
"action_params": "wait(0.2),keypress(x);万叶 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": "path"
|
||||
},
|
||||
{
|
||||
"id": 14,
|
||||
"x": -3111.843710499168,
|
||||
"y": -3721.594098633159,
|
||||
"action": "",
|
||||
"move_mode": "walk",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 15,
|
||||
"x": -3118.3515625,
|
||||
"y": -3718.111328125,
|
||||
"action": "",
|
||||
"move_mode": "dash",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 16,
|
||||
"x": -3121.8466796875,
|
||||
"y": -3714.3076171875,
|
||||
"action": "",
|
||||
"move_mode": "walk",
|
||||
"action_params": "",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 17,
|
||||
"x": -3130.271484375,
|
||||
"y": -3716.8935546875,
|
||||
"action": "",
|
||||
"move_mode": "walk",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 18,
|
||||
"x": -3152.326171875,
|
||||
"y": -3719.087890625,
|
||||
"action": "stop_flying",
|
||||
"move_mode": "fly",
|
||||
"action_params": "",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 19,
|
||||
"x": -3153.703125,
|
||||
"y": -3718.9189453125,
|
||||
"action": "",
|
||||
"move_mode": "walk",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 20,
|
||||
"x": -3160.8124012479275,
|
||||
"y": -3714.063098739556,
|
||||
"action": "",
|
||||
"move_mode": "dash",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 21,
|
||||
"x": -3161.1396484375,
|
||||
"y": -3710.4248046875,
|
||||
"action": "",
|
||||
"move_mode": "climb",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 22,
|
||||
"x": -3160.154296875,
|
||||
"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.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"
|
||||
},
|
||||
{
|
||||
"id": 23,
|
||||
"x": -3158.5634765625,
|
||||
"y": -3705.626953125,
|
||||
"action": "",
|
||||
"move_mode": "climb",
|
||||
"action_params": "",
|
||||
"type": "orientation"
|
||||
},
|
||||
{
|
||||
"id": 24,
|
||||
"x": -3160.154296875,
|
||||
"y": -3704.4833984375,
|
||||
"action": "",
|
||||
"move_mode": "climb",
|
||||
"action_params": "",
|
||||
"type": "target"
|
||||
},
|
||||
{
|
||||
"id": 25,
|
||||
"x": -3158.5634765625,
|
||||
"y": -3705.626953125,
|
||||
"action": "",
|
||||
"move_mode": "climb",
|
||||
"action_params": "",
|
||||
"type": "target"
|
||||
},
|
||||
{
|
||||
"id": 26,
|
||||
"x": -3164.5205078125,
|
||||
"y": -3704.9482421875,
|
||||
"action": "",
|
||||
"move_mode": "climb",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 27,
|
||||
"x": -3161.3525390625,
|
||||
"y": -3699.8525390625,
|
||||
"action": "",
|
||||
"move_mode": "climb",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 28,
|
||||
"x": -3158.00390625,
|
||||
"y": -3695.9306640625,
|
||||
"action": "",
|
||||
"move_mode": "walk",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 29,
|
||||
"x": -3154.5517578125,
|
||||
"y": -3688.9306640625,
|
||||
"action": "",
|
||||
"move_mode": "run",
|
||||
"action_params": "",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 30,
|
||||
"x": -3154.5517578125,
|
||||
"y": -3688.9306640625,
|
||||
"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),wait(0.2),keypress(f),wait(0.2),keypress(f),s(0.15);万叶 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"
|
||||
},
|
||||
{
|
||||
"id": 31,
|
||||
"x": -3152.7500158003313,
|
||||
"y": -3698.31262884269,
|
||||
"action": "combat_script",
|
||||
"move_mode": "dash",
|
||||
"action_params": "keypress(f),wait(0.2),keypress(f),wait(0.2),keypress(f),",
|
||||
"type": "target"
|
||||
},
|
||||
{
|
||||
"id": 32,
|
||||
"x": -3154.0263671875,
|
||||
"y": -3695.671875,
|
||||
"action": "combat_script",
|
||||
"move_mode": "walk",
|
||||
"action_params": "keypress(x),wait(0.2),keypress(x),wait(0.2),keypress(x)",
|
||||
"type": "orientation"
|
||||
},
|
||||
{
|
||||
"id": 33,
|
||||
"x": -3154.0263671875,
|
||||
"y": -3695.671875,
|
||||
"action": "combat_script",
|
||||
"move_mode": "climb",
|
||||
"action_params": "keypress(f);万叶 attack(0.08),keydown(E),wait(0.7),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);",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 34,
|
||||
"x": -3149.767578125,
|
||||
"y": -3692.767578125,
|
||||
"action": "",
|
||||
"move_mode": "walk",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 35,
|
||||
"x": -3144.937509875206,
|
||||
"y": -3696.906219684073,
|
||||
"action": "",
|
||||
"move_mode": "walk",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 36,
|
||||
"x": -3138.1561176722207,
|
||||
"y": -3701.812295367494,
|
||||
"action": "combat_script",
|
||||
"move_mode": "climb",
|
||||
"action_params": "wait(0.6)",
|
||||
"type": "target"
|
||||
},
|
||||
{
|
||||
"id": 37,
|
||||
"x": -3144.2890625,
|
||||
"y": -3704.287109375,
|
||||
"action": "combat_script",
|
||||
"move_mode": "climb",
|
||||
"action_params": "keypress(f),wait(0.2),keypress(f),wait(0.2),keypress(f),attack(0.08);万叶 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"
|
||||
},
|
||||
{
|
||||
"id": 38,
|
||||
"x": -3145.4062756755375,
|
||||
"y": -3709.374727156657,
|
||||
"action": "",
|
||||
"move_mode": "walk",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 39,
|
||||
"x": -3147.828125,
|
||||
"y": -3715.26171875,
|
||||
"action": "",
|
||||
"move_mode": "walk",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 40,
|
||||
"x": -3154.451171875,
|
||||
"y": -3727.388671875,
|
||||
"action": "",
|
||||
"move_mode": "dash",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 41,
|
||||
"x": -3156.3095703125,
|
||||
"y": -3734.564453125,
|
||||
"action": "",
|
||||
"move_mode": "climb",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 42,
|
||||
"x": -3147.9990234375,
|
||||
"y": -3741.4736328125,
|
||||
"action": "",
|
||||
"move_mode": "dash",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 43,
|
||||
"x": -3140.998046875,
|
||||
"y": -3741.0703125,
|
||||
"action": "",
|
||||
"move_mode": "walk",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 44,
|
||||
"x": -3134.75,
|
||||
"y": -3737.437035205334,
|
||||
"action": "",
|
||||
"move_mode": "walk",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 45,
|
||||
"x": -3135.2999999999993,
|
||||
"y": -3733.7999999999993,
|
||||
"action": "",
|
||||
"move_mode": "walk",
|
||||
"type": "target"
|
||||
},
|
||||
{
|
||||
"id": 46,
|
||||
"x": -3016.837890625,
|
||||
"y": -3623.62890625,
|
||||
"action": "",
|
||||
"move_mode": "walk",
|
||||
"type": "teleport"
|
||||
},
|
||||
{
|
||||
"id": 47,
|
||||
"x": -3025.197265625,
|
||||
"y": -3638.865234375,
|
||||
"action": "",
|
||||
"move_mode": "dash",
|
||||
"action_params": "",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 48,
|
||||
"x": -3031.5654296875,
|
||||
"y": -3640.2451171875,
|
||||
"action": "",
|
||||
"move_mode": "climb",
|
||||
"type": "target"
|
||||
},
|
||||
{
|
||||
"id": 49,
|
||||
"x": -3031.8408203125,
|
||||
"y": -3640.0625,
|
||||
"action": "combat_script",
|
||||
"move_mode": "run",
|
||||
"action_params": "keypress(f),wait(0.2),keypress(f),wait(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": "path"
|
||||
},
|
||||
{
|
||||
"id": 50,
|
||||
"x": -3016.837890625,
|
||||
"y": -3623.62890625,
|
||||
"action": "",
|
||||
"move_mode": "walk",
|
||||
"type": "teleport"
|
||||
},
|
||||
{
|
||||
"id": 51,
|
||||
"x": -3006.03125,
|
||||
"y": -3634.031161467683,
|
||||
"action": "",
|
||||
"move_mode": "run",
|
||||
"action_params": "",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 52,
|
||||
"x": -2993.8974609375,
|
||||
"y": -3644.345703125,
|
||||
"action": "",
|
||||
"move_mode": "fly",
|
||||
"action_params": "",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 53,
|
||||
"x": -2992.9814453125,
|
||||
"y": -3655.2119140625,
|
||||
"action": "stop_flying",
|
||||
"move_mode": "dash",
|
||||
"action_params": "",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 54,
|
||||
"x": -2995.2275390625,
|
||||
"y": -3654.0712890625,
|
||||
"action": "combat_script",
|
||||
"move_mode": "walk",
|
||||
"action_params": "wait(0.5)",
|
||||
"type": "target"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
{
|
||||
"info": {
|
||||
"name": "3稻妻富A路TP刷CD",
|
||||
"type": "collect",
|
||||
"version": "1.0",
|
||||
"description": "",
|
||||
"map_name": "Teyvat",
|
||||
"bgi_version": "0.45.0",
|
||||
"tags": [],
|
||||
"last_modified_time": 1754329568348,
|
||||
"enable_monster_loot_split": false,
|
||||
"authors": [
|
||||
{
|
||||
"name": "汐",
|
||||
"links": ""
|
||||
}
|
||||
],
|
||||
"map_match_method": ""
|
||||
},
|
||||
"positions": [
|
||||
{
|
||||
"id": 1,
|
||||
"x": -3290.7158203125,
|
||||
"y": -3653.0283203125,
|
||||
"action": "",
|
||||
"move_mode": "walk",
|
||||
"action_params": "",
|
||||
"type": "teleport"
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"x": -3321.4326171875,
|
||||
"y": -3614.4345703125,
|
||||
"action": "log_output",
|
||||
"move_mode": "walk",
|
||||
"action_params": "\n[调查点-提早触发24H倒计时] 此功能只跑TP不拾取!!!\n明天此时此秒重新发光!!!可以随时慢慢捡!!!\n刷新机制看README.md第二点!!!\n此功能预计(固态硬盘)6分钟+",
|
||||
"type": "orientation"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"x": -3321.4326171875,
|
||||
"y": -3614.4345703125,
|
||||
"action": "stop_flying",
|
||||
"move_mode": "fly",
|
||||
"action_params": "1400",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"x": -3019.462890625,
|
||||
"y": -3622.94921875,
|
||||
"action": "",
|
||||
"move_mode": "walk",
|
||||
"action_params": "",
|
||||
"type": "teleport"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,68 @@
|
||||
{
|
||||
"info": {
|
||||
"name": "000强制白芙",
|
||||
"type": "collect",
|
||||
"authors": [
|
||||
{
|
||||
"name": "汐",
|
||||
"links": ""
|
||||
}
|
||||
],
|
||||
"version": "1.0",
|
||||
"description": "",
|
||||
"map_name": "Teyvat",
|
||||
"bgi_version": "0.45.0",
|
||||
"tags": [],
|
||||
"last_modified_time": 1754998785224,
|
||||
"enable_monster_loot_split": false,
|
||||
"map_match_method": ""
|
||||
},
|
||||
"positions": [
|
||||
{
|
||||
"id": 1,
|
||||
"x": -762.078125,
|
||||
"y": -3798.2978515625,
|
||||
"action": "",
|
||||
"move_mode": "walk",
|
||||
"action_params": "",
|
||||
"type": "teleport"
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"x": -777.662109375,
|
||||
"y": -3821.849609375,
|
||||
"action": "combat_script",
|
||||
"move_mode": "fly",
|
||||
"action_params": "attack(0.5),wait(6)",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"x": 268.5908203125,
|
||||
"y": -665.69580078125,
|
||||
"action": "",
|
||||
"move_mode": "walk",
|
||||
"action_params": "",
|
||||
"type": "teleport"
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"x": 263.3046875,
|
||||
"y": -662.833984375,
|
||||
"action": "combat_script",
|
||||
"move_mode": "walk",
|
||||
"action_params": "keypress(f);芙宁娜 attack(0.08),charge;",
|
||||
"type": "orientation",
|
||||
"locked": false
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"x": 263.3046875,
|
||||
"y": -662.833984375,
|
||||
"action": "log_output",
|
||||
"move_mode": "walk",
|
||||
"action_params": "重置[芙宁娜]状态,再切换——白芙",
|
||||
"type": "orientation"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -13,8 +13,9 @@
|
||||
"map_name": "Teyvat",
|
||||
"bgi_version": "0.45.0",
|
||||
"tags": [],
|
||||
"last_modified_time": 1753379106673,
|
||||
"enable_monster_loot_split": false
|
||||
"last_modified_time": 1754997437686,
|
||||
"enable_monster_loot_split": false,
|
||||
"map_match_method": ""
|
||||
},
|
||||
"positions": [
|
||||
{
|
||||
@@ -30,23 +31,13 @@
|
||||
"id": 2,
|
||||
"x": 1118.3120417903792,
|
||||
"y": 234.43208860704453,
|
||||
"action": "combat_script",
|
||||
"move_mode": "walk",
|
||||
"action_params": "keypress(f);芙宁娜 attack(0.08),charge;",
|
||||
"type": "orientation",
|
||||
"locked": false
|
||||
},
|
||||
{
|
||||
"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,
|
||||
"id": 3,
|
||||
"x": 1118.3120417903792,
|
||||
"y": 234.43208860704453,
|
||||
"action": "",
|
||||
@@ -55,16 +46,16 @@
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"id": 4,
|
||||
"x": 1086.0937875257878,
|
||||
"y": 301.8435984203652,
|
||||
"action": "combat_script",
|
||||
"move_mode": "dash",
|
||||
"action_params": "keypress(f),wait(0.2),keypress(f),w(0.3),keypress(f),w(0.3),s(0.5);芙宁娜 attack(0.08),e;",
|
||||
"action_params": "keypress(f),wait(0.2),keypress(f),w(0.3),keypress(f),w(0.3),s(0.7);芙宁娜 attack(0.08),e;",
|
||||
"type": "target"
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"id": 5,
|
||||
"x": 1084.796875,
|
||||
"y": 299.93359375,
|
||||
"action": "",
|
||||
@@ -73,7 +64,7 @@
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"id": 6,
|
||||
"x": 1088.0673828125,
|
||||
"y": 303.08203125,
|
||||
"action": "",
|
||||
@@ -82,7 +73,7 @@
|
||||
"type": "target"
|
||||
},
|
||||
{
|
||||
"id": 8,
|
||||
"id": 7,
|
||||
"x": 1083.5625,
|
||||
"y": 305.87513279847644,
|
||||
"action": "",
|
||||
@@ -91,7 +82,7 @@
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 9,
|
||||
"id": 8,
|
||||
"x": 1082.8095703125,
|
||||
"y": 300.794921875,
|
||||
"action": "combat_script",
|
||||
@@ -100,7 +91,7 @@
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 10,
|
||||
"id": 9,
|
||||
"x": 1068.333984375,
|
||||
"y": 353.74951171875,
|
||||
"action": "",
|
||||
@@ -109,7 +100,7 @@
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 11,
|
||||
"id": 10,
|
||||
"x": 1069.3271484375,
|
||||
"y": 355.3740234375,
|
||||
"action": "combat_script",
|
||||
@@ -118,7 +109,7 @@
|
||||
"type": "target"
|
||||
},
|
||||
{
|
||||
"id": 12,
|
||||
"id": 11,
|
||||
"x": 1047.9365234375,
|
||||
"y": 318.71826171875,
|
||||
"action": "",
|
||||
@@ -127,7 +118,7 @@
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 13,
|
||||
"id": 12,
|
||||
"x": 1045.4453125,
|
||||
"y": 319.9306640625,
|
||||
"action": "combat_script",
|
||||
@@ -13,8 +13,9 @@
|
||||
"map_name": "Teyvat",
|
||||
"bgi_version": "0.45.0",
|
||||
"tags": [],
|
||||
"last_modified_time": 1752669890150,
|
||||
"enable_monster_loot_split": false
|
||||
"last_modified_time": 1754147895953,
|
||||
"enable_monster_loot_split": false,
|
||||
"map_match_method": ""
|
||||
},
|
||||
"positions": [
|
||||
{
|
||||
@@ -120,11 +121,12 @@
|
||||
},
|
||||
{
|
||||
"id": 13,
|
||||
"x": 1032.875,
|
||||
"y": 1252.8123340019047,
|
||||
"x": 1032.857421875,
|
||||
"y": 1254.53369140625,
|
||||
"type": "path",
|
||||
"move_mode": "climb",
|
||||
"action": "",
|
||||
"move_mode": "walk",
|
||||
"type": "path"
|
||||
"action_params": ""
|
||||
},
|
||||
{
|
||||
"id": 14,
|
||||
@@ -13,8 +13,9 @@
|
||||
"map_name": "Teyvat",
|
||||
"bgi_version": "0.45.0",
|
||||
"tags": [],
|
||||
"last_modified_time": 1752154726209,
|
||||
"enable_monster_loot_split": false
|
||||
"last_modified_time": 1754680615491,
|
||||
"enable_monster_loot_split": false,
|
||||
"map_match_method": ""
|
||||
},
|
||||
"positions": [
|
||||
{
|
||||
@@ -50,13 +51,13 @@
|
||||
"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.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.2),keypress(f),wait(0.2),keypress(f),wait(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"
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"x": 1641.5126953125,
|
||||
"y": 939.21435546875,
|
||||
"x": 1644.21875,
|
||||
"y": 939.7501881311746,
|
||||
"action": "",
|
||||
"move_mode": "climb",
|
||||
"action_params": "",
|
||||
@@ -64,10 +65,10 @@
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"x": 1647.97265625,
|
||||
"y": 939.07763671875,
|
||||
"x": 1646.625,
|
||||
"y": 938.562322935365,
|
||||
"action": "",
|
||||
"move_mode": "dash",
|
||||
"move_mode": "climb",
|
||||
"action_params": "",
|
||||
"type": "path"
|
||||
},
|
||||
@@ -77,7 +78,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.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);",
|
||||
"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.1),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"
|
||||
}
|
||||
]
|
||||
@@ -13,8 +13,9 @@
|
||||
"map_name": "Teyvat",
|
||||
"bgi_version": "0.45.0",
|
||||
"tags": [],
|
||||
"last_modified_time": 1753626223166,
|
||||
"enable_monster_loot_split": false
|
||||
"last_modified_time": 1754682026471,
|
||||
"enable_monster_loot_split": false,
|
||||
"map_match_method": ""
|
||||
},
|
||||
"positions": [
|
||||
{
|
||||
@@ -27,24 +28,15 @@
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"x": 1639.2568359375,
|
||||
"y": -279.36376953125,
|
||||
"action": "",
|
||||
"move_mode": "dash",
|
||||
"action_params": "",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"x": 1605.646484375,
|
||||
"y": -311.2705078125,
|
||||
"x": 1603.625,
|
||||
"y": -309.7181966730168,
|
||||
"action": "",
|
||||
"move_mode": "run",
|
||||
"action_params": "",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"id": 3,
|
||||
"x": 1560.12890625,
|
||||
"y": -292.5458984375,
|
||||
"action": "",
|
||||
@@ -52,7 +44,7 @@
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"id": 4,
|
||||
"x": 1519.125,
|
||||
"y": -289.1867474753026,
|
||||
"action": "",
|
||||
@@ -60,7 +52,7 @@
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"id": 5,
|
||||
"x": 1517.1630859375,
|
||||
"y": -290.5830078125,
|
||||
"action": "",
|
||||
@@ -69,7 +61,7 @@
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"id": 6,
|
||||
"x": 1505.1878346924386,
|
||||
"y": -298.93729794024966,
|
||||
"action": "",
|
||||
@@ -77,7 +69,7 @@
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 8,
|
||||
"id": 7,
|
||||
"x": 1504.5654296875,
|
||||
"y": -294.41748046875,
|
||||
"action": "",
|
||||
@@ -86,7 +78,7 @@
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 9,
|
||||
"id": 8,
|
||||
"x": 1506.560546875,
|
||||
"y": -291.88427734375,
|
||||
"action": "combat_script",
|
||||
@@ -95,7 +87,7 @@
|
||||
"type": "target"
|
||||
},
|
||||
{
|
||||
"id": 10,
|
||||
"id": 9,
|
||||
"x": 1498.857421875,
|
||||
"y": -280.8447265625,
|
||||
"action": "",
|
||||
@@ -104,7 +96,7 @@
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 11,
|
||||
"id": 10,
|
||||
"x": 1493.9374525990042,
|
||||
"y": -280.999878736292,
|
||||
"action": "",
|
||||
@@ -113,7 +105,7 @@
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"id": 12,
|
||||
"id": 11,
|
||||
"x": 1488.8120816344508,
|
||||
"y": -281.46889593204196,
|
||||
"action": "combat_script",
|
||||
@@ -122,29 +114,40 @@
|
||||
"type": "target"
|
||||
},
|
||||
{
|
||||
"id": 13,
|
||||
"id": 12,
|
||||
"x": 1474.765625,
|
||||
"y": -275.228515625,
|
||||
"action": "combat_script",
|
||||
"move_mode": "dash",
|
||||
"action_params": "keypress(f),wait(0.2),keypress(f),wait(0.2),keypress(f),",
|
||||
"type": "target"
|
||||
"type": "target",
|
||||
"locked": false
|
||||
},
|
||||
{
|
||||
"id": 13,
|
||||
"x": 1476.15625,
|
||||
"y": -277.5935950684443,
|
||||
"type": "target",
|
||||
"move_mode": "climb",
|
||||
"action": "combat_script",
|
||||
"action_params": "keypress(f),wait(0.2),keypress(f),wait(0.2),keypress(f),wait(0.2),keypress(f),wait(0.2),keypress(f)"
|
||||
},
|
||||
{
|
||||
"id": 14,
|
||||
"x": 1476.0625,
|
||||
"y": -277.33642578125,
|
||||
"x": 1476.625,
|
||||
"y": -276.0004647946662,
|
||||
"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),d(0.15);万叶 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"
|
||||
"move_mode": "dash",
|
||||
"action_params": "w(0.1),keypress(f);万叶 attack(0.08),keydown(E),wait(0.8),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);",
|
||||
"type": "orientation",
|
||||
"locked": false
|
||||
},
|
||||
{
|
||||
"id": 15,
|
||||
"x": 1475.843192179269,
|
||||
"y": -278.6872754891665,
|
||||
"x": 1476.625,
|
||||
"y": -276.0004647946662,
|
||||
"action": "set_time",
|
||||
"move_mode": "climb",
|
||||
"move_mode": "dash",
|
||||
"action_params": "06:00",
|
||||
"type": "orientation"
|
||||
}
|
||||
@@ -13,8 +13,9 @@
|
||||
"map_name": "TheChasm",
|
||||
"bgi_version": "0.45.0",
|
||||
"tags": [],
|
||||
"last_modified_time": 1753632430578,
|
||||
"enable_monster_loot_split": false
|
||||
"last_modified_time": 1754839315097,
|
||||
"enable_monster_loot_split": false,
|
||||
"map_match_method": ""
|
||||
},
|
||||
"positions": [
|
||||
{
|
||||
@@ -37,11 +38,11 @@
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"x": 334.4687677753732,
|
||||
"y": 979.34353020953,
|
||||
"action": "stop_flying",
|
||||
"x": 334.5625,
|
||||
"y": 979.4065709296503,
|
||||
"action": "combat_script",
|
||||
"move_mode": "climb",
|
||||
"action_params": "",
|
||||
"action_params": "attack(0.3)",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
@@ -73,8 +74,8 @@
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"x": 347.812559251244,
|
||||
"y": 985.2500682108357,
|
||||
"x": 349.43760270215625,
|
||||
"y": 985.6249090522192,
|
||||
"action": "",
|
||||
"move_mode": "walk",
|
||||
"action_params": "",
|
||||
@@ -91,7 +92,7 @@
|
||||
},
|
||||
{
|
||||
"id": 9,
|
||||
"x": 400.06253950082936,
|
||||
"x": 400.0625395008294,
|
||||
"y": 1026.5311059993471,
|
||||
"action": "stop_flying",
|
||||
"move_mode": "fly",
|
||||