diff --git a/repo/js/AutoCommission/Data/RecognitionObject/Completed.png b/repo/js/AutoCommission/Data/RecognitionObject/Completed.png new file mode 100644 index 00000000..f5786f87 Binary files /dev/null and b/repo/js/AutoCommission/Data/RecognitionObject/Completed.png differ diff --git a/repo/js/AutoCommission/Data/RecognitionObject/IconBigmapCommission.jpg b/repo/js/AutoCommission/Data/RecognitionObject/IconBigmapCommission.jpg new file mode 100644 index 00000000..f71a0a4e Binary files /dev/null and b/repo/js/AutoCommission/Data/RecognitionObject/IconBigmapCommission.jpg differ diff --git a/repo/js/AutoCommission/Data/RecognitionObject/IconTaskCommission.png b/repo/js/AutoCommission/Data/RecognitionObject/IconTaskCommission.png new file mode 100644 index 00000000..c48b73ba Binary files /dev/null and b/repo/js/AutoCommission/Data/RecognitionObject/IconTaskCommission.png differ diff --git a/repo/js/AutoCommission/Data/RecognitionObject/UnCompleted.png b/repo/js/AutoCommission/Data/RecognitionObject/UnCompleted.png new file mode 100644 index 00000000..3bd30f70 Binary files /dev/null and b/repo/js/AutoCommission/Data/RecognitionObject/UnCompleted.png differ diff --git a/repo/js/AutoCommission/Data/RecognitionObject/bag/ArtifactsButton.png b/repo/js/AutoCommission/Data/RecognitionObject/bag/ArtifactsButton.png new file mode 100644 index 00000000..0f0f79f3 Binary files /dev/null and b/repo/js/AutoCommission/Data/RecognitionObject/bag/ArtifactsButton.png differ diff --git a/repo/js/AutoCommission/Data/RecognitionObject/bag/ConfirmButton.png b/repo/js/AutoCommission/Data/RecognitionObject/bag/ConfirmButton.png new file mode 100644 index 00000000..78d72f29 Binary files /dev/null and b/repo/js/AutoCommission/Data/RecognitionObject/bag/ConfirmButton.png differ diff --git a/repo/js/AutoCommission/Data/RecognitionObject/bag/Materials.png b/repo/js/AutoCommission/Data/RecognitionObject/bag/Materials.png new file mode 100644 index 00000000..3849e5d0 Binary files /dev/null and b/repo/js/AutoCommission/Data/RecognitionObject/bag/Materials.png differ diff --git a/repo/js/AutoCommission/Data/RecognitionObject/bag/Smallprops.png b/repo/js/AutoCommission/Data/RecognitionObject/bag/Smallprops.png new file mode 100644 index 00000000..fdc1a97e Binary files /dev/null and b/repo/js/AutoCommission/Data/RecognitionObject/bag/Smallprops.png differ diff --git a/repo/js/AutoCommission/Data/RecognitionObject/bag/Task.png b/repo/js/AutoCommission/Data/RecognitionObject/bag/Task.png new file mode 100644 index 00000000..ce2ae563 Binary files /dev/null and b/repo/js/AutoCommission/Data/RecognitionObject/bag/Task.png differ diff --git a/repo/js/AutoCommission/Data/RecognitionObject/paimon_menu.png b/repo/js/AutoCommission/Data/RecognitionObject/paimon_menu.png new file mode 100644 index 00000000..c424325b Binary files /dev/null and b/repo/js/AutoCommission/Data/RecognitionObject/paimon_menu.png differ diff --git a/repo/js/AutoCommission/Data/commissions_data.json b/repo/js/AutoCommission/Data/commissions_data.json new file mode 100644 index 00000000..f763af31 --- /dev/null +++ b/repo/js/AutoCommission/Data/commissions_data.json @@ -0,0 +1,38 @@ +{ + "timestamp": "2025-06-08T08:22:48.868Z", + "commissions": [ + { + "id": 1, + "name": "委托名称", + "supported": true, + "type": "talk", + "location": "委托地点", + "country": "蒙德", + "CommissionPosition": { + "X": 114514, + "Y": 114514 + } + }, + { + "id": 2, + "name": "纳西妲世界第一可爱", + "supported": true, + "type": "fight", + "location": "已完成" + }, + { + "id": 3, + "name": "纳西妲世界第一可爱", + "supported": true, + "type": "fight", + "location": "已完成" + }, + { + "id": 4, + "name": "纳西妲世界第一可爱", + "supported": true, + "type": "fight", + "location": "已完成" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/README.md b/repo/js/AutoCommission/README.md new file mode 100644 index 00000000..c67c79a3 --- /dev/null +++ b/repo/js/AutoCommission/README.md @@ -0,0 +1,72 @@ +# 原神自动化脚本集合 + +## 项目简介 +本项目是一个基于BetterGI的原神自动化脚本集合,主要功能包括自动完成每日委托、自动识别委托内容、自动追踪委托路径等。路径追踪脚本由换苏伟u,云闲vsv大佬提供。未来准备支持全国家的每日委托,需要对话的委托来自动刷取成就奖励。目前项目正处于初级阶段急需人手,有意者请加作者QQ好友(会在地图上标点即可)。 + +## 主要功能 +- 自动识别每日委托内容 +- OCR技术识别委托地点和状态 +- 自动追踪委托路径 +- 智能对话选项处理 +- 自动完成对话类委托 + +## 更新日志 + +### 当前版本:0.97 +- 修复已知问题 +- 完成了更多对话委托 + +### 上一版本:0.96 +- 优化对话委托处理逻辑 +- 优化战斗委托处理逻辑 +- 增强NPC对话选项智能识别 +- 支持自定义对话优先选项 +- 新增NPC白名单功能,提高交互精确度 +- 完善对话委托文档,增加JSON和简易格式说明 + +### 上一版本:0.95 +- 完成了对话委托功能实现 + +### 上一版本:0.94.1 +- 修复攀高危险问题 +- 完成了更多对话委托 +- 修复委托不存在 + +### 上一版本:0.94 +- 修复攀高危险问题 +- 新建了对话委托的文件夹 + +### 上一版本:0.93 +- 修复已知问题 + +### 上一版本:0.92 +- 修复部分路径命名错误 +- 修复第4个委托识别失败 + +### 上一版本:0.91 +- 修改寻路功能改为两条路径都尝试一遍 +- 修复委托已完成退出错误 +- 增加输入检测 + +### 旧版本:0.90 +- 实现基本的委托识别功能 +- 支持委托地点OCR识别 +- 基础的委托路径追踪功能 + +## 使用说明 +1. 确保已安装BetterGI并正确配置(可参考AutoEntrust/配置组配置参考.png),推荐在自动战斗中关闭拾取掉落物,因为会浪费大量时间。 +2. 在脚本设置中可配置以下选项: + - 跳过识别(直接从Data文件夹加载委托数据进行追踪)为关闭 + - 战斗的队伍名称为您日常打怪的队伍名称 +3. 常见问题:1.Q:明明这个地方没有委托,却跑回去打怪(此问题已经解决)。A:未来会增加检测功能,优化脚本。2.Q:为什么有的蒙德打怪委托未完成?A:因为请将脚本data/文件夹下面的数据,log/日志下今日日志,每日委托任务截图。反馈给作者 + +## 反馈方法 +- 1.加群1053392753反馈 +- 2.发送截图,日志给3302871403@qq.com + +## 注意事项 +- 部分委托可能无法正确识别或追踪,遇到问题请手动完成 +- 推荐关闭自动战斗-自动拾取掉落物,避免浪费大量时间 + +## 项目贡献者 +- 星野,换苏伟u,云闲vsv,小鹰划船不用桨,塔台 diff --git a/repo/js/AutoCommission/assets/process/冒险家安娜/蒙德城/process.json b/repo/js/AutoCommission/assets/process/冒险家安娜/蒙德城/process.json new file mode 100644 index 00000000..132c095e --- /dev/null +++ b/repo/js/AutoCommission/assets/process/冒险家安娜/蒙德城/process.json @@ -0,0 +1,6 @@ +冒险家,安娜!-蒙德城-1.json +F +冒险家,安娜!-蒙德城-2.json +F +冒险家,安娜!-蒙德城-3.json +F \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/process/冒险家安娜/蒙德城/冒险家,安娜!-蒙德城-1.json b/repo/js/AutoCommission/assets/process/冒险家安娜/蒙德城/冒险家,安娜!-蒙德城-1.json new file mode 100644 index 00000000..694104aa --- /dev/null +++ b/repo/js/AutoCommission/assets/process/冒险家安娜/蒙德城/冒险家,安娜!-蒙德城-1.json @@ -0,0 +1,31 @@ +{ + "info": { + "name": "冒险家,安娜!-蒙德城-1", + "type": "collect", + "author": "11", + "version": "1.0", + "description": "冒险家,安娜!-蒙德城-1", + "map_name": "Teyvat", + "bgi_version": "0.45.0" + }, + "positions": [ + { + "id": 1, + "action": "", + "move_mode": "walk", + "type": "teleport", + "x": -867.70703125, + "y": 2281.3701171875, + "action_params": "" + }, + { + "id": 2, + "x": -861.3232421875, + "y": 2302.66552734375, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/process/冒险家安娜/蒙德城/冒险家,安娜!-蒙德城-2.json b/repo/js/AutoCommission/assets/process/冒险家安娜/蒙德城/冒险家,安娜!-蒙德城-2.json new file mode 100644 index 00000000..41fe9186 --- /dev/null +++ b/repo/js/AutoCommission/assets/process/冒险家安娜/蒙德城/冒险家,安娜!-蒙德城-2.json @@ -0,0 +1,49 @@ +{ + "info": { + "name": "冒险家,安娜!-蒙德城-2", + "type": "collect", + "author": "11", + "version": "1.0", + "description": "冒险家,安娜!-蒙德城-2", + "map_name": "Teyvat", + "bgi_version": "0.45.0" + }, + "positions": [ + { + "id": 1, + "action": "", + "move_mode": "walk", + "type": "teleport", + "x": -1505.8955078125, + "y": 2296.281982421875, + "action_params": "" + }, + { + "id": 2, + "x": -1498.150390625, + "y": 2301.091796875, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 3, + "x": -1346.529296875, + "y": 2287.839111328125, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 4, + "x": -1333.6376953125, + "y": 2283.835205078125, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/process/冒险家安娜/蒙德城/冒险家,安娜!-蒙德城-3.json b/repo/js/AutoCommission/assets/process/冒险家安娜/蒙德城/冒险家,安娜!-蒙德城-3.json new file mode 100644 index 00000000..363232f9 --- /dev/null +++ b/repo/js/AutoCommission/assets/process/冒险家安娜/蒙德城/冒险家,安娜!-蒙德城-3.json @@ -0,0 +1,77 @@ +{ + "info": { + "name": "冒险家,安娜!-蒙德城-3", + "type": "collect", + "author": "11", + "version": "1.0", + "description": "冒险家,安娜!-蒙德城-3", + "map_name": "Teyvat", + "bgi_version": "0.45.0" + }, + "positions": [ + { + "id": 1, + "x": -1334.908203125, + "y": 2285.588134765625, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 2, + "x": -1364.53125, + "y": 2306.401611328125, + "type": "path", + "move_mode": "dash", + "action": "", + "action_params": "" + }, + { + "id": 3, + "x": -1366.7783203125, + "y": 2332.82421875, + "type": "path", + "move_mode": "walk", + "action": "fight", + "action_params": "" + }, + { + "id": 4, + "x": -1367.0439453125, + "y": 2342.846435546875, + "type": "path", + "move_mode": "walk", + "action": "combat_script", + "action_params": "attack,wait(0.52),attack(4.5),", + "locked": false + }, + { + "id": 5, + "x": -1367.0439453125, + "y": 2342.846435546875, + "type": "path", + "move_mode": "walk", + "action": "combat_script", + "action_params": "attack,wait(0.52),attack(4.5)," + }, + { + "id": 6, + "x": -1388.044921875, + "y": 2346.076171875, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 7, + "x": -1388.52734375, + "y": 2352.74365234375, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/process/冒险家的能力极限/蒙德城/process.json b/repo/js/AutoCommission/assets/process/冒险家的能力极限/蒙德城/process.json new file mode 100644 index 00000000..65cc20bd --- /dev/null +++ b/repo/js/AutoCommission/assets/process/冒险家的能力极限/蒙德城/process.json @@ -0,0 +1,5 @@ +冒险家的能力极限-1.json +F +冒险家的能力极限-2.json +冒险家的能力极限-1.json +F \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/process/冒险家的能力极限/蒙德城/冒险家的能力极限-1.json b/repo/js/AutoCommission/assets/process/冒险家的能力极限/蒙德城/冒险家的能力极限-1.json new file mode 100644 index 00000000..7498c71d --- /dev/null +++ b/repo/js/AutoCommission/assets/process/冒险家的能力极限/蒙德城/冒险家的能力极限-1.json @@ -0,0 +1,76 @@ +{ + "info": { + "name": "冒险家的能力极限-1", + "type": "collect", + "author": "11", + "version": "1.0", + "description": "冒险家的能力极限-1", + "map_name": "Teyvat", + "bgi_version": "0.45.0" + }, + "positions": [ + { + "id": 1, + "action": "", + "move_mode": "walk", + "type": "teleport", + "x": -749.4365234375, + "y": 2263.239013671875, + "action_params": "" + }, + { + "id": 2, + "x": -763.75, + "y": 2265.013427734375, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 3, + "x": -770.1796875, + "y": 2267.409912109375, + "type": "path", + "move_mode": "fly", + "action": "stop_flying", + "action_params": "" + }, + { + "id": 4, + "x": -781.4423828125, + "y": 2270.19384765625, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 5, + "x": -793.8779296875, + "y": 2264.59375, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 6, + "x": -809.69140625, + "y": 2240.67822265625, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 7, + "x": -824.7021484375, + "y": 2231.807373046875, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/process/冒险家的能力极限/蒙德城/冒险家的能力极限-2.json b/repo/js/AutoCommission/assets/process/冒险家的能力极限/蒙德城/冒险家的能力极限-2.json new file mode 100644 index 00000000..32c6e0cc --- /dev/null +++ b/repo/js/AutoCommission/assets/process/冒险家的能力极限/蒙德城/冒险家的能力极限-2.json @@ -0,0 +1,58 @@ +{ + "info": { + "name": "冒险家的能力极限-2", + "type": "collect", + "author": "11", + "version": "1.0", + "description": "冒险家的能力极限-2", + "map_name": "Teyvat", + "bgi_version": "0.45.0" + }, + "positions": [ + { + "id": 1, + "action": "", + "move_mode": "walk", + "type": "teleport", + "x": -386.2841796875, + "y": 2297.700439453125, + "action_params": "" + }, + { + "id": 2, + "x": -443.484375, + "y": 2294.5087890625, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 3, + "x": -457.3330078125, + "y": 2279.69921875, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 4, + "x": -472.001953125, + "y": 2275.300537109375, + "type": "path", + "move_mode": "walk", + "action": "fight", + "action_params": "" + }, + { + "id": 5, + "x": -467.5673828125, + "y": 2279.7392578125, + "type": "path", + "move_mode": "walk", + "action": "fight", + "action_params": "" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/process/新的风暴尚未出现/望风海岸/process.json b/repo/js/AutoCommission/assets/process/新的风暴尚未出现/望风海岸/process.json new file mode 100644 index 00000000..a469a653 --- /dev/null +++ b/repo/js/AutoCommission/assets/process/新的风暴尚未出现/望风海岸/process.json @@ -0,0 +1,7 @@ +新的风暴尚未出现-1.json +F +新的风暴尚未出现-2.json +新的风暴尚未出现-3.json +F +前往望风角塔楼顶部by柒叶子.json +F \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/process/新的风暴尚未出现/望风海岸/前往望风角塔楼顶部by柒叶子.json b/repo/js/AutoCommission/assets/process/新的风暴尚未出现/望风海岸/前往望风角塔楼顶部by柒叶子.json new file mode 100644 index 00000000..6126ecd1 --- /dev/null +++ b/repo/js/AutoCommission/assets/process/新的风暴尚未出现/望风海岸/前往望风角塔楼顶部by柒叶子.json @@ -0,0 +1,212 @@ +{ + "info": { + "name": "前往望风角塔楼顶部by柒叶子", + "type": "collect", + "author": "柒叶子", + "version": "1.0", + "description": "柒叶子老师nb", + "map_name": "Teyvat", + "bgi_version": "0.45.0" + }, + "positions": [ + { + "id": 1, + "x": -1629.2958984375, + "y": 2834.411865234375, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "teleport" + }, + { + "id": 2, + "x": -1653.572265625, + "y": 2834.874755859375, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 3, + "x": -1703.2529296875, + "y": 2843.67822265625, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 4, + "x": -1726.9443359375, + "y": 2847.81640625, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 5, + "x": -1752.2021484375, + "y": 2850.199462890625, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 6, + "x": -1768.94921875, + "y": 2848.8212890625, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 7, + "x": -1795.8515625, + "y": 2847.02783203125, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 8, + "x": -1807.73828125, + "y": 2858.350341796875, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 9, + "x": -1833.505859375, + "y": 2864.002197265625, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 10, + "x": -1859.2421875, + "y": 2871.079345703125, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 11, + "x": -1852.779296875, + "y": 2885.40869140625, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "target" + }, + { + "id": 12, + "x": -1843.294921875, + "y": 2884.653076171875, + "action": "", + "move_mode": "fly", + "action_params": "", + "type": "path" + }, + { + "id": 13, + "x": -1842.29296875, + "y": 2884.297607421875, + "action": "", + "move_mode": "fly", + "action_params": "", + "type": "target" + }, + { + "id": 14, + "x": -1839.2431640625, + "y": 2879.853271484375, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "target" + }, + { + "id": 15, + "x": -1844.2734375, + "y": 2875.896728515625, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "target" + }, + { + "id": 16, + "x": -1846.8552734375, + "y": 2878.77373046875, + "action": "", + "move_mode": "climb", + "action_params": "", + "type": "path" + }, + { + "id": 17, + "x": -1847.1103515625, + "y": 2879.4228515625, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "target" + }, + { + "id": 18, + "x": -1846.1953125, + "y": 2882.475830078125, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "target" + }, + { + "id": 19, + "x": -1842.1689453125, + "y": 2883.2734375, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "target" + }, + { + "id": 20, + "x": -1840.6201171875, + "y": 2880.635498046875, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 21, + "x": -1841.287109375, + "y": 2877.12548828125, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "target", + "locked": false + }, + { + "id": 22, + "x": -1844.287109375, + "y": 2878.12548828125, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "target" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/process/新的风暴尚未出现/望风海岸/新的风暴尚未出现-1.json b/repo/js/AutoCommission/assets/process/新的风暴尚未出现/望风海岸/新的风暴尚未出现-1.json new file mode 100644 index 00000000..8f7e8e8e --- /dev/null +++ b/repo/js/AutoCommission/assets/process/新的风暴尚未出现/望风海岸/新的风暴尚未出现-1.json @@ -0,0 +1,84 @@ +{ + "info": { + "name": "新的风暴尚未出现-1", + "type": "collect", + "author": "星野", + "version": "", + "description": "", + "bgi_version": "0.42.3" + }, + "positions": [ + { + "id": 1, + "x": -1629.1162109375, + "y": 2833.7861328125, + "action": "", + "move_mode": "dash", + "type": "teleport" + }, + { + "id": 2, + "x": -1708.4482421875, + "y": 2834.314697265625, + "action": "", + "move_mode": "dash", + "type": "path" + }, + { + "id": 3, + "x": -1759.6064453125, + "y": 2835.28271484375, + "action": "", + "move_mode": "fly", + "type": "path" + }, + { + "id": 4, + "x": -1785.251953125, + "y": 2850.209228515625, + "action": "", + "move_mode": "dash", + "type": "path" + }, + { + "id": 5, + "x": -1793.935546875, + "y": 2857.962890625, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 6, + "x": -1821.6806640625, + "y": 2855.65478515625, + "action": "", + "move_mode": "dash", + "type": "path" + }, + { + "id": 7, + "x": -1839.416015625, + "y": 2847.714111328125, + "action": "", + "move_mode": "dash", + "type": "path" + }, + { + "id": 8, + "x": -1858.431640625, + "y": 2837.705078125, + "action": "", + "move_mode": "dash", + "type": "path" + }, + { + "id": 9, + "x": -1875.25, + "y": 2829.442626953125, + "action": "", + "move_mode": "walk", + "type": "target" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/process/新的风暴尚未出现/望风海岸/新的风暴尚未出现-2.json b/repo/js/AutoCommission/assets/process/新的风暴尚未出现/望风海岸/新的风暴尚未出现-2.json new file mode 100644 index 00000000..d32ae8fa --- /dev/null +++ b/repo/js/AutoCommission/assets/process/新的风暴尚未出现/望风海岸/新的风暴尚未出现-2.json @@ -0,0 +1,80 @@ +{ + "info": { + "name": "新的风暴尚未出现-2", + "type": "collect", + "author": "星野", + "version": "", + "description": "", + "bgi_version": "0.42.3" + }, + "positions": [ + { + "id": 1, + "x": -1880.009765625, + "y": 2826.505126953125, + "action": "", + "move_mode": "dash", + "type": "path" + }, + { + "id": 2, + "x": -1866.2666015625, + "y": 2831.68408203125, + "action": "", + "move_mode": "dash", + "type": "path" + }, + { + "id": 3, + "x": -1854, + "y": 2863.25, + "type": "path", + "move_mode": "dash", + "action": "", + "action_params": "" + }, + { + "id": 4, + "x": -1849.755859375, + "y": 2875.167724609375, + "action": "fight", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 5, + "x": -1845.72265625, + "y": 2885.572265625, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "target" + }, + { + "id": 6, + "x": -1841.9111328125, + "y": 2884.369384765625, + "action": "", + "move_mode": "walk", + "type": "target" + }, + { + "id": 7, + "x": -1839.34375, + "y": 2881.49072265625, + "action": "", + "move_mode": "walk", + "type": "target" + }, + { + "id": 8, + "x": -1845.462890625, + "y": 2876.641357421875, + "action": "fight", + "move_mode": "walk", + "action_params": "", + "type": "target" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/process/新的风暴尚未出现/望风海岸/新的风暴尚未出现-3.json b/repo/js/AutoCommission/assets/process/新的风暴尚未出现/望风海岸/新的风暴尚未出现-3.json new file mode 100644 index 00000000..a8e3ed21 --- /dev/null +++ b/repo/js/AutoCommission/assets/process/新的风暴尚未出现/望风海岸/新的风暴尚未出现-3.json @@ -0,0 +1,30 @@ +{ + "info": { + "name": "新的风暴尚未出现-3", + "type": "collect", + "author": "星野", + "version": "", + "description": "", + "bgi_version": "0.42.3" + }, + "positions": [ + { + "id": 1, + "x": -1850.3857421875, + "y": 2867.314697265625, + "type": "path", + "move_mode": "dash", + "action": "", + "action_params": "" + }, + { + "id": 2, + "x": -1866.6171875, + "y": 2836.91748046875, + "type": "target", + "move_mode": "dash", + "action": "", + "action_params": "" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/process/父亲能做的事/晨曦酒庄/process.json b/repo/js/AutoCommission/assets/process/父亲能做的事/晨曦酒庄/process.json new file mode 100644 index 00000000..046c8256 --- /dev/null +++ b/repo/js/AutoCommission/assets/process/父亲能做的事/晨曦酒庄/process.json @@ -0,0 +1,6 @@ +父亲能做的事-晨曦酒庄-1.json +F +父亲能做的事-晨曦酒庄-2.json +F +父亲能做的事-晨曦酒庄-3.json +F \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/process/父亲能做的事/晨曦酒庄/父亲能做的事-晨曦酒庄-1.json b/repo/js/AutoCommission/assets/process/父亲能做的事/晨曦酒庄/父亲能做的事-晨曦酒庄-1.json new file mode 100644 index 00000000..ed410092 --- /dev/null +++ b/repo/js/AutoCommission/assets/process/父亲能做的事/晨曦酒庄/父亲能做的事-晨曦酒庄-1.json @@ -0,0 +1,112 @@ +{ + "info": { + "name": "父亲能做的事-晨曦酒庄", + "type": "collect", + "author": "11", + "version": "1.0", + "description": "父亲能做的事-晨曦酒庄-1", + "map_name": "Teyvat", + "bgi_version": "0.45.0" + }, + "positions": [ + { + "id": 1, + "action": "", + "move_mode": "walk", + "type": "teleport", + "x": -578.81640625, + "y": 1853.37255859375, + "action_params": "" + }, + { + "id": 2, + "x": -491.6826171875, + "y": 1825.15087890625, + "type": "path", + "move_mode": "dash", + "action": "", + "action_params": "" + }, + { + "id": 3, + "x": -485.435546875, + "y": 1822.61767578125, + "type": "path", + "move_mode": "fly", + "action": "", + "action_params": "" + }, + { + "id": 4, + "x": -445.2705078125, + "y": 1805.80078125, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 5, + "x": -439.673828125, + "y": 1793.24267578125, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 6, + "x": -420.3369140625, + "y": 1789.75439453125, + "type": "path", + "move_mode": "run", + "action": "", + "action_params": "" + }, + { + "id": 7, + "x": -407.6767578125, + "y": 1793.21533203125, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 8, + "x": -392.833984375, + "y": 1797.24267578125, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 9, + "x": -380.150390625, + "y": 1801.69287109375, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 10, + "x": -374.2587890625, + "y": 1793.12841796875, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 11, + "x": -376.1328125, + "y": 1789.58935546875, + "type": "target", + "move_mode": "walk", + "action": "", + "action_params": "" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/process/父亲能做的事/晨曦酒庄/父亲能做的事-晨曦酒庄-2.json b/repo/js/AutoCommission/assets/process/父亲能做的事/晨曦酒庄/父亲能做的事-晨曦酒庄-2.json new file mode 100644 index 00000000..a734536c --- /dev/null +++ b/repo/js/AutoCommission/assets/process/父亲能做的事/晨曦酒庄/父亲能做的事-晨曦酒庄-2.json @@ -0,0 +1,67 @@ +{ + "info": { + "name": "父亲能做的事-晨曦酒庄-2", + "type": "collect", + "author": "11", + "version": "1.0", + "description": "父亲能做的事-晨曦酒庄-2", + "map_name": "Teyvat", + "bgi_version": "0.45.0" + }, + "positions": [ + { + "id": 1, + "x": -749.4365234375, + "y": 2263.11474609375, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "teleport" + }, + { + "id": 2, + "x": -748.0517578125, + "y": 2264.512451171875, + "action": "", + "move_mode": "fly", + "action_params": "", + "type": "path" + }, + { + "id": 3, + "x": -719.00390625, + "y": 2301.57080078125, + "action": "stop_flying", + "move_mode": "fly", + "action_params": "", + "type": "path" + }, + { + "id": 4, + "x": -705.7412109375, + "y": 2353.3037109375, + "action": "", + "move_mode": "dash", + "action_params": "", + "type": "path" + }, + { + "id": 5, + "x": -697.658203125, + "y": 2357.437255859375, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 6, + "x": -684.8525390625, + "y": 2355.17578125, + "action": "combat_script", + "move_mode": "walk", + "action_params": "attack,wait(1),walk(w,0.2),wait(2),keypress(f),wait(14),walk(w,1.6),wait(2),walk(a,0.6),wait(1),moveby(286,0),walk(w,6.3),wait(2),walk(d,0.2),wait(2),keypress(s),", + "type": "path" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/process/父亲能做的事/晨曦酒庄/父亲能做的事-晨曦酒庄-3.json b/repo/js/AutoCommission/assets/process/父亲能做的事/晨曦酒庄/父亲能做的事-晨曦酒庄-3.json new file mode 100644 index 00000000..ed410092 --- /dev/null +++ b/repo/js/AutoCommission/assets/process/父亲能做的事/晨曦酒庄/父亲能做的事-晨曦酒庄-3.json @@ -0,0 +1,112 @@ +{ + "info": { + "name": "父亲能做的事-晨曦酒庄", + "type": "collect", + "author": "11", + "version": "1.0", + "description": "父亲能做的事-晨曦酒庄-1", + "map_name": "Teyvat", + "bgi_version": "0.45.0" + }, + "positions": [ + { + "id": 1, + "action": "", + "move_mode": "walk", + "type": "teleport", + "x": -578.81640625, + "y": 1853.37255859375, + "action_params": "" + }, + { + "id": 2, + "x": -491.6826171875, + "y": 1825.15087890625, + "type": "path", + "move_mode": "dash", + "action": "", + "action_params": "" + }, + { + "id": 3, + "x": -485.435546875, + "y": 1822.61767578125, + "type": "path", + "move_mode": "fly", + "action": "", + "action_params": "" + }, + { + "id": 4, + "x": -445.2705078125, + "y": 1805.80078125, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 5, + "x": -439.673828125, + "y": 1793.24267578125, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 6, + "x": -420.3369140625, + "y": 1789.75439453125, + "type": "path", + "move_mode": "run", + "action": "", + "action_params": "" + }, + { + "id": 7, + "x": -407.6767578125, + "y": 1793.21533203125, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 8, + "x": -392.833984375, + "y": 1797.24267578125, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 9, + "x": -380.150390625, + "y": 1801.69287109375, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 10, + "x": -374.2587890625, + "y": 1793.12841796875, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 11, + "x": -376.1328125, + "y": 1789.58935546875, + "type": "target", + "move_mode": "walk", + "action": "", + "action_params": "" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/process/诗歌交流/坠星山谷/process.json b/repo/js/AutoCommission/assets/process/诗歌交流/坠星山谷/process.json new file mode 100644 index 00000000..2955643a --- /dev/null +++ b/repo/js/AutoCommission/assets/process/诗歌交流/坠星山谷/process.json @@ -0,0 +1,6 @@ +诗歌交流-坠星山谷-1.json +F +诗歌交流-坠星山谷-2.json +F +诗歌交流-坠星山谷-3.json +F \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/process/诗歌交流/坠星山谷/诗歌交流-坠星山谷-1.json b/repo/js/AutoCommission/assets/process/诗歌交流/坠星山谷/诗歌交流-坠星山谷-1.json new file mode 100644 index 00000000..3182bef2 --- /dev/null +++ b/repo/js/AutoCommission/assets/process/诗歌交流/坠星山谷/诗歌交流-坠星山谷-1.json @@ -0,0 +1,67 @@ +{ + "info": { + "name": "诗歌交流-坠星山谷-1", + "type": "collect", + "author": "11", + "version": "1.0", + "description": "诗歌交流-坠星山谷-1", + "map_name": "Teyvat", + "bgi_version": "0.45.0" + }, + "positions": [ + { + "id": 1, + "action": "", + "move_mode": "walk", + "type": "teleport", + "x": -1536.81640625, + "y": 1978.66552734375, + "action_params": "" + }, + { + "id": 2, + "x": -1536.109375, + "y": 1982.35986328125, + "type": "path", + "move_mode": "fly", + "action": "stop_flying", + "action_params": "" + }, + { + "id": 3, + "x": -1502.8125, + "y": 2070.242431640625, + "type": "path", + "move_mode": "dash", + "action": "", + "action_params": "" + }, + { + "id": 4, + "x": -1472.19140625, + "y": 2081.34033203125, + "type": "path", + "move_mode": "dash", + "action": "", + "action_params": "" + }, + { + "id": 5, + "x": -1474.841796875, + "y": 2133.108154296875, + "type": "path", + "move_mode": "dash", + "action": "", + "action_params": "" + }, + { + "id": 6, + "x": -1473.66796875, + "y": 2144.080078125, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/process/诗歌交流/坠星山谷/诗歌交流-坠星山谷-2.json b/repo/js/AutoCommission/assets/process/诗歌交流/坠星山谷/诗歌交流-坠星山谷-2.json new file mode 100644 index 00000000..83d305c9 --- /dev/null +++ b/repo/js/AutoCommission/assets/process/诗歌交流/坠星山谷/诗歌交流-坠星山谷-2.json @@ -0,0 +1,40 @@ +{ + "info": { + "name": "诗歌交流-坠星山谷-2", + "type": "collect", + "author": "11", + "version": "1.0", + "description": "诗歌交流-坠星山谷-2", + "map_name": "Teyvat", + "bgi_version": "0.45.0" + }, + "positions": [ + { + "id": 1, + "action": "", + "move_mode": "walk", + "type": "path", + "x": -1473.802734375, + "y": 2143.8759765625, + "action_params": "" + }, + { + "id": 2, + "x": -1455.962890625, + "y": 2159.3115234375, + "type": "path", + "move_mode": "dash", + "action": "", + "action_params": "" + }, + { + "id": 3, + "x": -1475.9736328125, + "y": 2191.275634765625, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/process/诗歌交流/坠星山谷/诗歌交流-坠星山谷-3.json b/repo/js/AutoCommission/assets/process/诗歌交流/坠星山谷/诗歌交流-坠星山谷-3.json new file mode 100644 index 00000000..381ca9ce --- /dev/null +++ b/repo/js/AutoCommission/assets/process/诗歌交流/坠星山谷/诗歌交流-坠星山谷-3.json @@ -0,0 +1,31 @@ +{ + "info": { + "name": "诗歌交流-坠星山谷-3", + "type": "collect", + "author": "11", + "version": "1.0", + "description": "诗歌交流-坠星山谷-3", + "map_name": "Teyvat", + "bgi_version": "0.45.0" + }, + "positions": [ + { + "id": 1, + "action": "", + "move_mode": "walk", + "type": "path", + "x": -1476.3779296875, + "y": 2190.221923828125, + "action_params": "" + }, + { + "id": 2, + "x": -1473.28125, + "y": 2143.79248046875, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/process/语言交流/坠星山谷/process.json b/repo/js/AutoCommission/assets/process/语言交流/坠星山谷/process.json new file mode 100644 index 00000000..7c2120a4 --- /dev/null +++ b/repo/js/AutoCommission/assets/process/语言交流/坠星山谷/process.json @@ -0,0 +1,7 @@ +语言交流-1.json +F +语言交流-2.json +F +语言交流-3.json +语言交流-4.json +F \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/process/语言交流/坠星山谷/语言交流-1.json b/repo/js/AutoCommission/assets/process/语言交流/坠星山谷/语言交流-1.json new file mode 100644 index 00000000..29703691 --- /dev/null +++ b/repo/js/AutoCommission/assets/process/语言交流/坠星山谷/语言交流-1.json @@ -0,0 +1,30 @@ +{ + "info": { + "name": "语言交流-1", + "type": "collect", + "author": "LX666-666", + "version": "1.0", + "description": "", + "bgi_version": "0.42.3" + }, + "positions": [ + { + "id": 1, + "action": "", + "move_mode": "walk", + "type": "teleport", + "x": -1558.7587890625, + "y": 2495.6064453125, + "action_params": "" + }, + { + "id": 2, + "x": -1526.3173828125, + "y": 2498.93212890625, + "type": "target", + "move_mode": "walk", + "action": "", + "action_params": "" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/process/语言交流/坠星山谷/语言交流-2.json b/repo/js/AutoCommission/assets/process/语言交流/坠星山谷/语言交流-2.json new file mode 100644 index 00000000..e473ed30 --- /dev/null +++ b/repo/js/AutoCommission/assets/process/语言交流/坠星山谷/语言交流-2.json @@ -0,0 +1,30 @@ +{ + "info": { + "name": "语言交流-2", + "type": "collect", + "author": "LX666-666", + "version": "1.0", + "description": "", + "bgi_version": "0.42.3" + }, + "positions": [ + { + "id": 1, + "x": -1526.9365234375, + "y": 2498.802001953125, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 2, + "x": -1527.57421875, + "y": 2479.588134765625, + "type": "target", + "move_mode": "walk", + "action": "", + "action_params": "" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/process/语言交流/坠星山谷/语言交流-3.json b/repo/js/AutoCommission/assets/process/语言交流/坠星山谷/语言交流-3.json new file mode 100644 index 00000000..b80458b6 --- /dev/null +++ b/repo/js/AutoCommission/assets/process/语言交流/坠星山谷/语言交流-3.json @@ -0,0 +1,39 @@ +{ + "info": { + "name": "语言交流-3", + "type": "collect", + "author": "LX666-666", + "version": "1.0", + "description": "", + "bgi_version": "0.42.3" + }, + "positions": [ + { + "id": 1, + "x": -1527.5419921875, + "y": 2480.11181640625, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 2, + "x": -1513.6279296875, + "y": 2478.95361328125, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 3, + "x": -1514.599609375, + "y": 2472.046875, + "action": "fight", + "move_mode": "walk", + "action_params": "", + "type": "target" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/process/语言交流/坠星山谷/语言交流-4.json b/repo/js/AutoCommission/assets/process/语言交流/坠星山谷/语言交流-4.json new file mode 100644 index 00000000..2e3308a2 --- /dev/null +++ b/repo/js/AutoCommission/assets/process/语言交流/坠星山谷/语言交流-4.json @@ -0,0 +1,21 @@ +{ + "info": { + "name": "语言交流-4", + "type": "collect", + "author": "LX666-666", + "version": "1.0", + "description": "", + "bgi_version": "0.42.3" + }, + "positions": [ + { + "id": 1, + "x": -1514.599609375, + "y": 2472.046875, + "type": "target", + "move_mode": "walk", + "action": "", + "action_params": "" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/process/说到做到/苍风高地/process.json b/repo/js/AutoCommission/assets/process/说到做到/苍风高地/process.json new file mode 100644 index 00000000..56a5f8ff --- /dev/null +++ b/repo/js/AutoCommission/assets/process/说到做到/苍风高地/process.json @@ -0,0 +1,5 @@ +说到做到-1.json +F +说到做到-2.json +说到做到-1.json +F \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/process/说到做到/苍风高地/说到做到-1.json b/repo/js/AutoCommission/assets/process/说到做到/苍风高地/说到做到-1.json new file mode 100644 index 00000000..bddabe1e --- /dev/null +++ b/repo/js/AutoCommission/assets/process/说到做到/苍风高地/说到做到-1.json @@ -0,0 +1,76 @@ +{ + "info": { + "name": "说到做到-1", + "type": "collect", + "author": "LX666-666", + "version": "1.0", + "description": "", + "bgi_version": "0.42.3" + }, + "positions": [ + { + "id": 1, + "x": -1136, + "y": 1589, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "teleport" + }, + { + "id": 2, + "x": -1142.5, + "y": 1623.5, + "action": "", + "move_mode": "dash", + "action_params": "", + "type": "path" + }, + { + "id": 3, + "x": -1097, + "y": 1647.75, + "action": "", + "move_mode": "dash", + "action_params": "", + "type": "path" + }, + { + "id": 4, + "x": -1079.5, + "y": 1666.75, + "action": "", + "move_mode": "dash", + "action_params": "", + "type": "path" + }, + { + "id": 5, + "x": -1091.875, + "y": 1767.5, + "action": "", + "move_mode": "dash", + "action_params": "", + "type": "path" + }, + { + "id": 6, + "x": -1094.125, + "y": 1775.375, + "action": "stop_flying", + "move_mode": "fly", + "action_params": "", + "type": "path", + "locked": false + }, + { + "id": 7, + "x": -1088.517578125, + "y": 1770.88134765625, + "type": "target", + "move_mode": "walk", + "action": "", + "action_params": "" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/process/说到做到/苍风高地/说到做到-2.json b/repo/js/AutoCommission/assets/process/说到做到/苍风高地/说到做到-2.json new file mode 100644 index 00000000..8559b9b6 --- /dev/null +++ b/repo/js/AutoCommission/assets/process/说到做到/苍风高地/说到做到-2.json @@ -0,0 +1,53 @@ +{ + "info": { + "name": "说到做到-2", + "type": "collect", + "author": "LX666-666", + "version": "1.0", + "description": "", + "bgi_version": "0.42.3" + }, + "positions": [ + { + "id": 1, + "x": -1131.666015625, + "y": 1597.25390625, + "action": "", + "move_mode": "dash", + "action_params": "", + "type": "teleport" + }, + { + "id": 2, + "x": -1155.25, + "y": 1628, + "type": "path", + "move_mode": "dash" + }, + { + "id": 3, + "x": -1186.5, + "y": 1648, + "type": "path", + "move_mode": "fly" + }, + { + "id": 4, + "x": -1198.5, + "y": 1654.75, + "type": "path", + "move_mode": "fly", + "action": "stop_flying", + "action_params": "" + }, + { + "id": 5, + "x": -1192.25, + "y": 1645, + "action": "fight", + "move_mode": "walk", + "action_params": "", + "type": "path" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/process/那位先生的委托/蒙德城/process.json b/repo/js/AutoCommission/assets/process/那位先生的委托/蒙德城/process.json new file mode 100644 index 00000000..e8abef41 --- /dev/null +++ b/repo/js/AutoCommission/assets/process/那位先生的委托/蒙德城/process.json @@ -0,0 +1,5 @@ +那位先生的委托-蒙德城-1.json +F +那位先生的委托-蒙德城-2.json +那位先生的委托-蒙德城-3.json +F \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/process/那位先生的委托/蒙德城/那位先生的委托-蒙德城-1.json b/repo/js/AutoCommission/assets/process/那位先生的委托/蒙德城/那位先生的委托-蒙德城-1.json new file mode 100644 index 00000000..2ceff50e --- /dev/null +++ b/repo/js/AutoCommission/assets/process/那位先生的委托/蒙德城/那位先生的委托-蒙德城-1.json @@ -0,0 +1,49 @@ +{ + "info": { + "name": "那位先生的委托-蒙德城-1", + "type": "collect", + "author": "11", + "version": "1.0", + "description": "那位先生的委托", + "map_name": "Teyvat", + "bgi_version": "0.45.0" + }, + "positions": [ + { + "id": 1, + "x": -749.439453125, + "y": 2263.041748046875, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "teleport" + }, + { + "id": 2, + "x": -748.8779296875, + "y": 2264.105712890625, + "action": "", + "move_mode": "fly", + "action_params": "", + "type": "path" + }, + { + "id": 3, + "x": -736, + "y": 2289, + "action": "stop_flying", + "move_mode": "fly", + "action_params": "", + "type": "path" + }, + { + "id": 4, + "x": -740.5908203125, + "y": 2312.26416015625, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "target" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/process/那位先生的委托/蒙德城/那位先生的委托-蒙德城-2.json b/repo/js/AutoCommission/assets/process/那位先生的委托/蒙德城/那位先生的委托-蒙德城-2.json new file mode 100644 index 00000000..5c16a54c --- /dev/null +++ b/repo/js/AutoCommission/assets/process/那位先生的委托/蒙德城/那位先生的委托-蒙德城-2.json @@ -0,0 +1,76 @@ +{ + "info": { + "name": "那位先生的委托-蒙德城-2", + "type": "collect", + "author": "11", + "version": "1.0", + "description": "那位先生的委托", + "map_name": "Teyvat", + "bgi_version": "0.45.0" + }, + "positions": [ + { + "id": 1, + "action": "", + "move_mode": "walk", + "type": "teleport", + "x": -1120.9873046875, + "y": 2190.6201171875, + "action_params": "" + }, + { + "id": 2, + "x": -1120.3984375, + "y": 2201.94091796875, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 3, + "x": -1124.7353515625, + "y": 2272.84619140625, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 4, + "x": -1126.775390625, + "y": 2287.29638671875, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 5, + "x": -1138.939453125, + "y": 2305.73291015625, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 6, + "x": -1143.5810546875, + "y": 2333.4033203125, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 7, + "x": -1144.2900390625, + "y": 2349.982177734375, + "type": "path", + "move_mode": "walk", + "action": "fight", + "action_params": "" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/process/那位先生的委托/蒙德城/那位先生的委托-蒙德城-3.json b/repo/js/AutoCommission/assets/process/那位先生的委托/蒙德城/那位先生的委托-蒙德城-3.json new file mode 100644 index 00000000..2ceff50e --- /dev/null +++ b/repo/js/AutoCommission/assets/process/那位先生的委托/蒙德城/那位先生的委托-蒙德城-3.json @@ -0,0 +1,49 @@ +{ + "info": { + "name": "那位先生的委托-蒙德城-1", + "type": "collect", + "author": "11", + "version": "1.0", + "description": "那位先生的委托", + "map_name": "Teyvat", + "bgi_version": "0.45.0" + }, + "positions": [ + { + "id": 1, + "x": -749.439453125, + "y": 2263.041748046875, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "teleport" + }, + { + "id": 2, + "x": -748.8779296875, + "y": 2264.105712890625, + "action": "", + "move_mode": "fly", + "action_params": "", + "type": "path" + }, + { + "id": 3, + "x": -736, + "y": 2289, + "action": "stop_flying", + "move_mode": "fly", + "action_params": "", + "type": "path" + }, + { + "id": 4, + "x": -740.5908203125, + "y": 2312.26416015625, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "target" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/process/钥匙是易丢品/晨曦酒庄/process.json b/repo/js/AutoCommission/assets/process/钥匙是易丢品/晨曦酒庄/process.json new file mode 100644 index 00000000..01daf6ca --- /dev/null +++ b/repo/js/AutoCommission/assets/process/钥匙是易丢品/晨曦酒庄/process.json @@ -0,0 +1,4 @@ +钥匙是易丢物品-晨曦酒庄-1.json +F +钥匙是易丢物品-晨曦酒庄-2.json +F \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/process/钥匙是易丢品/晨曦酒庄/钥匙是易丢物品-晨曦酒庄-1.json b/repo/js/AutoCommission/assets/process/钥匙是易丢品/晨曦酒庄/钥匙是易丢物品-晨曦酒庄-1.json new file mode 100644 index 00000000..2b2b033b --- /dev/null +++ b/repo/js/AutoCommission/assets/process/钥匙是易丢品/晨曦酒庄/钥匙是易丢物品-晨曦酒庄-1.json @@ -0,0 +1,68 @@ +{ + "info": { + "name": "钥匙是易丢物品-晨曦酒庄-1", + "type": "collect", + "author": "11", + "version": "1.0", + "description": "钥匙是易丢物品2", + "map_name": "Teyvat", + "bgi_version": "0.45.0" + }, + "positions": [ + { + "id": 1, + "action": "", + "move_mode": "walk", + "type": "teleport", + "x": -578.76171875, + "y": 1853.5517578125, + "action_params": "" + }, + { + "id": 2, + "x": -555.89453125, + "y": 1844.61572265625, + "type": "path", + "move_mode": "dash", + "action": "", + "action_params": "" + }, + { + "id": 3, + "x": -495.7841796875, + "y": 1822.93310546875, + "type": "path", + "move_mode": "jump", + "action": "", + "action_params": "", + "locked": false + }, + { + "id": 4, + "x": -488.7841796875, + "y": 1820.93310546875, + "type": "path", + "move_mode": "fly", + "action": "", + "action_params": "" + }, + { + "id": 5, + "x": -456.9140625, + "y": 1808.41552734375, + "type": "path", + "move_mode": "fly", + "action": "stop_flying", + "action_params": "100" + }, + { + "id": 6, + "x": -442.2568359375, + "y": 1790.41357421875, + "type": "target", + "move_mode": "walk", + "action": "", + "action_params": "" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/process/钥匙是易丢品/晨曦酒庄/钥匙是易丢物品-晨曦酒庄-2 .json b/repo/js/AutoCommission/assets/process/钥匙是易丢品/晨曦酒庄/钥匙是易丢物品-晨曦酒庄-2 .json new file mode 100644 index 00000000..e73ea0be --- /dev/null +++ b/repo/js/AutoCommission/assets/process/钥匙是易丢品/晨曦酒庄/钥匙是易丢物品-晨曦酒庄-2 .json @@ -0,0 +1,193 @@ +{ + "info": { + "name": "钥匙是易丢物品-晨曦酒庄-2", + "type": "collect", + "author": "11", + "version": "1.0", + "description": "钥匙是易丢物品2", + "map_name": "Teyvat", + "bgi_version": "0.45.0" + }, + "positions": [ + { + "id": 1, + "x": -442.783203125, + "y": 1790.21826171875, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 2, + "x": -443.55078125, + "y": 1755.0136718749998, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 3, + "x": -448.6533203125, + "y": 1721.419921875, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 4, + "x": -455.9951171875, + "y": 1696.10107421875, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 5, + "x": -459.19921875, + "y": 1705.77734375, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 6, + "x": -466.1142578125, + "y": 1701.08544921875, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "target" + }, + { + "id": 7, + "x": -474.76171875, + "y": 1713.13330078125, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 8, + "x": -493.640625, + "y": 1723.76318359375, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "target" + }, + { + "id": 9, + "x": -477.82421875, + "y": 1750.01806640625, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 10, + "x": -473.2314453125, + "y": 1794.81005859375, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 11, + "x": -446.4462890625, + "y": 1804.73046875, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 12, + "x": -386.4208984375, + "y": 1820.828125, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 13, + "x": -385.7529296875, + "y": 1832.931640625, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "target" + }, + { + "id": 14, + "x": -375.109375, + "y": 1804.3125, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 15, + "x": -365.55078125, + "y": 1788.20068359375, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 16, + "x": -362.6923828125, + "y": 1788.6904296875, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "target" + }, + { + "id": 17, + "x": -385.783203125, + "y": 1777.36572265625, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 18, + "x": -402.17578125, + "y": 1786.65673828125, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 19, + "x": -418.06738281250006, + "y": 1780.18115234375, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 20, + "x": -441.8291015625, + "y": 1790.55078125, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "target" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/process/钥匙是易丢品/达达乌帕谷/process.json b/repo/js/AutoCommission/assets/process/钥匙是易丢品/达达乌帕谷/process.json new file mode 100644 index 00000000..9b95e812 --- /dev/null +++ b/repo/js/AutoCommission/assets/process/钥匙是易丢品/达达乌帕谷/process.json @@ -0,0 +1,40 @@ +[ + { + "type": "地图追踪", + "data": "钥匙是易丢品-达达乌帕谷-1.json", + "note": "执行第一个地图追踪步骤" + }, + { + "type": "对话", + "data": { + "skipCount": 6, + "priorityOptions": ["好的"], + "npcWhiteList": ["怀尔德"] + }, + "note": "执行对话步骤,优先选择特定选项并与白名单NPC交互" + }, + { + "type": "地图追踪", + "data": "钥匙是易丢品-达达乌帕谷-2.json", + "note": "执行第一个地图追踪步骤" + }, + { + "type": "地图追踪", + "data": "钥匙是易丢品-达达乌帕谷-3.json", + "note": "执行第一个地图追踪步骤" + }, + { + "type": "地图追踪", + "data": "钥匙是易丢品-达达乌帕谷-1.json", + "note": "执行第一个地图追踪步骤" + }, + { + "type": "对话", + "data": { + "skipCount": 3, + "priorityOptions": ["这是你丢的钥匙吗?"], + "npcWhiteList": ["怀尔德"] + }, + "note": "执行对话步骤,优先选择特定选项并与白名单NPC交互" + } +] \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/process/钥匙是易丢品/达达乌帕谷/钥匙是易丢品-达达乌帕谷-1.json b/repo/js/AutoCommission/assets/process/钥匙是易丢品/达达乌帕谷/钥匙是易丢品-达达乌帕谷-1.json new file mode 100644 index 00000000..24b5ef0f --- /dev/null +++ b/repo/js/AutoCommission/assets/process/钥匙是易丢品/达达乌帕谷/钥匙是易丢品-达达乌帕谷-1.json @@ -0,0 +1,58 @@ +{ + "info": { + "name": "钥匙是易丢物品", + "type": "collect", + "author": "11", + "version": "1.0", + "description": "钥匙是易丢物品", + "map_name": "Teyvat", + "bgi_version": "0.45.0" + }, + "positions": [ + { + "id": 1, + "action": "", + "move_mode": "walk", + "type": "teleport", + "x": -1432.650390625, + "y": 1464.65673828125, + "action_params": "" + }, + { + "id": 2, + "x": -1457.60546875, + "y": 1451.36474609375, + "type": "path", + "move_mode": "fly", + "action": "", + "action_params": "" + }, + { + "id": 3, + "x": -1472.6240234375, + "y": 1444.4580078125, + "type": "path", + "move_mode": "fly", + "action": "", + "action_params": "" + }, + { + "id": 4, + "x": -1500.3818359375, + "y": 1435.9716796875, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 5, + "x": -1538.0888671875, + "y": 1415.87646484375, + "type": "target", + "move_mode": "walk", + "action": "", + "action_params": "" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/process/钥匙是易丢品/达达乌帕谷/钥匙是易丢品-达达乌帕谷-2.json b/repo/js/AutoCommission/assets/process/钥匙是易丢品/达达乌帕谷/钥匙是易丢品-达达乌帕谷-2.json new file mode 100644 index 00000000..78097512 --- /dev/null +++ b/repo/js/AutoCommission/assets/process/钥匙是易丢品/达达乌帕谷/钥匙是易丢品-达达乌帕谷-2.json @@ -0,0 +1,178 @@ +{ + "info": { + "name": "钥匙是易丢物品-达达乌帕谷", + "type": "collect", + "author": "11", + "version": "1.0", + "description": "钥匙是易丢物品-达达乌帕谷", + "map_name": "Teyvat", + "bgi_version": "0.45.0" + }, + "positions": [ + { + "id": 1, + "action": "", + "move_mode": "walk", + "type": "path", + "x": -1537.58984375, + "y": 1415.99169921875, + "action_params": "", + "locked": false + }, + { + "id": 2, + "x": -1531.7080078125, + "y": 1358.65771484375, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "", + "locked": false + }, + { + "id": 3, + "x": -1533.7119140625, + "y": 1297.326171875, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "", + "locked": false + }, + { + "id": 4, + "x": -1517.5908203125, + "y": 1275.15966796875, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 5, + "x": -1497.7314453125, + "y": 1288.021484375, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 6, + "x": -1485.02734375, + "y": 1267.44921875, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 7, + "x": -1439.3837890625, + "y": 1274.07861328125, + "type": "target", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 8, + "x": -1442.4599609375, + "y": 1249.560546875, + "type": "path", + "move_mode": "climb", + "action": "", + "action_params": "" + }, + { + "id": 9, + "x": -1445.2509765625, + "y": 1251.44140625, + "type": "target", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 10, + "x": -1411.1650390625, + "y": 1258.8120117187498, + "type": "path", + "move_mode": "walk", + "action": "fight", + "action_params": "" + }, + { + "id": 11, + "x": -1436.15234375, + "y": 1255.63525390625, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 12, + "x": -1467.1767578125, + "y": 1270.5498046875, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 13, + "x": -1488.24609375, + "y": 1266.62744140625, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 14, + "x": -1496.958984375, + "y": 1282.8486328125, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 15, + "x": -1514.9072265625, + "y": 1272.970703125, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 16, + "x": -1533.7119140625, + "y": 1297.326171875, + "type": "path", + "move_mode": "walk", + "action": "fight", + "action_params": "" + }, + { + "id": 17, + "x": -1531.7080078125, + "y": 1358.65771484375, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 18, + "action": "", + "move_mode": "walk", + "type": "path", + "x": -1537.58984375, + "y": 1415.99169921875, + "action_params": "" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/process/钥匙是易丢品/达达乌帕谷/钥匙是易丢品-达达乌帕谷-3.json b/repo/js/AutoCommission/assets/process/钥匙是易丢品/达达乌帕谷/钥匙是易丢品-达达乌帕谷-3.json new file mode 100644 index 00000000..52941b03 --- /dev/null +++ b/repo/js/AutoCommission/assets/process/钥匙是易丢品/达达乌帕谷/钥匙是易丢品-达达乌帕谷-3.json @@ -0,0 +1,167 @@ +{ + "info": { + "name": "钥匙是易丢物品-达达乌帕谷大锅位置", + "type": "collect", + "author": "11", + "version": "1.0", + "description": "钥匙是易丢物品-达达乌帕谷大锅位置", + "map_name": "Teyvat", + "bgi_version": "0.45.0" + }, + "positions": [ + { + "id": 1, + "x": -1540.1884765625, + "y": 1413.04296875, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 2, + "x": -1580.9248046875, + "y": 1411.60546875, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 3, + "x": -1599.0830078125, + "y": 1473.849609375, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 4, + "x": -1607.7294921875, + "y": 1487.51904296875, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 5, + "x": -1613.5263671875, + "y": 1509.744140625, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 6, + "x": -1599.279296875, + "y": 1543.27099609375, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 7, + "x": -1581.9541015625, + "y": 1557.22802734375, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 8, + "x": -1567.30859375, + "y": 1563.79296875, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 9, + "x": -1562.21875, + "y": 1565.611328125, + "type": "path", + "move_mode": "walk", + "action": "fight", + "action_params": "" + }, + { + "id": 10, + "x": -1564.8750601748943, + "y": 1571.5, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 11, + "x": -1563.5623094461644, + "y": 1565.625, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 12, + "x": -1576.18775072873, + "y": 1561.25, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 13, + "x": -1578.5908203125, + "y": 1592.2978515625, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "path", + "locked": false + }, + { + "id": 14, + "x": -1582.5908203125, + "y": 1600.2978515625, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 15, + "x": -1584.154296875, + "y": 1603.55810546875, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 16, + "x": -1600.962890625, + "y": 1606.20947265625, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 17, + "x": -1605.0751953125, + "y": 1609.23193359375, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/丘丘人的一小步/低语森林-1.json b/repo/js/AutoCommission/assets/丘丘人的一小步/低语森林-1.json new file mode 100644 index 00000000..150fb2e0 --- /dev/null +++ b/repo/js/AutoCommission/assets/丘丘人的一小步/低语森林-1.json @@ -0,0 +1,40 @@ +{ + "info": { + "name": "低语森林-1", + "type": "collect", + "author": "LX666-666", + "version": "1.0", + "description": "", + "map_name": "Teyvat", + "bgi_version": "0.45.0" + }, + "positions": [ + { + "id": 1, + "x": -1332, + "y": 2559.5, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "teleport" + }, + { + "id": 2, + "x": -1296.5, + "y": 2549, + "action": "", + "move_mode": "fly", + "action_params": "", + "type": "path" + }, + { + "id": 3, + "x": -1108.62, + "y": 2459.38, + "action": "fight", + "move_mode": "dash", + "action_params": "", + "type": "path" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/丘丘人的一小步/坠星山谷-1.json b/repo/js/AutoCommission/assets/丘丘人的一小步/坠星山谷-1.json new file mode 100644 index 00000000..d73fbdc8 --- /dev/null +++ b/repo/js/AutoCommission/assets/丘丘人的一小步/坠星山谷-1.json @@ -0,0 +1,162 @@ +{ + "info": { + "name": "坠星山谷-1", + "type": "collect", + "author": "1", + "version": "1.0", + "description": "", + "bgi_version": "0.42.3" + }, + "positions": [ + { + "id": 1, + "x": -1120.44, + "y": 2205.25, + "action": "", + "move_mode": "dash", + "action_params": "", + "type": "teleport" + }, + { + "id": 2, + "x": -1140.19, + "y": 2190.75, + "action": "", + "move_mode": "run", + "action_params": "", + "type": "path" + }, + { + "id": 3, + "x": -1164.87, + "y": 2194.98, + "action": "", + "move_mode": "run", + "action_params": "", + "type": "path" + }, + { + "id": 4, + "x": -1185.66, + "y": 2223.25, + "action": "fight", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 5, + "x": -1164.75, + "y": 2289.5, + "action": "stop_flying", + "move_mode": "fly", + "action_params": "", + "type": "path" + }, + { + "id": 6, + "x": -1139.7, + "y": 2331.25, + "action": "", + "move_mode": "run", + "action_params": "", + "type": "path" + }, + { + "id": 7, + "x": -1135.7, + "y": 2380.0, + "action": "", + "move_mode": "run", + "action_params": "", + "type": "path" + }, + { + "id": 8, + "x": -1163.68, + "y": 2419.75, + "action": "", + "move_mode": "dash", + "action_params": "", + "type": "path" + }, + { + "id": 9, + "x": -1168.18, + "y": 2447.5, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 10, + "x": -1109.5, + "y": 2462.75, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 11, + "x": -1099.81, + "y": 2453.25, + "action": "fight", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 12, + "x": -1094.88, + "y": 2444.75, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 13, + "x": -1098.37, + "y": 2436.25, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 14, + "x": -1095.38, + "y": 2424.88, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 15, + "x": -1102.13, + "y": 2418.12, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 16, + "x": -1113.25, + "y": 2428.38, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 17, + "x": -1110.19, + "y": 2446.0, + "action": "fight", + "move_mode": "walk", + "action_params": "", + "type": "path" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/丘丘人的一小步/苍风高地-1.json b/repo/js/AutoCommission/assets/丘丘人的一小步/苍风高地-1.json new file mode 100644 index 00000000..7d9f8203 --- /dev/null +++ b/repo/js/AutoCommission/assets/丘丘人的一小步/苍风高地-1.json @@ -0,0 +1,75 @@ +{ + "info": { + "name": "苍风高地-1", + "type": "collect", + "author": "1", + "version": "1.0", + "description": "", + "map_name": "Teyvat", + "bgi_version": "0.45.0" + }, + "positions": [ + { + "id": 1, + "x": -601.4300000000003, + "y": 1842.75, + "type": "teleport", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 2, + "x": -604, + "y": 1827.25, + "type": "path", + "move_mode": "dash", + "action": "", + "action_params": "" + }, + { + "id": 3, + "x": -627.8799999999992, + "y": 1820.25, + "type": "path", + "move_mode": "dash", + "action": "", + "action_params": "" + }, + { + "id": 4, + "x": -645.5200000000004, + "y": 1810.119999999999, + "type": "path", + "move_mode": "dash", + "action": "", + "action_params": "" + }, + { + "id": 5, + "x": -656, + "y": 1801, + "action": "", + "move_mode": "dash", + "type": "path" + }, + { + "id": 6, + "x": -668, + "y": 1789, + "action": "fight", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 7, + "x": -673.4400000000005, + "y": 1782.5599999999995, + "type": "path", + "move_mode": "walk", + "action": "fight", + "action_params": "" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/丘丘人的一小步/鹰翔海滩-1.json b/repo/js/AutoCommission/assets/丘丘人的一小步/鹰翔海滩-1.json new file mode 100644 index 00000000..fb4a1990 --- /dev/null +++ b/repo/js/AutoCommission/assets/丘丘人的一小步/鹰翔海滩-1.json @@ -0,0 +1,96 @@ +{ + "info": { + "name": "鹰翔海滩-1", + "type": "collect", + "author": "1", + "version": "", + "description": "", + "bgi_version": "0.42.3" + }, + "positions": [ + { + "id": 1, + "x": -1427.82, + "y": 1661.6, + "action": "", + "move_mode": "walk", + "type": "teleport" + }, + { + "id": 2, + "x": -1435.92, + "y": 1678.21, + "action": "", + "move_mode": "fly", + "type": "path" + }, + { + "id": 3, + "x": -1446.95, + "y": 1687.08, + "action": "", + "move_mode": "fly", + "type": "path" + }, + { + "id": 4, + "x": -1480.95, + "y": 1719.54, + "action": "", + "move_mode": "fly", + "type": "path" + }, + { + "id": 5, + "x": -1507.74, + "y": 1741.66, + "action": "", + "move_mode": "fly", + "type": "path" + }, + { + "id": 6, + "x": -1518.96, + "y": 1749.83, + "action": "stop_flying", + "move_mode": "fly", + "action_params": "", + "type": "path" + }, + { + "id": 7, + "x": -1519.0, + "y": 1757.69, + "action": "fight", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 8, + "x": -1499.19, + "y": 1767.11, + "action": "fight", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 9, + "x": -1512.64, + "y": 1774.49, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 10, + "x": -1517.04, + "y": 1744.9, + "action": "fight", + "move_mode": "walk", + "action_params": "", + "type": "path" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/临危受命/千风神殿-1.json b/repo/js/AutoCommission/assets/临危受命/千风神殿-1.json new file mode 100644 index 00000000..69567886 --- /dev/null +++ b/repo/js/AutoCommission/assets/临危受命/千风神殿-1.json @@ -0,0 +1,45 @@ +{ + "info": { + "name": "千风神殿-1", + "type": "collect", + "author": "1", + "version": "1.0", + "description": "", + "bgi_version": "0.42.0" + }, + "positions": [ + { + "id": 1, + "x": -1498.7, + "y": 2265.75, + "action": "", + "move_mode": "walk", + "type": "teleport" + }, + { + "id": 2, + "x": -1543.68, + "y": 2222.5, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 3, + "x": -1564.87, + "y": 2221.31, + "type": "path", + "move_mode": "run", + "action": "", + "action_params": "" + }, + { + "id": 4, + "x": -1578.92, + "y": 2236.75, + "action": "fight", + "move_mode": "walk", + "type": "path" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/临危受命/奔狼领-1.json b/repo/js/AutoCommission/assets/临危受命/奔狼领-1.json new file mode 100644 index 00000000..dc594d4e --- /dev/null +++ b/repo/js/AutoCommission/assets/临危受命/奔狼领-1.json @@ -0,0 +1,109 @@ +{ + "info": { + "name": "奔狼领-1", + "type": "collect", + "author": "1", + "version": "", + "description": "", + "bgi_version": "0.42.3" + }, + "positions": [ + { + "id": 1, + "x": -251.46, + "y": 2256.59, + "action": "", + "move_mode": "walk", + "type": "teleport" + }, + { + "id": 2, + "x": -240.81, + "y": 2239.41, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 3, + "x": -240.14, + "y": 2223.12, + "action": "", + "move_mode": "climb", + "type": "path" + }, + { + "id": 4, + "x": -238.66, + "y": 2213.93, + "action": "", + "move_mode": "climb", + "type": "path" + }, + { + "id": 5, + "x": -241.44, + "y": 2203.04, + "action": "", + "move_mode": "climb", + "type": "path" + }, + { + "id": 6, + "x": -246.81, + "y": 2194.87, + "action": "", + "move_mode": "climb", + "type": "path" + }, + { + "id": 7, + "x": -264.31, + "y": 2178.29, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 8, + "x": -289.77, + "y": 2182.94, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 9, + "x": -331.36, + "y": 2189.46, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 10, + "x": -325.25, + "y": 2183.62, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 11, + "x": -328.0, + "y": 2196.88, + "action": "fight", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 12, + "x": -318.0, + "y": 2184.88, + "action": "", + "move_mode": "walk", + "type": "path" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/临危受命/奔狼领-2.json b/repo/js/AutoCommission/assets/临危受命/奔狼领-2.json new file mode 100644 index 00000000..4a9c2217 --- /dev/null +++ b/repo/js/AutoCommission/assets/临危受命/奔狼领-2.json @@ -0,0 +1,161 @@ +{ + "info": { + "name": "奔狼领-2", + "type": "collect", + "author": "1", + "version": "", + "description": "", + "bgi_version": "0.42.3" + }, + "positions": [ + { + "id": 1, + "x": -386.29, + "y": 2297.87, + "action": "", + "move_mode": "run", + "type": "teleport" + }, + { + "id": 2, + "x": -374.65, + "y": 2323.25, + "action": "", + "move_mode": "dash", + "type": "path" + }, + { + "id": 3, + "x": -370.33, + "y": 2333.98, + "action": "", + "move_mode": "dash", + "type": "path" + }, + { + "id": 4, + "x": -359.52, + "y": 2347.23, + "action": "", + "move_mode": "dash", + "type": "path" + }, + { + "id": 5, + "x": -357.35, + "y": 2362.29, + "action": "", + "move_mode": "dash", + "type": "path" + }, + { + "id": 6, + "x": -373.22, + "y": 2369.18, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 7, + "x": -385.31, + "y": 2396.06, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 8, + "x": -386.81, + "y": 2401.75, + "move_mode": "walk", + "type": "path", + "action": "", + "action_params": "" + }, + { + "id": 9, + "x": -385.75, + "y": 2407.31, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 10, + "x": -383.75, + "y": 2412.0, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 11, + "x": -380.0, + "y": 2415.81, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 12, + "x": -371.44, + "y": 2421.19, + "action": "", + "move_mode": "run", + "type": "path" + }, + { + "id": 13, + "x": -360.25, + "y": 2423.25, + "type": "path", + "move_mode": "run", + "action": "", + "action_params": "" + }, + { + "id": 14, + "x": -349.05, + "y": 2420.94, + "action": "", + "move_mode": "run", + "type": "path" + }, + { + "id": 15, + "x": -324.88, + "y": 2412.1, + "action": "", + "move_mode": "run", + "type": "path" + }, + { + "id": 16, + "x": -303.7, + "y": 2419.31, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 17, + "x": -291.18, + "y": 2408.79, + "action": "", + "move_mode": "dash", + "type": "path" + }, + { + "id": 18, + "x": -277.56, + "y": 2386.81, + "action": "fight", + "move_mode": "walk", + "action_params": "", + "type": "path" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/临危受命/覆雪之路-1.json b/repo/js/AutoCommission/assets/临危受命/覆雪之路-1.json new file mode 100644 index 00000000..819fcc57 --- /dev/null +++ b/repo/js/AutoCommission/assets/临危受命/覆雪之路-1.json @@ -0,0 +1,28 @@ +{ + "info": { + "name": "覆雪之路-1", + "type": "collect", + "author": "未知作者", + "version": "1.0", + "description": "", + "bgi_version": "0.42.0" + }, + "positions": [ + { + "id": 1, + "action": "", + "move_mode": "walk", + "type": "teleport", + "x": -1025.44, + "y": 1321.75 + }, + { + "id": 2, + "action": "fight", + "move_mode": "walk", + "type": "path", + "x": -1050.18, + "y": 1304.75 + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/临危受命/达达乌帕谷-1.json b/repo/js/AutoCommission/assets/临危受命/达达乌帕谷-1.json new file mode 100644 index 00000000..0fc21a9b --- /dev/null +++ b/repo/js/AutoCommission/assets/临危受命/达达乌帕谷-1.json @@ -0,0 +1,57 @@ +{ + "info": { + "name": "达达乌帕谷-1", + "type": "collect", + "author": "1", + "version": "1.0", + "description": "", + "bgi_version": "0.42.0" + }, + "positions": [ + { + "id": 1, + "action": "", + "move_mode": "run", + "type": "teleport", + "x": -1440.48, + "y": 1454.5, + "action_params": "" + }, + { + "id": 2, + "action": "", + "move_mode": "walk", + "type": "path", + "x": -1491.46, + "y": 1356.5, + "action_params": "" + }, + { + "id": 3, + "action": "", + "move_mode": "walk", + "type": "path", + "x": -1539.43, + "y": 1306.0, + "action_params": "" + }, + { + "id": 4, + "action": "", + "move_mode": "walk", + "type": "path", + "x": -1505.68, + "y": 1259.25, + "action_params": "" + }, + { + "id": 5, + "action": "fight", + "move_mode": "walk", + "type": "path", + "x": -1480.44, + "y": 1251.25, + "action_params": "" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/临危受命/达达乌帕谷-2.json b/repo/js/AutoCommission/assets/临危受命/达达乌帕谷-2.json new file mode 100644 index 00000000..6e099c81 --- /dev/null +++ b/repo/js/AutoCommission/assets/临危受命/达达乌帕谷-2.json @@ -0,0 +1,84 @@ +{ + "info": { + "name": "达达乌帕谷-2", + "type": "collect", + "author": "1", + "version": "1.0", + "description": "", + "bgi_version": "0.42.3" + }, + "positions": [ + { + "id": 1, + "x": -1452.33, + "y": 1455.5, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "teleport" + }, + { + "id": 2, + "x": -1587.33, + "y": 1417.25, + "action": "", + "move_mode": "run", + "action_params": "", + "type": "path" + }, + { + "id": 3, + "x": -1614.0, + "y": 1354.88, + "action": "", + "move_mode": "dash", + "action_params": "", + "type": "path" + }, + { + "id": 4, + "x": -1632.81, + "y": 1355.0, + "action": "", + "move_mode": "run", + "action_params": "", + "type": "path" + }, + { + "id": 5, + "x": -1649.0, + "y": 1357.5, + "action": "", + "move_mode": "dash", + "action_params": "", + "type": "path" + }, + { + "id": 6, + "x": -1664.75, + "y": 1349.25, + "action": "", + "move_mode": "dash", + "action_params": "", + "type": "path" + }, + { + "id": 7, + "x": -1679.06, + "y": 1338.75, + "action": "", + "move_mode": "dash", + "action_params": "", + "type": "path" + }, + { + "id": 8, + "x": -1687.37, + "y": 1262.62, + "action": "fight", + "move_mode": "walk", + "action_params": "", + "type": "path" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/临危受命/达达乌帕谷-3.json b/repo/js/AutoCommission/assets/临危受命/达达乌帕谷-3.json new file mode 100644 index 00000000..db2faf56 --- /dev/null +++ b/repo/js/AutoCommission/assets/临危受命/达达乌帕谷-3.json @@ -0,0 +1,165 @@ +{ + "info": { + "name": "达达乌帕谷-3", + "type": "collect", + "author": "LX666-666", + "version": "1.0", + "description": "", + "bgi_version": "0.42.3" + }, + "positions": [ + { + "id": 1, + "x": -1432.67, + "y": 1464.64, + "type": "teleport", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 2, + "x": -1448.47, + "y": 1457.1, + "type": "path", + "move_mode": "fly", + "action": "", + "action_params": "" + }, + { + "id": 3, + "x": -1508.73, + "y": 1439.56, + "type": "path", + "move_mode": "dash", + "action": "", + "action_params": "" + }, + { + "id": 4, + "x": -1523.37, + "y": 1439.31, + "type": "path", + "move_mode": "dash", + "action": "", + "action_params": "" + }, + { + "id": 5, + "x": -1543.17, + "y": 1437.85, + "type": "path", + "move_mode": "dash", + "action": "", + "action_params": "" + }, + { + "id": 6, + "x": -1569.9, + "y": 1436.05, + "type": "path", + "move_mode": "dash", + "action": "", + "action_params": "" + }, + { + "id": 7, + "x": -1590.16, + "y": 1443.16, + "type": "path", + "move_mode": "dash", + "action": "", + "action_params": "" + }, + { + "id": 8, + "x": -1590.87, + "y": 1461.05, + "type": "path", + "move_mode": "dash", + "action": "", + "action_params": "" + }, + { + "id": 9, + "x": -1600.46, + "y": 1477.94, + "type": "path", + "move_mode": "dash", + "action": "", + "action_params": "" + }, + { + "id": 10, + "x": -1608.58, + "y": 1497.35, + "type": "path", + "move_mode": "dash", + "action": "", + "action_params": "" + }, + { + "id": 11, + "x": -1610.08, + "y": 1519.84, + "type": "path", + "move_mode": "dash", + "action": "", + "action_params": "" + }, + { + "id": 12, + "x": -1598.66, + "y": 1548.42, + "type": "path", + "move_mode": "dash", + "action": "", + "action_params": "" + }, + { + "id": 13, + "x": -1600.44, + "y": 1560.39, + "type": "path", + "move_mode": "dash", + "action": "", + "action_params": "" + }, + { + "id": 14, + "x": -1608.1, + "y": 1576.83, + "type": "path", + "move_mode": "dash", + "action": "", + "action_params": "" + }, + { + "id": 15, + "x": -1608.64, + "y": 1577.98, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 16, + "x": -1621.62, + "y": 1579.79, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 17, + "x": -1643.49, + "y": 1564.07, + "type": "target", + "move_mode": "walk", + "action": "fight", + "action_params": "" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/临危受命/风龙废墟-1.json b/repo/js/AutoCommission/assets/临危受命/风龙废墟-1.json new file mode 100644 index 00000000..b5aeb87c --- /dev/null +++ b/repo/js/AutoCommission/assets/临危受命/风龙废墟-1.json @@ -0,0 +1,39 @@ +{ + "info": { + "name": "风龙废墟-2", + "type": "collect", + "author": "1", + "version": "1.0", + "description": "", + "bgi_version": "0.42.0" + }, + "positions": [ + { + "id": 1, + "action": "", + "move_mode": "walk", + "type": "teleport", + "x": -89.55, + "y": 2780.75, + "action_params": "" + }, + { + "id": 2, + "action": "", + "move_mode": "walk", + "type": "path", + "x": -86.3, + "y": 2744.25, + "action_params": "" + }, + { + "id": 3, + "action": "fight", + "move_mode": "walk", + "type": "path", + "x": -95.29, + "y": 2748.75, + "action_params": "" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/临危受命/龙脊雪山-1.json b/repo/js/AutoCommission/assets/临危受命/龙脊雪山-1.json new file mode 100644 index 00000000..80fdb072 --- /dev/null +++ b/repo/js/AutoCommission/assets/临危受命/龙脊雪山-1.json @@ -0,0 +1,28 @@ +{ + "info": { + "name": "龙脊雪山-1", + "type": "collect", + "author": "未知作者", + "version": "1.0", + "description": "", + "bgi_version": "0.42.0" + }, + "positions": [ + { + "id": 1, + "action": "", + "move_mode": "walk", + "type": "teleport", + "x": -1025.44, + "y": 1321.75 + }, + { + "id": 2, + "action": "fight", + "move_mode": "walk", + "type": "path", + "x": -1050.18, + "y": 1304.75 + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/为了执行官大人/龙脊雪山-1.json b/repo/js/AutoCommission/assets/为了执行官大人/龙脊雪山-1.json new file mode 100644 index 00000000..54da0973 --- /dev/null +++ b/repo/js/AutoCommission/assets/为了执行官大人/龙脊雪山-1.json @@ -0,0 +1,36 @@ +{ + "info": { + "name": "龙脊雪山-1", + "type": "collect", + "author": "未知作者", + "version": "1.0", + "description": "", + "bgi_version": "0.42.0" + }, + "positions": [ + { + "id": 1, + "action": "", + "move_mode": "walk", + "type": "teleport", + "x": -577.4, + "y": 1462.0 + }, + { + "id": 2, + "x": -539.25, + "y": 1421.0, + "type": "path", + "move_mode": "run", + "action": "" + }, + { + "id": 3, + "action": "fight", + "move_mode": "walk", + "type": "path", + "x": -499.93, + "y": 1395.0 + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/冰凉凉的大团危机/苍风高地-1.json b/repo/js/AutoCommission/assets/冰凉凉的大团危机/苍风高地-1.json new file mode 100644 index 00000000..cec95754 --- /dev/null +++ b/repo/js/AutoCommission/assets/冰凉凉的大团危机/苍风高地-1.json @@ -0,0 +1,57 @@ +{ + "info": { + "name": "苍风高地-1", + "type": "collect", + "author": "1", + "version": "1.0", + "description": "", + "bgi_version": "0.42.0" + }, + "positions": [ + { + "id": 1, + "x": -345.97, + "y": 1468.25, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "teleport" + }, + { + "id": 2, + "x": -373.95, + "y": 1534.25, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 3, + "x": -383.75, + "y": 1570.0, + "action": "", + "move_mode": "fly", + "action_params": "", + "type": "path" + }, + { + "id": 4, + "x": -413.75, + "y": 1614.12, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 5, + "x": -424.87, + "y": 1609.0, + "action": "fight", + "move_mode": "walk", + "action_params": "", + "type": "path" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/冷冰冰的大麻烦/龙脊雪山-1.json b/repo/js/AutoCommission/assets/冷冰冰的大麻烦/龙脊雪山-1.json new file mode 100644 index 00000000..80535eb4 --- /dev/null +++ b/repo/js/AutoCommission/assets/冷冰冰的大麻烦/龙脊雪山-1.json @@ -0,0 +1,30 @@ +{ + "info": { + "name": "龙脊雪山-1", + "type": "collect", + "author": "1", + "version": "1.0", + "description": "", + "bgi_version": "0.42.0" + }, + "positions": [ + { + "id": 1, + "action": "", + "move_mode": "walk", + "type": "teleport", + "x": -578.59, + "y": 1462.25, + "action_params": "" + }, + { + "id": 2, + "action": "fight", + "move_mode": "walk", + "type": "path", + "x": -637.55, + "y": 1469.25, + "action_params": "" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/冷冰冰的大麻烦/龙脊雪山-2.json b/repo/js/AutoCommission/assets/冷冰冰的大麻烦/龙脊雪山-2.json new file mode 100644 index 00000000..f581706e --- /dev/null +++ b/repo/js/AutoCommission/assets/冷冰冰的大麻烦/龙脊雪山-2.json @@ -0,0 +1,102 @@ +{ + "info": { + "name": "龙脊雪山-2", + "type": "collect", + "author": "1", + "version": "1.0", + "description": "", + "bgi_version": "0.42.0" + }, + "positions": [ + { + "id": 1, + "x": -413.59, + "y": 1162.88, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "teleport" + }, + { + "id": 2, + "x": -421.08, + "y": 1154.75, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 3, + "x": -420.58, + "y": 1147.0, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 4, + "x": -408.71, + "y": 1145.88, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 5, + "x": -403.22, + "y": 1135.38, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 6, + "x": -398.22, + "y": 1123.62, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 7, + "x": -394.22, + "y": 1114.62, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 8, + "x": -387.1, + "y": 1105.0, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 9, + "x": -365.57, + "y": 1087.44, + "action": "fight", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 10, + "x": -358.75, + "y": 1081.44, + "action": "fight", + "move_mode": "walk", + "action_params": "", + "type": "path" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/固若金汤/龙脊雪山-1.json b/repo/js/AutoCommission/assets/固若金汤/龙脊雪山-1.json new file mode 100644 index 00000000..78f0c138 --- /dev/null +++ b/repo/js/AutoCommission/assets/固若金汤/龙脊雪山-1.json @@ -0,0 +1,63 @@ +{ + "info": { + "name": "龙脊雪山-1", + "type": "collect", + "author": "1", + "version": "", + "description": "", + "map_name": "Teyvat", + "bgi_version": "0.45.0" + }, + "positions": [ + { + "id": 1, + "x": -705.4453125, + "y": 925.67822265625, + "action": "", + "move_mode": "walk", + "type": "teleport" + }, + { + "id": 2, + "x": -697.6552734375, + "y": 943.56298828125, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 3, + "x": -683.9091796875, + "y": 941.57080078125, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 4, + "x": -674.86328125, + "y": 940.53515625, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 5, + "x": -666.1064453125, + "y": 940.07421875, + "action": "combat_script", + "move_mode": "walk", + "action_params": "keypress(F),keypress(F),keypress(F)", + "type": "path" + }, + { + "id": 6, + "x": -661.376953125, + "y": 939.9765625, + "action": "fight", + "move_mode": "walk", + "action_params": "", + "type": "path" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/固若金汤/龙脊雪山-2.json b/repo/js/AutoCommission/assets/固若金汤/龙脊雪山-2.json new file mode 100644 index 00000000..9fc35d36 --- /dev/null +++ b/repo/js/AutoCommission/assets/固若金汤/龙脊雪山-2.json @@ -0,0 +1,159 @@ +{ + "info": { + "name": "龙脊雪山-2", + "type": "collect", + "author": "星野", + "version": "1.0", + "description": "", + "map_name": "Teyvat", + "bgi_version": "0.45.0" + }, + "positions": [ + { + "id": 1, + "x": -1006.9033203125, + "y": 859.47265625, + "action": "", + "move_mode": "dash", + "type": "teleport" + }, + { + "id": 2, + "x": -987.705078125, + "y": 849.50927734375, + "action": "", + "move_mode": "dash", + "type": "path" + }, + { + "id": 3, + "x": -966.931640625, + "y": 843.7119140625, + "action": "", + "move_mode": "dash", + "type": "path" + }, + { + "id": 4, + "x": -948.9375, + "y": 836.17578125, + "action": "", + "move_mode": "dash", + "type": "path" + }, + { + "id": 5, + "x": -935.251953125, + "y": 826.9931640625, + "action": "", + "move_mode": "dash", + "type": "path" + }, + { + "id": 6, + "x": -930.9091796875, + "y": 816.83056640625, + "action": "", + "move_mode": "dash", + "type": "path" + }, + { + "id": 7, + "x": -922.75, + "y": 806.5, + "type": "path", + "move_mode": "dash" + }, + { + "id": 8, + "x": -917.89453125, + "y": 796.78857421875, + "action": "", + "move_mode": "fly", + "type": "path" + }, + { + "id": 9, + "x": -905.75, + "y": 767.5, + "type": "path", + "move_mode": "fly" + }, + { + "id": 10, + "x": -894.5087890625, + "y": 743.81787109375, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 11, + "x": -875.92578125, + "y": 726.31494140625, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 12, + "x": -857.6904296875, + "y": 710.8759765625, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 13, + "x": -839.119140625, + "y": 696.0888671875, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 14, + "x": -826.2314453125, + "y": 682.9892578125, + "action": "stop_flying", + "move_mode": "fly", + "action_params": "", + "type": "path" + }, + { + "id": 15, + "x": -818.9970703125, + "y": 672.15966796875, + "action": "stop_flying", + "move_mode": "fly", + "action_params": "", + "type": "path" + }, + { + "id": 16, + "x": -817.0634765625, + "y": 669.18994140625, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 17, + "x": -815.767578125, + "y": 666.306640625, + "action": "combat_script", + "move_mode": "walk", + "action_params": "keypress(F),keypress(F),keypress(F)", + "type": "target" + }, + { + "id": 18, + "x": -815.7353515625, + "y": 663.83447265625, + "action": "fight", + "move_mode": "walk", + "action_params": "", + "type": "path" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/圆滚滚的易爆品/坠星山谷-1.json b/repo/js/AutoCommission/assets/圆滚滚的易爆品/坠星山谷-1.json new file mode 100644 index 00000000..889f310b --- /dev/null +++ b/repo/js/AutoCommission/assets/圆滚滚的易爆品/坠星山谷-1.json @@ -0,0 +1,70 @@ +{ + "info": { + "name": "坠星山谷-1", + "type": "collect", + "author": "1", + "version": "1.0", + "description": "", + "bgi_version": "0.42.0" + }, + "positions": [ + { + "id": 1, + "x": -1502.44, + "y": 2276.5, + "action": "", + "move_mode": "run", + "type": "teleport" + }, + { + "id": 2, + "x": -1509.0, + "y": 2257.5, + "action": "", + "move_mode": "run", + "type": "path" + }, + { + "id": 3, + "x": -1505.69, + "y": 2238.75, + "action": "", + "move_mode": "fly", + "type": "path" + }, + { + "id": 4, + "x": -1504.19, + "y": 2170.25, + "action": "stop_flying", + "move_mode": "fly", + "type": "path" + }, + { + "id": 5, + "x": -1472.71, + "y": 2188.25, + "action": "fight", + "move_mode": "walk", + "type": "path" + }, + { + "id": 6, + "x": -1480.0, + "y": 2188.88, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 7, + "x": -1478.38, + "y": 2194.38, + "type": "path", + "move_mode": "walk", + "action": "fight", + "action_params": "" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/圆滚滚的易爆品/奔狼领-1.json b/repo/js/AutoCommission/assets/圆滚滚的易爆品/奔狼领-1.json new file mode 100644 index 00000000..34c5aa99 --- /dev/null +++ b/repo/js/AutoCommission/assets/圆滚滚的易爆品/奔狼领-1.json @@ -0,0 +1,130 @@ +{ + "info": { + "name": "奔狼领-1", + "type": "collect", + "author": "1", + "version": "", + "description": "", + "bgi_version": "0.42.3" + }, + "positions": [ + { + "id": 1, + "x": -578.86, + "y": 1853.89, + "action": "", + "move_mode": "walk", + "type": "teleport" + }, + { + "id": 2, + "x": -569.06, + "y": 1845.99, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 3, + "x": -538.85, + "y": 1876.2, + "action": "", + "move_mode": "run", + "type": "path" + }, + { + "id": 4, + "x": -569.99, + "y": 1913.94, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 5, + "x": -568.88, + "y": 1939.82, + "action": "", + "move_mode": "run", + "type": "path" + }, + { + "id": 6, + "x": -548.12, + "y": 1976.95, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 7, + "x": -540.14, + "y": 1988.03, + "action": "stop_flying", + "move_mode": "fly", + "action_params": "", + "type": "path" + }, + { + "id": 8, + "x": -510.15, + "y": 2013.1, + "action": "stop_flying", + "move_mode": "fly", + "action_params": "", + "type": "path" + }, + { + "id": 9, + "x": -486.8, + "y": 2023.88, + "action": "", + "move_mode": "run", + "type": "path" + }, + { + "id": 10, + "x": -473.93, + "y": 2034.28, + "action": "", + "move_mode": "run", + "type": "path" + }, + { + "id": 11, + "x": -454.8, + "y": 2046.36, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 12, + "x": -445.81, + "y": 2050.81, + "action": "fight", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 13, + "x": -446.69, + "y": 2047.59, + "type": "path", + "move_mode": "walk", + "action": "fight", + "action_params": "" + }, + { + "id": 14, + "x": -451.66, + "y": 2046.28, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "path" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/圆滚滚的易爆品/明冠山地-1.json b/repo/js/AutoCommission/assets/圆滚滚的易爆品/明冠山地-1.json new file mode 100644 index 00000000..0fe8aa32 --- /dev/null +++ b/repo/js/AutoCommission/assets/圆滚滚的易爆品/明冠山地-1.json @@ -0,0 +1,48 @@ +{ + "info": { + "name": "明冠山地-1", + "type": "collect", + "author": "1", + "version": "1.0", + "description": "", + "bgi_version": "0.42.0" + }, + "positions": [ + { + "id": 1, + "action": "", + "move_mode": "walk", + "type": "teleport", + "x": -446.73, + "y": 2582.82, + "action_params": "" + }, + { + "id": 2, + "action": "", + "move_mode": "fly", + "type": "path", + "x": -470.97, + "y": 2581.07, + "action_params": "" + }, + { + "id": 3, + "x": -516.37, + "y": 2589.12, + "type": "path", + "move_mode": "fly", + "action": "stop_flying", + "action_params": "" + }, + { + "id": 4, + "action": "fight", + "move_mode": "walk", + "type": "path", + "x": -546.35, + "y": 2607.91, + "action_params": "" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/圆滚滚的易爆品/果酒湖-1.json b/repo/js/AutoCommission/assets/圆滚滚的易爆品/果酒湖-1.json new file mode 100644 index 00000000..b715dd22 --- /dev/null +++ b/repo/js/AutoCommission/assets/圆滚滚的易爆品/果酒湖-1.json @@ -0,0 +1,76 @@ +{ + "info": { + "name": "果酒湖-1", + "type": "collect", + "author": "11", + "version": "1.0", + "description": "果酒湖-1", + "map_name": "Teyvat", + "bgi_version": "0.45.0" + }, + "positions": [ + { + "id": 1, + "x": -431.2983418716285, + "y": 2583.650947436219, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "teleport" + }, + { + "id": 2, + "x": -473.3329097728638, + "y": 2595.650947436219, + "action": "", + "move_mode": "run", + "action_params": "", + "type": "path" + }, + { + "id": 3, + "x": -546.3929920773899, + "y": 2605.650947436219, + "action": "", + "move_mode": "fly", + "action_params": "", + "type": "path" + }, + { + "id": 4, + "x": -546.3929920773899, + "y": 2605.650947436219, + "action": "stop_flying", + "move_mode": "fly", + "action_params": "", + "type": "path" + }, + { + "id": 5, + "x": -544.6250050145754, + "y": 2604.71875, + "action": "fight", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 6, + "x": -541.5937951311716, + "y": 2616.40625, + "action": "fight", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 7, + "x": -546.5937951311716, + "y": 2616.40625, + "action": "fight", + "move_mode": "walk", + "action_params": "", + "type": "path" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/圆滚滚的易爆品/苍风高地-1.json b/repo/js/AutoCommission/assets/圆滚滚的易爆品/苍风高地-1.json new file mode 100644 index 00000000..78c41328 --- /dev/null +++ b/repo/js/AutoCommission/assets/圆滚滚的易爆品/苍风高地-1.json @@ -0,0 +1,94 @@ +{ + "info": { + "name": "苍风高地-1", + "type": "collect", + "author": "1", + "version": "1.0", + "description": "", + "map_name": "Teyvat", + "bgi_version": "0.45.0" + }, + "positions": [ + { + "id": 1, + "x": -887.46875, + "y": 1679.154296875, + "type": "teleport", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 2, + "x": -882.4853515625, + "y": 1682.982421875, + "type": "path", + "move_mode": "dash", + "action": "", + "action_params": "" + }, + { + "id": 3, + "x": -868.8515625, + "y": 1684.669921875, + "type": "path", + "move_mode": "dash", + "action": "", + "action_params": "" + }, + { + "id": 4, + "x": -853.2958984375, + "y": 1688.7705078125, + "type": "path", + "move_mode": "dash", + "action": "", + "action_params": "" + }, + { + "id": 5, + "x": -838.123046875, + "y": 1672.68896484375, + "type": "path", + "move_mode": "dash", + "action": "", + "action_params": "" + }, + { + "id": 6, + "x": -819.5341796875, + "y": 1665.2978515625, + "type": "path", + "move_mode": "dash", + "action": "", + "action_params": "" + }, + { + "id": 7, + "x": -807.578125, + "y": 1655.23486328125, + "type": "path", + "move_mode": "dash", + "action": "", + "action_params": "" + }, + { + "id": 8, + "x": -793.1875, + "y": 1650.57177734375, + "type": "path", + "move_mode": "dash", + "action": "", + "action_params": "" + }, + { + "id": 9, + "x": -780.1943359375, + "y": 1655.14013671875, + "type": "path", + "move_mode": "walk", + "action": "fight", + "action_params": "" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/圆滚滚的易爆品/苍风高地-2.json b/repo/js/AutoCommission/assets/圆滚滚的易爆品/苍风高地-2.json new file mode 100644 index 00000000..82b98b51 --- /dev/null +++ b/repo/js/AutoCommission/assets/圆滚滚的易爆品/苍风高地-2.json @@ -0,0 +1,153 @@ +{ + "info": { + "name": "苍风高地-1", + "type": "collect", + "author": "1", + "version": "1.0", + "description": "", + "bgi_version": "0.42.0" + }, + "positions": [ + { + "id": 1, + "x": -601.43, + "y": 1842.75, + "action": "", + "move_mode": "walk", + "type": "teleport" + }, + { + "id": 2, + "x": -627.88, + "y": 1820.25, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 3, + "x": -645.52, + "y": 1810.12, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 4, + "x": -656.0, + "y": 1801.0, + "action": "", + "move_mode": "run", + "type": "path" + }, + { + "id": 5, + "x": -668.0, + "y": 1789.0, + "action": "fight", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 6, + "x": -673.44, + "y": 1782.56, + "action": "fight", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 7, + "x": -688.0, + "y": 1783.75, + "action": "", + "move_mode": "run", + "type": "path" + }, + { + "id": 8, + "x": -715.75, + "y": 1764.0, + "action": "", + "move_mode": "run", + "type": "path" + }, + { + "id": 9, + "x": -732.0, + "y": 1752.5, + "action": "", + "move_mode": "run", + "type": "path" + }, + { + "id": 10, + "x": -765.74, + "y": 1754.0, + "action": "", + "move_mode": "run", + "type": "path" + }, + { + "id": 11, + "x": -795.49, + "y": 1752.75, + "action": "", + "move_mode": "run", + "type": "path" + }, + { + "id": 12, + "x": -811.0, + "y": 1719.25, + "action": "", + "move_mode": "run", + "type": "path" + }, + { + "id": 13, + "x": -815.01, + "y": 1684.25, + "action": "", + "move_mode": "run", + "type": "path" + }, + { + "id": 14, + "x": -812.25, + "y": 1659.0, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 15, + "x": -793.64, + "y": 1651.5, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 16, + "x": -760.0, + "y": 1649.5, + "action": "fight", + "move_mode": "walk", + "type": "target" + }, + { + "id": 17, + "x": -7670.25, + "y": 1643.5, + "type": "path", + "move_mode": "walk", + "action": "fight", + "action_params": "" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/圆滚滚的易爆品/风起地-1.json b/repo/js/AutoCommission/assets/圆滚滚的易爆品/风起地-1.json new file mode 100644 index 00000000..5cc11eeb --- /dev/null +++ b/repo/js/AutoCommission/assets/圆滚滚的易爆品/风起地-1.json @@ -0,0 +1,87 @@ +{ + "info": { + "name": "风起地-1", + "type": "collect", + "author": "1", + "version": "", + "description": "", + "bgi_version": "0.42.3" + }, + "positions": [ + { + "id": 1, + "x": -1427.82, + "y": 1661.59, + "action": "", + "move_mode": "walk", + "type": "teleport" + }, + { + "id": 2, + "x": -1414.55, + "y": 1664.34, + "action": "", + "move_mode": "dash", + "type": "path" + }, + { + "id": 3, + "x": -1401.37, + "y": 1677.1, + "action": "", + "move_mode": "fly", + "type": "path" + }, + { + "id": 4, + "x": -1382.67, + "y": 1706.77, + "action": "", + "move_mode": "fly", + "type": "path" + }, + { + "id": 5, + "x": -1369.69, + "y": 1733.44, + "action": "stop_flying", + "move_mode": "fly", + "action_params": "", + "type": "path" + }, + { + "id": 6, + "x": -1381.47, + "y": 1725.62, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 7, + "x": -1365.69, + "y": 1725.94, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 8, + "x": -1373.28, + "y": 1728.59, + "type": "path", + "move_mode": "walk", + "action": "fight", + "action_params": "" + }, + { + "id": 9, + "x": -1375.41, + "y": 1722.47, + "action": "fight", + "move_mode": "walk", + "action_params": "", + "type": "path" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/安全运输法则/千风神殿-1.json b/repo/js/AutoCommission/assets/安全运输法则/千风神殿-1.json new file mode 100644 index 00000000..680d8d47 --- /dev/null +++ b/repo/js/AutoCommission/assets/安全运输法则/千风神殿-1.json @@ -0,0 +1,414 @@ +{ + "info": { + "name": "安全运输法则-1", + "type": "collect", + "author": "11", + "version": "1.0", + "description": "安全运输法则-1", + "map_name": "Teyvat", + "bgi_version": "0.45.0" + }, + "positions": [ + { + "id": 1, + "action": "", + "move_mode": "walk", + "type": "teleport", + "x": -1638.5341796875, + "y": 2153.91552734375, + "action_params": "" + }, + { + "id": 2, + "x": -1619.072265625, + "y": 2137.01416015625, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 3, + "x": -1612.1962890625, + "y": 2131.977294921875, + "type": "path", + "move_mode": "walk", + "action": "combat_script", + "action_params": "attack,wait(2.7),keypress(F)," + }, + { + "id": 4, + "x": -1596, + "y": 2118.5, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 5, + "x": -1584.125, + "y": 2104.75, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 6, + "x": -1575.9072265625, + "y": 2102.287353515625, + "type": "path", + "move_mode": "walk", + "action": "combat_script", + "action_params": "attack,wait(0.3),keypress(E),wait(0.6),attack,wait(0.3),keypress(Q),wait(2),keypress(2),wait(0.3),keypress(E),wait(0.4),attack,wait(0.3),keypress(Q),wait(2.1),keypress(3),wait(0.3),keypress(E),wait(0.3),attack(1),wait(0.3),keypress(Q),wait(2.1),keypress(4),", + "locked": false + }, + { + "id": 7, + "x": -1575.9072265625, + "y": 2102.287353515625, + "type": "path", + "move_mode": "walk", + "action": "combat_script", + "action_params": "wait(0.3),keypress(4),wait(0.3),keypress(E),wait(0.3),attack(1),wait(0.3),keypress(Q),wait(2.1),keypress(1),wait(0.3),keypress(E),wait(0.3),keypress(Q),wait(2.1),attack(1),", + "locked": false + }, + { + "id": 8, + "x": -1575.9072265625, + "y": 2102.287353515625, + "type": "target", + "move_mode": "walk", + "action": "combat_script", + "action_params": "attack,wait(0.3),keypress(E),wait(0.6),attack,wait(0.3),keypress(Q),wait(2),keypress(2),wait(0.3),keypress(E),wait(0.4),attack,wait(0.3),keypress(Q),wait(2.1),keypress(3),wait(0.3),keypress(E),wait(0.3),attack(1),wait(0.3),keypress(Q),wait(2.1),keypress(4),", + "locked": false + }, + { + "id": 9, + "x": -1575.9072265625, + "y": 2102.287353515625, + "type": "path", + "move_mode": "walk", + "action": "combat_script", + "action_params": "wait(0.3),keypress(4),wait(0.3),keypress(E),wait(0.3),attack(1),wait(0.3),keypress(Q),wait(2.1),keypress(1),wait(0.3),keypress(E),wait(0.3),keypress(Q),wait(2.1),attack(1),", + "locked": false + }, + { + "id": 10, + "x": -1575.9072265625, + "y": 2102.287353515625, + "type": "path", + "move_mode": "walk", + "action": "combat_script", + "action_params": "attack(3),", + "locked": false + }, + { + "id": 11, + "x": -1566.3369140625, + "y": 2104.678955078125, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 12, + "x": -1553.9951171875, + "y": 2102.785400390625, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 13, + "x": -1545.7421875, + "y": 2105.91455078125, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 14, + "x": -1538.458984375, + "y": 2104.523681640625, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 15, + "x": -1538.6787109375, + "y": 2110.281005859375, + "type": "path", + "move_mode": "walk", + "action": "combat_script", + "action_params": "attack,wait(0.3),keypress(E),wait(0.6),attack,wait(0.3),keypress(Q),wait(2),keypress(2),wait(0.3),keypress(E),wait(0.4),attack,wait(0.3),keypress(Q),wait(2.1),keypress(3),wait(0.3),keypress(E),wait(0.3),attack(1),wait(0.3),keypress(Q),wait(2.1),", + "locked": false + }, + { + "id": 16, + "x": -1538.6787109375, + "y": 2110.281005859375, + "type": "path", + "move_mode": "walk", + "action": "combat_script", + "action_params": "wait(0.3),keypress(4),wait(0.3),keypress(E),wait(0.3),attack(1),wait(0.3),keypress(Q),wait(2.1),keypress(1),wait(0.3),keypress(E),wait(0.3),keypress(Q),wait(2.1),attack(1),", + "locked": false + }, + { + "id": 17, + "x": -1538.6787109375, + "y": 2110.281005859375, + "type": "path", + "move_mode": "walk", + "action": "combat_script", + "action_params": "attack,wait(0.3),keypress(E),wait(0.6),attack,wait(0.3),keypress(Q),wait(2),keypress(2),wait(0.3),keypress(E),wait(0.4),attack,wait(0.3),keypress(Q),wait(2.1),keypress(3),wait(0.3),keypress(E),wait(0.3),attack(1),wait(0.3),keypress(Q),wait(2.1),", + "locked": false + }, + { + "id": 18, + "x": -1552.318359375, + "y": 2109.601318359375, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 19, + "x": -1539.263671875, + "y": 2099.555419921875, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 20, + "x": -1542.6875, + "y": 2102.028076171875, + "type": "path", + "move_mode": "walk", + "action": "combat_script", + "action_params": "attack,wait(0.3),keypress(Space),wait(0.15),keypress(Space),wait(0.4)," + }, + { + "id": 21, + "x": -1530.4013671875, + "y": 2093.917236328125, + "type": "path", + "move_mode": "fly", + "action": "stop_flying", + "action_params": "", + "locked": false + }, + { + "id": 22, + "x": -1530.4013671875, + "y": 2093.917236328125, + "type": "path", + "move_mode": "walk", + "action": "fight", + "action_params": "" + }, + { + "id": 23, + "x": -1536.1826171875, + "y": 2094.331787109375, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 24, + "x": -1528.9345703125, + "y": 2100.64404296875, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 25, + "x": -1486.412109375, + "y": 2090.363037109375, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 26, + "x": -1473.65234375, + "y": 2084.1650390625, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 27, + "x": -1468.9091796875, + "y": 2082.80224609375, + "type": "path", + "move_mode": "walk", + "action": "combat_script", + "action_params": "attack,wait(16),keypress(F)," + }, + { + "id": 28, + "x": -1472.9169921875, + "y": 2090.1650390625, + "type": "path", + "move_mode": "walk", + "action": "combat_script", + "action_params": "attack,wait(0.3),attack,wait(0.3),keypress(E)," + }, + { + "id": 29, + "x": -1463.7685546875, + "y": 2086.806884765625, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 30, + "x": -1472.1318359375, + "y": 2117.87744140625, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 31, + "x": -1457.4658203125, + "y": 2149.432373046875, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 32, + "x": -1439.8408203125, + "y": 2148.17919921875, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 33, + "x": -1441.3427734375, + "y": 2155.734619140625, + "type": "path", + "move_mode": "walk", + "action": "combat_script", + "action_params": "attack,wait(0.3),keypress(E),wait(0.6),attack,wait(0.3),keypress(Q),wait(2),keypress(2),wait(0.3),keypress(E),wait(0.4),attack,wait(0.3),keypress(Q),wait(2.1),keypress(3),wait(0.3),keypress(E),wait(0.3),attack(1),wait(0.3),keypress(Q),wait(2.1),", + "locked": false + }, + { + "id": 34, + "x": -1441.3427734375, + "y": 2155.734619140625, + "type": "target", + "move_mode": "walk", + "action": "combat_script", + "action_params": "wait(0.3),keypress(4),wait(0.3),keypress(E),wait(0.3),attack(1),wait(0.3),keypress(Q),wait(2.1),keypress(1),wait(0.3),keypress(E),wait(0.3),keypress(Q),wait(2.1),attack(1),", + "locked": false + }, + { + "id": 35, + "x": -1441.3427734375, + "y": 2155.734619140625, + "type": "path", + "move_mode": "walk", + "action": "combat_script", + "action_params": "attack,wait(0.3),keypress(E),wait(0.6),attack,wait(0.3),keypress(Q),wait(2),keypress(2),wait(0.3),keypress(E),wait(0.4),attack,wait(0.3),keypress(Q),wait(2.1),keypress(3),wait(0.3),keypress(E),wait(0.3),attack(1),wait(0.3),keypress(Q),wait(2.1),", + "locked": false + }, + { + "id": 36, + "x": -1441.3427734375, + "y": 2155.734619140625, + "type": "path", + "move_mode": "walk", + "action": "combat_script", + "action_params": "wait(0.3),keypress(4),wait(0.3),keypress(E),wait(0.3),attack(1),wait(0.3),keypress(Q),wait(2.1),keypress(1),wait(0.3),keypress(E),wait(0.3),keypress(Q),wait(2.1),attack(1),", + "locked": false + }, + { + "id": 37, + "x": -1441.3427734375, + "y": 2155.734619140625, + "type": "target", + "move_mode": "walk", + "action": "combat_script", + "action_params": "attack(3)," + }, + { + "id": 38, + "x": -1416.7548828125, + "y": 2148.622314453125, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 39, + "x": -1397.263671875, + "y": 2160.595458984375, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 40, + "x": -1395.798828125, + "y": 2163.9970703125, + "type": "path", + "move_mode": "walk", + "action": "combat_script", + "action_params": "attack,wait(0.3),keypress(E),wait(0.6),attack,wait(0.3),keypress(Q),wait(2),keypress(2),wait(0.3),keypress(E),wait(0.4),attack,wait(0.3),keypress(Q),wait(2.1),keypress(3),wait(0.3),keypress(E),wait(0.3),attack(1),wait(0.3),keypress(Q),wait(2.1)", + "locked": false + }, + { + "id": 41, + "x": -1395.798828125, + "y": 2163.9970703125, + "type": "target", + "move_mode": "walk", + "action": "combat_script", + "action_params": "wait(0.3),keypress(4),wait(0.3),keypress(E),wait(0.3),attack(1),wait(0.3),keypress(Q),wait(2.1),keypress(1),wait(0.3),keypress(E),wait(0.3),keypress(Q),wait(2.1),attack(1)," + }, + { + "id": 42, + "x": -1372.384765625, + "y": 2160.300048828125, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 43, + "x": -1366.212890625, + "y": 2154.55615234375, + "type": "target", + "move_mode": "walk", + "action": "", + "action_params": "" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/持盾的危机/千风神殿-1.json b/repo/js/AutoCommission/assets/持盾的危机/千风神殿-1.json new file mode 100644 index 00000000..853c772f --- /dev/null +++ b/repo/js/AutoCommission/assets/持盾的危机/千风神殿-1.json @@ -0,0 +1,125 @@ +{ + "info": { + "name": "千风神殿-1", + "type": "collect", + "author": "星野", + "version": "1.0", + "description": "", + "map_name": "Teyvat", + "bgi_version": "0.45.0" + }, + "positions": [ + { + "id": 1, + "x": -1621.75, + "y": 2149.5, + "action": "", + "move_mode": "walk", + "type": "teleport" + }, + { + "id": 2, + "x": -1604, + "y": 2122.5, + "action": "", + "move_mode": "dash", + "type": "path" + }, + { + "id": 3, + "x": -1568, + "y": 2112, + "action": "", + "move_mode": "dash", + "type": "path" + }, + { + "id": 4, + "x": -1561.25, + "y": 2130.75, + "action": "", + "move_mode": "dash", + "type": "path" + }, + { + "id": 5, + "x": -1553.5, + "y": 2171.25, + "action": "", + "move_mode": "dash", + "type": "path" + }, + { + "id": 6, + "x": -1580.5, + "y": 2181.5, + "action": "", + "move_mode": "dash", + "type": "path" + }, + { + "id": 7, + "x": -1599.5, + "y": 2192.75, + "action": "", + "move_mode": "run", + "type": "path" + }, + { + "id": 8, + "x": -1602, + "y": 2204.25, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 9, + "x": -1610, + "y": 2213.75, + "action": "", + "move_mode": "run", + "type": "path" + }, + { + "id": 10, + "x": -1634, + "y": 2198.75, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 11, + "x": -1657, + "y": 2188.5, + "action": "", + "move_mode": "dash", + "type": "path" + }, + { + "id": 12, + "x": -1686.5, + "y": 2184.5, + "action": "", + "move_mode": "dash", + "type": "path" + }, + { + "id": 13, + "x": -1712.5, + "y": 2194.5, + "action": "", + "move_mode": "dash", + "type": "path" + }, + { + "id": 14, + "x": -1737.88, + "y": 2179, + "action": "fight", + "move_mode": "walk", + "type": "path" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/攀高危险/坠星山谷-1.json b/repo/js/AutoCommission/assets/攀高危险/坠星山谷-1.json new file mode 100644 index 00000000..cf9075a8 --- /dev/null +++ b/repo/js/AutoCommission/assets/攀高危险/坠星山谷-1.json @@ -0,0 +1,76 @@ +{ + "info": { + "name": "坠星山谷-1", + "type": "collect", + "author": "星野", + "version": "", + "description": "", + "map_name": "Teyvat", + "bgi_version": "0.45.0" + }, + "positions": [ + { + "id": 1, + "x": -1536.75, + "y": 1978.6599999999999, + "action": "stop_flying", + "move_mode": "fly", + "action_params": "", + "type": "teleport" + }, + { + "id": 2, + "x": -1531.5419921875, + "y": 1990.71240234375, + "action": "stop_flying", + "move_mode": "fly", + "action_params": "", + "type": "path" + }, + { + "id": 3, + "x": -1505.109375, + "y": 1994.671875, + "action": "", + "move_mode": "dash", + "action_params": "", + "type": "path" + }, + { + "id": 4, + "x": -1482.9208984375, + "y": 1986.97314453125, + "action": "", + "move_mode": "dash", + "action_params": "", + "type": "path" + }, + { + "id": 5, + "x": -1467.96484375, + "y": 1978.60009765625, + "action": "fight", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 6, + "x": -1477.75, + "y": 1988.5, + "action": "", + "move_mode": "dash", + "action_params": "", + "type": "path" + }, + { + "id": 7, + "x": -1490.609375, + "y": 1996.587890625, + "action": "fight", + "move_mode": "walk", + "action_params": "", + "type": "path" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/攀高危险/坠星山谷-2.json b/repo/js/AutoCommission/assets/攀高危险/坠星山谷-2.json new file mode 100644 index 00000000..7b091db6 --- /dev/null +++ b/repo/js/AutoCommission/assets/攀高危险/坠星山谷-2.json @@ -0,0 +1,118 @@ +{ + "info": { + "name": "坠星山谷-2", + "type": "collect", + "author": "1", + "version": "", + "description": "", + "bgi_version": "0.42.3" + }, + "positions": [ + { + "id": 1, + "x": -1330.13, + "y": 2563.93, + "action": "", + "move_mode": "walk", + "type": "teleport" + }, + { + "id": 2, + "x": -1333.14, + "y": 2553.2, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 3, + "x": -1326.8, + "y": 2528.47, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 4, + "x": -1309.81, + "y": 2495.44, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 5, + "x": -1299.04, + "y": 2484.0, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 6, + "x": -1288.67, + "y": 2468.27, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 7, + "x": -1284.5, + "y": 2457.3, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 8, + "x": -1284.07, + "y": 2443.16, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 9, + "x": -1281.72, + "y": 2435.36, + "action": "fight", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 10, + "x": -1277.2, + "y": 2429.89, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 11, + "x": -1259.95, + "y": 2430.37, + "action": "fight", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 12, + "x": -1254.65, + "y": 2432.46, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 13, + "x": -1256.12, + "y": 2440.03, + "action": "", + "move_mode": "walk", + "type": "path" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/攀高危险/奔狼领-1.json b/repo/js/AutoCommission/assets/攀高危险/奔狼领-1.json new file mode 100644 index 00000000..52867d61 --- /dev/null +++ b/repo/js/AutoCommission/assets/攀高危险/奔狼领-1.json @@ -0,0 +1,75 @@ +{ + "info": { + "name": "奔狼领-1", + "type": "collect", + "author": "1", + "version": "1.0", + "description": "", + "bgi_version": "0.42.0" + }, + "positions": [ + { + "id": 1, + "action": "", + "move_mode": "walk", + "type": "teleport", + "x": -510.04, + "y": 2193.18, + "action_params": "" + }, + { + "id": 2, + "action": "fight", + "move_mode": "walk", + "type": "path", + "x": -510.0, + "y": 2210.0, + "action_params": "" + }, + { + "id": 3, + "action": "", + "move_mode": "walk", + "type": "path", + "x": -490.92, + "y": 2221.81, + "action_params": "" + }, + { + "id": 4, + "action": "", + "move_mode": "walk", + "type": "path", + "x": -497.42, + "y": 2235.31, + "action_params": "" + }, + { + "id": 5, + "action": "", + "move_mode": "walk", + "type": "path", + "x": -510.79, + "y": 2235.68, + "action_params": "" + }, + { + "id": 6, + "action": "", + "move_mode": "walk", + "type": "path", + "x": -508.29, + "y": 2222.93, + "action_params": "" + }, + { + "id": 7, + "action": "fight", + "move_mode": "walk", + "type": "path", + "x": -500.92, + "y": 2228.68, + "action_params": "" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/攀高危险/奔狼领-2.json b/repo/js/AutoCommission/assets/攀高危险/奔狼领-2.json new file mode 100644 index 00000000..671b7357 --- /dev/null +++ b/repo/js/AutoCommission/assets/攀高危险/奔狼领-2.json @@ -0,0 +1,142 @@ +{ + "info": { + "name": "奔狼领-2", + "type": "collect", + "author": "1", + "version": "", + "description": "", + "bgi_version": "0.42.3" + }, + "positions": [ + { + "id": 1, + "x": -200.99, + "y": 1861.85, + "action": "", + "move_mode": "dash", + "type": "teleport" + }, + { + "id": 2, + "x": -192.67, + "y": 1900.9, + "action": "", + "move_mode": "dash", + "type": "path" + }, + { + "id": 3, + "x": -181.44, + "y": 1929.24, + "action": "", + "move_mode": "run", + "type": "path" + }, + { + "id": 4, + "x": -173.08, + "y": 1948.51, + "action": "", + "move_mode": "run", + "type": "path" + }, + { + "id": 5, + "x": -164.96, + "y": 1966.61, + "action": "", + "move_mode": "dash", + "type": "path" + }, + { + "id": 6, + "x": -149.92, + "y": 1978.28, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 7, + "x": -127.75, + "y": 1991.45, + "action": "", + "move_mode": "run", + "type": "path" + }, + { + "id": 8, + "x": -111.92, + "y": 2000.33, + "action": "", + "move_mode": "dash", + "type": "path" + }, + { + "id": 9, + "x": -96.77, + "y": 2006.77, + "action": "", + "move_mode": "dash", + "type": "path" + }, + { + "id": 10, + "x": -86.85, + "y": 2010.63, + "action": "", + "move_mode": "run", + "type": "path" + }, + { + "id": 11, + "x": -78.28, + "y": 2019.24, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 12, + "x": -63.1, + "y": 2038.01, + "action": "fight", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 13, + "x": -70.25, + "y": 2044.91, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 14, + "x": -65.8, + "y": 2048.8, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 15, + "x": -40.5, + "y": 2039.56, + "action": "fight", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 16, + "x": -30.25, + "y": 2053.26, + "action": "", + "move_mode": "walk", + "type": "path" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/攀高危险/明冠山地-1.json b/repo/js/AutoCommission/assets/攀高危险/明冠山地-1.json new file mode 100644 index 00000000..13c0682c --- /dev/null +++ b/repo/js/AutoCommission/assets/攀高危险/明冠山地-1.json @@ -0,0 +1,142 @@ +{ + "info": { + "name": "明冠山地-1", + "type": "collect", + "author": "1", + "version": "", + "description": "", + "bgi_version": "0.42.3" + }, + "positions": [ + { + "id": 1, + "x": -200.99, + "y": 1861.85, + "action": "", + "move_mode": "dash", + "type": "teleport" + }, + { + "id": 2, + "x": -192.67, + "y": 1900.9, + "action": "", + "move_mode": "dash", + "type": "path" + }, + { + "id": 3, + "x": -181.44, + "y": 1929.24, + "action": "", + "move_mode": "run", + "type": "path" + }, + { + "id": 4, + "x": -173.08, + "y": 1948.51, + "action": "", + "move_mode": "run", + "type": "path" + }, + { + "id": 5, + "x": -164.96, + "y": 1966.61, + "action": "", + "move_mode": "dash", + "type": "path" + }, + { + "id": 6, + "x": -149.92, + "y": 1978.28, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 7, + "x": -127.75, + "y": 1991.45, + "action": "", + "move_mode": "run", + "type": "path" + }, + { + "id": 8, + "x": -111.92, + "y": 2000.33, + "action": "", + "move_mode": "dash", + "type": "path" + }, + { + "id": 9, + "x": -96.77, + "y": 2006.77, + "action": "", + "move_mode": "dash", + "type": "path" + }, + { + "id": 10, + "x": -86.85, + "y": 2010.63, + "action": "", + "move_mode": "run", + "type": "path" + }, + { + "id": 11, + "x": -78.28, + "y": 2019.24, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 12, + "x": -63.1, + "y": 2038.01, + "action": "fight", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 13, + "x": -70.25, + "y": 2044.91, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 14, + "x": -65.8, + "y": 2048.8, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 15, + "x": -40.5, + "y": 2039.56, + "action": "fight", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 16, + "x": -30.25, + "y": 2053.26, + "action": "", + "move_mode": "walk", + "type": "path" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/攀高危险/果酒湖-1.json b/repo/js/AutoCommission/assets/攀高危险/果酒湖-1.json new file mode 100644 index 00000000..6e85b07f --- /dev/null +++ b/repo/js/AutoCommission/assets/攀高危险/果酒湖-1.json @@ -0,0 +1,75 @@ +{ + "info": { + "name": "果酒湖-1", + "type": "collect", + "author": "1", + "version": "1.0", + "description": "", + "bgi_version": "0.42.0" + }, + "positions": [ + { + "id": 1, + "action": "", + "move_mode": "walk", + "type": "teleport", + "x": -510.04, + "y": 2193.18, + "action_params": "" + }, + { + "id": 2, + "action": "fight", + "move_mode": "walk", + "type": "path", + "x": -510.0, + "y": 2210.0, + "action_params": "" + }, + { + "id": 3, + "action": "", + "move_mode": "walk", + "type": "path", + "x": -490.92, + "y": 2221.81, + "action_params": "" + }, + { + "id": 4, + "action": "", + "move_mode": "walk", + "type": "path", + "x": -497.42, + "y": 2235.31, + "action_params": "" + }, + { + "id": 5, + "action": "", + "move_mode": "walk", + "type": "path", + "x": -510.79, + "y": 2235.68, + "action_params": "" + }, + { + "id": 6, + "action": "", + "move_mode": "walk", + "type": "path", + "x": -508.29, + "y": 2222.93, + "action_params": "" + }, + { + "id": 7, + "action": "fight", + "move_mode": "walk", + "type": "path", + "x": -500.92, + "y": 2228.68, + "action_params": "" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/攀高危险/苍风高地-1.json b/repo/js/AutoCommission/assets/攀高危险/苍风高地-1.json new file mode 100644 index 00000000..f7adeacd --- /dev/null +++ b/repo/js/AutoCommission/assets/攀高危险/苍风高地-1.json @@ -0,0 +1,127 @@ +{ + "info": { + "name": "苍风高地-1", + "type": "collect", + "author": "1", + "version": "", + "description": "", + "map_name": "Teyvat", + "bgi_version": "0.45.0" + }, + "positions": [ + { + "id": 1, + "x": -914.87, + "y": 1795.38, + "action": "", + "move_mode": "walk", + "type": "teleport" + }, + { + "id": 2, + "x": -918.72, + "y": 1797.52, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 3, + "x": -945.12, + "y": 1808.46, + "action": "", + "move_mode": "dash", + "type": "path" + }, + { + "id": 4, + "x": -966.81, + "y": 1831.29, + "action": "", + "move_mode": "dash", + "type": "path" + }, + { + "id": 5, + "x": -982.14, + "y": 1833.36, + "action": "", + "move_mode": "dash", + "type": "path" + }, + { + "id": 6, + "x": -996.26, + "y": 1835.8, + "action": "", + "move_mode": "dash", + "type": "path" + }, + { + "id": 7, + "x": -1014.08, + "y": 1868.94, + "action": "", + "move_mode": "dash", + "type": "path" + }, + { + "id": 8, + "x": -1027.61, + "y": 1868.22, + "action": "", + "move_mode": "dash", + "type": "path" + }, + { + "id": 9, + "x": -1054.48, + "y": 1863.02, + "action": "", + "move_mode": "dash", + "type": "path" + }, + { + "id": 10, + "x": -1067.99, + "y": 1860.21, + "action": "", + "move_mode": "dash", + "type": "path" + }, + { + "id": 11, + "x": -1078.97, + "y": 1852.54, + "action": "", + "move_mode": "run", + "type": "path" + }, + { + "id": 12, + "x": -1086.32, + "y": 1849.53, + "action": "", + "move_mode": "dash", + "type": "path" + }, + { + "id": 13, + "x": -1099.39, + "y": 1843.03, + "action": "fight", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 14, + "x": -1106.37, + "y": 1867.04, + "action": "fight", + "move_mode": "walk", + "action_params": "", + "type": "path" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/攀高危险/风啸山坡-1.json b/repo/js/AutoCommission/assets/攀高危险/风啸山坡-1.json new file mode 100644 index 00000000..d19b207e --- /dev/null +++ b/repo/js/AutoCommission/assets/攀高危险/风啸山坡-1.json @@ -0,0 +1,102 @@ +{ + "info": { + "name": "风啸山坡-1", + "type": "collect", + "author": "1", + "version": "", + "description": "", + "bgi_version": "0.42.3" + }, + "positions": [ + { + "id": 1, + "x": -1427.78, + "y": 1661.56, + "action": "", + "move_mode": "walk", + "type": "teleport" + }, + { + "id": 2, + "x": -1408.23, + "y": 1656.16, + "action": "", + "move_mode": "dash", + "type": "path" + }, + { + "id": 3, + "x": -1386.91, + "y": 1636.86, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 4, + "x": -1372.48, + "y": 1627.75, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 5, + "x": -1360.57, + "y": 1620.15, + "action": "fight", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 6, + "x": -1348.7, + "y": 1620.9, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 7, + "x": -1338.38, + "y": 1621.79, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 8, + "x": -1330.09, + "y": 1622.75, + "action": "fight", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 9, + "x": -1331.35, + "y": 1628.95, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 10, + "x": -1336.22, + "y": 1619.83, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 11, + "x": -1329.16, + "y": 1618.36, + "action": "", + "move_mode": "walk", + "type": "path" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/攀高危险/风啸山坡-2.json b/repo/js/AutoCommission/assets/攀高危险/风啸山坡-2.json new file mode 100644 index 00000000..26f40f9a --- /dev/null +++ b/repo/js/AutoCommission/assets/攀高危险/风啸山坡-2.json @@ -0,0 +1,66 @@ +{ + "info": { + "name": "风啸山坡-2", + "type": "collect", + "author": "1", + "version": "1.0", + "description": "", + "bgi_version": "0.42.0" + }, + "positions": [ + { + "id": 1, + "action": "", + "move_mode": "walk", + "type": "teleport", + "x": -1124.14, + "y": 1594.07, + "action_params": "" + }, + { + "id": 2, + "action": "", + "move_mode": "walk", + "type": "path", + "x": -1154.64, + "y": 1591.32, + "action_params": "" + }, + { + "id": 3, + "action": "fight", + "move_mode": "walk", + "type": "path", + "x": -1185.89, + "y": 1565.82, + "action_params": "" + }, + { + "id": 4, + "action": "fight", + "move_mode": "walk", + "type": "path", + "x": -1177.14, + "y": 1549.07, + "action_params": "" + }, + { + "id": 5, + "action": "", + "move_mode": "walk", + "type": "path", + "x": -1184.14, + "y": 1549.57, + "action_params": "" + }, + { + "id": 6, + "action": "fight", + "move_mode": "walk", + "type": "path", + "x": -1180.14, + "y": 1565.32, + "action_params": "" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/攀高危险/风起地-1.json b/repo/js/AutoCommission/assets/攀高危险/风起地-1.json new file mode 100644 index 00000000..17de62ae --- /dev/null +++ b/repo/js/AutoCommission/assets/攀高危险/风起地-1.json @@ -0,0 +1,102 @@ +{ + "info": { + "name": "风起地-1", + "type": "collect", + "author": "1", + "version": "", + "description": "", + "bgi_version": "0.42.3" + }, + "positions": [ + { + "id": 1, + "x": -1427.78, + "y": 1661.56, + "action": "", + "move_mode": "walk", + "type": "teleport" + }, + { + "id": 2, + "x": -1408.23, + "y": 1656.16, + "action": "", + "move_mode": "dash", + "type": "path" + }, + { + "id": 3, + "x": -1386.91, + "y": 1636.86, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 4, + "x": -1372.48, + "y": 1627.75, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 5, + "x": -1360.57, + "y": 1620.15, + "action": "fight", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 6, + "x": -1348.7, + "y": 1620.9, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 7, + "x": -1338.38, + "y": 1621.79, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 8, + "x": -1330.09, + "y": 1622.75, + "action": "fight", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 9, + "x": -1331.35, + "y": 1628.95, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 10, + "x": -1336.22, + "y": 1619.83, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 11, + "x": -1329.16, + "y": 1618.36, + "action": "", + "move_mode": "walk", + "type": "path" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/攀高危险/风起地-2.json b/repo/js/AutoCommission/assets/攀高危险/风起地-2.json new file mode 100644 index 00000000..86cd40aa --- /dev/null +++ b/repo/js/AutoCommission/assets/攀高危险/风起地-2.json @@ -0,0 +1,150 @@ +{ + "info": { + "name": "风起地-2", + "type": "collect", + "author": "1", + "version": "", + "description": "", + "bgi_version": "0.42.3" + }, + "positions": [ + { + "id": 1, + "x": -914.87, + "y": 1795.38, + "action": "", + "move_mode": "walk", + "type": "teleport" + }, + { + "id": 2, + "x": -918.72, + "y": 1797.52, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 3, + "x": -945.12, + "y": 1808.46, + "action": "", + "move_mode": "dash", + "type": "path" + }, + { + "id": 4, + "x": -966.81, + "y": 1831.29, + "action": "", + "move_mode": "dash", + "type": "path" + }, + { + "id": 5, + "x": -982.14, + "y": 1833.36, + "action": "", + "move_mode": "dash", + "type": "path" + }, + { + "id": 6, + "x": -996.26, + "y": 1835.8, + "action": "", + "move_mode": "dash", + "type": "path" + }, + { + "id": 7, + "x": -1014.08, + "y": 1868.94, + "action": "", + "move_mode": "dash", + "type": "path" + }, + { + "id": 8, + "x": -1027.61, + "y": 1868.22, + "action": "", + "move_mode": "dash", + "type": "path" + }, + { + "id": 9, + "x": -1054.48, + "y": 1863.02, + "action": "", + "move_mode": "dash", + "type": "path" + }, + { + "id": 10, + "x": -1067.99, + "y": 1860.21, + "action": "", + "move_mode": "dash", + "type": "path" + }, + { + "id": 11, + "x": -1078.97, + "y": 1852.54, + "action": "", + "move_mode": "run", + "type": "path" + }, + { + "id": 12, + "x": -1086.32, + "y": 1849.53, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 13, + "x": -1099.39, + "y": 1843.03, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 14, + "x": -1106.38, + "y": 1846.4, + "action": "fight", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 15, + "x": -1103.79, + "y": 1859.5, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 16, + "x": -1106.37, + "y": 1867.04, + "action": "fight", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 17, + "x": -1096.21, + "y": 1867.18, + "action": "", + "move_mode": "walk", + "type": "path" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/极速前进/苍风高地-1.json b/repo/js/AutoCommission/assets/极速前进/苍风高地-1.json new file mode 100644 index 00000000..69f86d50 --- /dev/null +++ b/repo/js/AutoCommission/assets/极速前进/苍风高地-1.json @@ -0,0 +1,211 @@ +{ + "info": { + "name": "极速前进-1", + "type": "collect", + "author": "11", + "version": "1.0", + "description": "极速前进-1", + "map_name": "Teyvat", + "bgi_version": "0.45.0" + }, + "positions": [ + { + "id": 1, + "x": -578.7626953125, + "y": 1853.47314453125, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "teleport" + }, + { + "id": 2, + "x": -605.744140625, + "y": 1885.2265625, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "target" + }, + { + "id": 3, + "x": -562.892578125, + "y": 1957.0341796875, + "action": "", + "move_mode": "dash", + "action_params": "", + "type": "path" + }, + { + "id": 4, + "x": -562.892578125, + "y": 1957.0341796875, + "action": "fight", + "move_mode": "dash", + "action_params": "", + "type": "path" + }, + { + "id": 5, + "x": -545.7497191838229, + "y": 1976.125, + "action": "", + "move_mode": "dash", + "action_params": "", + "type": "path" + }, + { + "id": 6, + "x": -539.1250401165962, + "y": 1978.5, + "action": "", + "move_mode": "fly", + "action_params": "", + "type": "path" + }, + { + "id": 7, + "x": -509.2216796875, + "y": 1990.3891601562505, + "action": "stop_flying", + "move_mode": "fly", + "action_params": "", + "type": "path" + }, + { + "id": 8, + "x": -508.2216796875, + "y": 1990.3891601562505, + "action": "", + "move_mode": "dash", + "action_params": "", + "type": "path" + }, + { + "id": 9, + "x": -461.2216796875, + "y": 1996.8916015625, + "action": "", + "move_mode": "dash", + "action_params": "", + "type": "path" + }, + { + "id": 10, + "x": -460.2216796875, + "y": 1996.8916015625, + "action": "fight", + "move_mode": "dash", + "action_params": "", + "type": "path" + }, + { + "id": 11, + "x": -442.2510229732179, + "y": 1990.375, + "action": "combat_script", + "move_mode": "walk", + "action_params": "attack,", + "type": "path" + }, + { + "id": 12, + "x": -441.75102297321786, + "y": 1986.125, + "action": "combat_script", + "move_mode": "walk", + "action_params": "wait(1),attack,wait(0.3),keypress(Space),wait(0.15),keypress(Space),wait(0.15),keypress(Space),wait(0.15),keypress(Space),", + "type": "path" + }, + { + "id": 13, + "x": -417.96875, + "y": 1948.9755859375, + "action": "stop_flying", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 14, + "x": -388.7021484375, + "y": 1920.91064453125, + "action": "", + "move_mode": "dash", + "action_params": "", + "type": "path" + }, + { + "id": 15, + "x": -388.7021484375, + "y": 1920.91064453125, + "action": "fight", + "move_mode": "dash", + "action_params": "", + "type": "path" + }, + { + "id": 16, + "x": -377.810546875, + "y": 1911.63330078125, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 17, + "x": -369.71875, + "y": 1907.26416015625, + "action": "", + "move_mode": "fly", + "action_params": "", + "type": "path" + }, + { + "id": 18, + "x": -319.4765625, + "y": 1888.70068359375, + "action": "stop_flying", + "move_mode": "fly", + "action_params": "", + "type": "path" + }, + { + "id": 19, + "x": -316.4765625, + "y": 1886.70068359375, + "action": "fight", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 20, + "x": -304.83203125, + "y": 1870.14453125, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 21, + "x": -302.966796875, + "y": 1865.37890625, + "type": "path", + "move_mode": "fly", + "action": "", + "action_params": "" + }, + { + "id": 22, + "x": -271.287109375, + "y": 1796.84423828125, + "action": "stop_flying", + "move_mode": "fly", + "action_params": "", + "type": "target" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/极速前进/龙脊雪山-1.json b/repo/js/AutoCommission/assets/极速前进/龙脊雪山-1.json new file mode 100644 index 00000000..03b4f060 --- /dev/null +++ b/repo/js/AutoCommission/assets/极速前进/龙脊雪山-1.json @@ -0,0 +1,158 @@ +{ + "info": { + "name": "龙脊雪山-1", + "type": "collect", + "author": "11", + "version": "1.0", + "description": "极速前进", + "map_name": "Teyvat", + "bgi_version": "0.45.0" + }, + "positions": [ + { + "id": 1, + "x": -846.26, + "y": 1263.65, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "teleport" + }, + { + "id": 2, + "x": -848.71, + "y": 1259.15, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "target", + "locked": false + }, + { + "id": 3, + "x": -848.71, + "y": 1259.15, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 4, + "x": -820.01, + "y": 1247.62, + "action": "", + "move_mode": "fly", + "action_params": "", + "type": "path" + }, + { + "id": 5, + "x": -805.71, + "y": 1240.85, + "action": "", + "move_mode": "fly", + "action_params": "", + "type": "path" + }, + { + "id": 6, + "x": -795.71, + "y": 1234.85, + "action": "", + "move_mode": "dash", + "action_params": "", + "type": "path" + }, + { + "id": 7, + "x": -784.3, + "y": 1230.19, + "action": "fight", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 8, + "x": -785.95, + "y": 1252.75, + "action": "stop_flying", + "move_mode": "fly", + "action_params": "", + "type": "path" + }, + { + "id": 9, + "x": -794.99, + "y": 1268.99, + "action": "fight", + "move_mode": "dash", + "action_params": "", + "type": "path" + }, + { + "id": 10, + "x": -797.48, + "y": 1271.86, + "action": "", + "move_mode": "dash", + "action_params": "", + "type": "path" + }, + { + "id": 11, + "x": -791.69, + "y": 1287.24, + "action": "", + "move_mode": "fly", + "action_params": "", + "type": "path" + }, + { + "id": 12, + "x": -764.6, + "y": 1355.91, + "action": "stop_flying", + "move_mode": "fly", + "action_params": "", + "type": "path" + }, + { + "id": 13, + "x": -749.12, + "y": 1361.53, + "action": "fight", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 14, + "x": -699.0, + "y": 1366.0, + "action": "fight", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 15, + "x": -646.36, + "y": 1377.14, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 16, + "x": -625.36, + "y": 1372.14, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "path" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/邪恶的扩张/奔狼领-1.json b/repo/js/AutoCommission/assets/邪恶的扩张/奔狼领-1.json new file mode 100644 index 00000000..c7f6bf6d --- /dev/null +++ b/repo/js/AutoCommission/assets/邪恶的扩张/奔狼领-1.json @@ -0,0 +1,109 @@ +{ + "info": { + "name": "奔狼领-1", + "type": "collect", + "author": "1", + "version": "", + "description": "", + "bgi_version": "0.42.3" + }, + "positions": [ + { + "id": 1, + "x": -251.72, + "y": 2256.57, + "action": "", + "move_mode": "walk", + "type": "teleport" + }, + { + "id": 2, + "x": -241.19, + "y": 2269.13, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 3, + "x": -227.88, + "y": 2278.79, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 4, + "x": -213.38, + "y": 2285.71, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 5, + "x": -216.19, + "y": 2295.84, + "action": "", + "move_mode": "climb", + "type": "path" + }, + { + "id": 6, + "x": -217.34, + "y": 2297.42, + "action": "", + "move_mode": "climb", + "type": "path" + }, + { + "id": 7, + "x": -222.53, + "y": 2305.08, + "action": "", + "move_mode": "climb", + "type": "path" + }, + { + "id": 8, + "x": -221.77, + "y": 2312.53, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 9, + "x": -200.55, + "y": 2346.66, + "action": "", + "move_mode": "dash", + "type": "path" + }, + { + "id": 10, + "x": -180.44, + "y": 2349.35, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 11, + "x": -174.16, + "y": 2340.09, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 12, + "x": -156.95, + "y": 2329.7, + "action": "fight", + "move_mode": "walk", + "action_params": "", + "type": "path" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/邪恶的扩张/摘星崖-1.json b/repo/js/AutoCommission/assets/邪恶的扩张/摘星崖-1.json new file mode 100644 index 00000000..662cdd2a --- /dev/null +++ b/repo/js/AutoCommission/assets/邪恶的扩张/摘星崖-1.json @@ -0,0 +1,39 @@ +{ + "info": { + "name": "坠星山谷-1", + "type": "collect", + "author": "1", + "version": "1.0", + "description": "", + "bgi_version": "0.42.0" + }, + "positions": [ + { + "id": 1, + "action": "", + "move_mode": "walk", + "type": "teleport", + "x": -1509.69, + "y": 2294.5, + "action_params": "" + }, + { + "id": 2, + "action": "", + "move_mode": "walk", + "type": "path", + "x": -1495.94, + "y": 2263.25, + "action_params": "" + }, + { + "id": 3, + "action": "fight", + "move_mode": "walk", + "type": "path", + "x": -1463.96, + "y": 2254.75, + "action_params": "" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/邪恶的扩张/明冠峡-1.json b/repo/js/AutoCommission/assets/邪恶的扩张/明冠峡-1.json new file mode 100644 index 00000000..b7dc3dc4 --- /dev/null +++ b/repo/js/AutoCommission/assets/邪恶的扩张/明冠峡-1.json @@ -0,0 +1,102 @@ +{ + "info": { + "name": "明冠峡-1", + "type": "collect", + "author": "LX666-666", + "version": "1.0", + "description": "", + "bgi_version": "0.42.3" + }, + "positions": [ + { + "id": 1, + "action": "", + "move_mode": "dash", + "type": "teleport", + "x": -440.1, + "y": 2580.74, + "action_params": "" + }, + { + "id": 2, + "x": -447.81, + "y": 2608.55, + "type": "path", + "move_mode": "dash", + "action": "", + "action_params": "" + }, + { + "id": 3, + "x": -444.1, + "y": 2629.07, + "type": "path", + "move_mode": "dash", + "action": "", + "action_params": "" + }, + { + "id": 4, + "x": -433.4, + "y": 2649.99, + "type": "path", + "move_mode": "dash", + "action": "", + "action_params": "" + }, + { + "id": 5, + "x": -424.95, + "y": 2672.84, + "type": "path", + "move_mode": "dash", + "action": "", + "action_params": "" + }, + { + "id": 6, + "x": -416.86, + "y": 2692.99, + "type": "path", + "move_mode": "dash", + "action": "", + "action_params": "" + }, + { + "id": 7, + "x": -422.62, + "y": 2697.44, + "type": "path", + "move_mode": "fly", + "action": "", + "action_params": "" + }, + { + "id": 8, + "x": -493.25, + "y": 2743.29, + "type": "path", + "move_mode": "fly", + "action": "stop_flying", + "action_params": "" + }, + { + "id": 9, + "x": -495.43, + "y": 2738.67, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 10, + "x": -495.39, + "y": 2738.71, + "type": "path", + "move_mode": "walk", + "action": "fight", + "action_params": "" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/邪恶的扩张/望风山地-1.json b/repo/js/AutoCommission/assets/邪恶的扩张/望风山地-1.json new file mode 100644 index 00000000..0021ba0a --- /dev/null +++ b/repo/js/AutoCommission/assets/邪恶的扩张/望风山地-1.json @@ -0,0 +1,84 @@ +{ + "info": { + "name": "望风山地-1", + "type": "collect", + "author": "未知作者", + "version": "1.0", + "description": "", + "bgi_version": "0.42.0" + }, + "positions": [ + { + "id": 1, + "action": "", + "move_mode": "walk", + "type": "teleport", + "x": -1281.0, + "y": 2714.75 + }, + { + "id": 2, + "x": -1339.25, + "y": 2732.75, + "type": "path", + "move_mode": "run", + "action": "" + }, + { + "id": 3, + "x": -1372.0, + "y": 2741.5, + "type": "path", + "move_mode": "run", + "action": "" + }, + { + "id": 4, + "x": -1401.49, + "y": 2725.5, + "type": "path", + "move_mode": "run", + "action": "" + }, + { + "id": 5, + "x": -1463.49, + "y": 2748.0, + "type": "path", + "move_mode": "run", + "action": "" + }, + { + "id": 6, + "x": -1473.25, + "y": 2780.5, + "type": "path", + "move_mode": "walk", + "action": "" + }, + { + "id": 7, + "x": -1468.25, + "y": 2805.0, + "type": "path", + "move_mode": "walk", + "action": "" + }, + { + "id": 8, + "x": -1476.75, + "y": 2816.0, + "type": "path", + "move_mode": "walk", + "action": "" + }, + { + "id": 9, + "action": "fight", + "move_mode": "walk", + "type": "path", + "x": -1490.0, + "y": 2805.0 + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/邪恶的扩张/苍风高地-1.json b/repo/js/AutoCommission/assets/邪恶的扩张/苍风高地-1.json new file mode 100644 index 00000000..b517d597 --- /dev/null +++ b/repo/js/AutoCommission/assets/邪恶的扩张/苍风高地-1.json @@ -0,0 +1,118 @@ +{ + "info": { + "name": "苍风高地-1", + "type": "collect", + "author": "1", + "version": "", + "description": "", + "bgi_version": "0.42.3" + }, + "positions": [ + { + "id": 1, + "x": -578.67, + "y": 1853.39, + "action": "", + "move_mode": "walk", + "type": "teleport" + }, + { + "id": 2, + "x": -590.93, + "y": 1868.54, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 3, + "x": -600.77, + "y": 1878.16, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 4, + "x": -616.46, + "y": 1893.5, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 5, + "x": -629.45, + "y": 1909.47, + "action": "", + "move_mode": "fly", + "type": "path" + }, + { + "id": 6, + "x": -632.65, + "y": 1913.2, + "action": "", + "move_mode": "fly", + "type": "path" + }, + { + "id": 7, + "x": -635.1, + "y": 1916.73, + "action": "", + "move_mode": "fly", + "type": "path" + }, + { + "id": 8, + "x": -646.99, + "y": 1931.79, + "action": "", + "move_mode": "fly", + "type": "path" + }, + { + "id": 9, + "x": -659.29, + "y": 1947.2, + "action": "", + "move_mode": "fly", + "type": "path" + }, + { + "id": 10, + "x": -667.19, + "y": 1961.37, + "action": "stop_flying", + "move_mode": "fly", + "action_params": "100", + "type": "path" + }, + { + "id": 11, + "x": -679.75, + "y": 1985.88, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 12, + "x": -689.59, + "y": 1999.97, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 13, + "x": -688.12, + "y": 2012.46, + "action": "fight", + "move_mode": "walk", + "action_params": "", + "type": "path" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/邪恶的扩张/誓言-1.json b/repo/js/AutoCommission/assets/邪恶的扩张/誓言-1.json new file mode 100644 index 00000000..2c40122d --- /dev/null +++ b/repo/js/AutoCommission/assets/邪恶的扩张/誓言-1.json @@ -0,0 +1,58 @@ +{ + "info": { + "name": "誓言-1", + "type": "collect", + "author": "星野", + "version": "1.0", + "description": "", + "map_name": "Teyvat", + "bgi_version": "0.45.0" + }, + "positions": [ + { + "id": 1, + "x": -1999.89453125, + "y": 1433.91259765625, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "teleport" + }, + { + "id": 2, + "x": -1995.75, + "y": 1412.5, + "action": "", + "move_mode": "dash", + "action_params": "", + "type": "path" + }, + { + "id": 3, + "x": -1970.5, + "y": 1411.5, + "action": "", + "move_mode": "dash", + "action_params": "", + "type": "path" + }, + { + "id": 4, + "x": -1946.25, + "y": 1411.5, + "action": "", + "move_mode": "dash", + "action_params": "", + "type": "path" + }, + { + "id": 5, + "x": -1926.8408203125, + "y": 1415.01171875, + "action": "fight", + "move_mode": "walk", + "action_params": "", + "type": "path" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/邪恶的扩张/誓言岬-1.json b/repo/js/AutoCommission/assets/邪恶的扩张/誓言岬-1.json new file mode 100644 index 00000000..785af33c --- /dev/null +++ b/repo/js/AutoCommission/assets/邪恶的扩张/誓言岬-1.json @@ -0,0 +1,58 @@ +{ + "info": { + "name": "誓言岬-1", + "type": "collect", + "author": "星野", + "version": "1.0", + "description": "", + "map_name": "Teyvat", + "bgi_version": "0.45.0" + }, + "positions": [ + { + "id": 1, + "x": -1999.89453125, + "y": 1433.91259765625, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "teleport" + }, + { + "id": 2, + "x": -1995.75, + "y": 1412.5, + "action": "", + "move_mode": "dash", + "action_params": "", + "type": "path" + }, + { + "id": 3, + "x": -1970.5, + "y": 1411.5, + "action": "", + "move_mode": "dash", + "action_params": "", + "type": "path" + }, + { + "id": 4, + "x": -1946.25, + "y": 1411.5, + "action": "", + "move_mode": "dash", + "action_params": "", + "type": "path" + }, + { + "id": 5, + "x": -1926.8408203125, + "y": 1415.01171875, + "action": "fight", + "move_mode": "walk", + "action_params": "", + "type": "path" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/邪恶的扩张/达达乌帕谷-1.json b/repo/js/AutoCommission/assets/邪恶的扩张/达达乌帕谷-1.json new file mode 100644 index 00000000..12dd62d6 --- /dev/null +++ b/repo/js/AutoCommission/assets/邪恶的扩张/达达乌帕谷-1.json @@ -0,0 +1,138 @@ +{ + "info": { + "name": "达达乌帕谷-1", + "type": "collect", + "author": "1", + "version": "1.0", + "description": "", + "bgi_version": "0.42.0" + }, + "positions": [ + { + "id": 1, + "x": -2002.35, + "y": 1437.5, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "teleport" + }, + { + "id": 2, + "x": -1937.63, + "y": 1405.25, + "action": "fight", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 3, + "x": -1857.2, + "y": 1332.0, + "action": "", + "move_mode": "run", + "action_params": "", + "type": "path" + }, + { + "id": 4, + "x": -1760.25, + "y": 1445.0, + "action": "", + "move_mode": "run", + "action_params": "", + "type": "path" + }, + { + "id": 5, + "x": -1622.38, + "y": 1535.75, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 6, + "x": -1641.07, + "y": 1566.38, + "action": "fight", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 7, + "x": -1667.06, + "y": 1604.38, + "action": "", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 8, + "x": -1611.88, + "y": 1585.0, + "action": "fight", + "move_mode": "walk", + "action_params": "", + "type": "path" + }, + { + "id": 9, + "x": -1672.13, + "y": 1547.12, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 10, + "x": -1620.73, + "y": 1537.88, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 11, + "x": -1610.48, + "y": 1593.0, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 12, + "x": -1666.26, + "y": 1588.75, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + }, + { + "id": 13, + "x": -1669.12, + "y": 1564.38, + "type": "teleport", + "move_mode": "walk", + "action": "fight", + "action_params": "" + }, + { + "id": 14, + "x": -1665.62, + "y": 1541.0, + "type": "path", + "move_mode": "walk", + "action": "", + "action_params": "" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/assets/邪恶的扩张/风龙废墟-1.json b/repo/js/AutoCommission/assets/邪恶的扩张/风龙废墟-1.json new file mode 100644 index 00000000..c8d148e5 --- /dev/null +++ b/repo/js/AutoCommission/assets/邪恶的扩张/风龙废墟-1.json @@ -0,0 +1,109 @@ +{ + "info": { + "name": "风龙废墟-1", + "type": "collect", + "author": "星野", + "version": "1.0", + "description": "", + "map_name": "Teyvat", + "bgi_version": "0.45.0" + }, + "positions": [ + { + "id": 1, + "x": 323.53, + "y": 2570.5, + "action": "", + "move_mode": "dash", + "action_params": "", + "type": "teleport" + }, + { + "id": 2, + "x": 306.53, + "y": 2537.75, + "action": "", + "move_mode": "dash", + "action_params": "", + "type": "path" + }, + { + "id": 3, + "x": 289.13, + "y": 2521, + "action": "", + "move_mode": "dash", + "action_params": "", + "type": "path" + }, + { + "id": 4, + "x": 287.76, + "y": 2505.5, + "action": "", + "move_mode": "dash", + "action_params": "", + "type": "path" + }, + { + "id": 5, + "x": 277.13, + "y": 2498.75, + "action": "", + "move_mode": "dash", + "action_params": "", + "type": "path" + }, + { + "id": 6, + "x": 252.25, + "y": 2493, + "action": "", + "move_mode": "dash", + "action_params": "", + "type": "path" + }, + { + "id": 7, + "x": 236.13, + "y": 2492.62, + "action": "", + "move_mode": "dash", + "action_params": "", + "type": "path" + }, + { + "id": 8, + "x": 220, + "y": 2499.75, + "action": "", + "move_mode": "dash", + "type": "path" + }, + { + "id": 9, + "x": 217.25, + "y": 2522.75, + "action": "", + "move_mode": "dash", + "type": "path" + }, + { + "id": 10, + "x": 221.91, + "y": 2533.16, + "action": "", + "move_mode": "dash", + "type": "path" + }, + { + "id": 11, + "x": 223.22, + "y": 2537.84, + "action": "fight", + "move_mode": "walk", + "action_params": "", + "type": "path" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/main.js b/repo/js/AutoCommission/main.js new file mode 100644 index 00000000..bce2a600 --- /dev/null +++ b/repo/js/AutoCommission/main.js @@ -0,0 +1,1851 @@ +// V0.97 +(async function () { + // 定义常量 + const OCR_REGION_X = 750; + const OCR_REGION_Y = 250; + const OCR_REGION_WIDTH = 450; // 1200 - 750 + const OCR_REGION_HEIGHT = 400; // 650 - 250 + + // 修复文件路径问题 - 使用相对路径 + const SUPPORT_LIST_PATH = "name.json"; + const OUTPUT_DIR = "Data"; + + // 添加图像识别相关常量 + const COMPLETED_IMAGE_PATH = "Data/RecognitionObject/Completed.png"; + const UNCOMPLETED_IMAGE_PATH = "Data/RecognitionObject/UnCompleted.png"; + + // 委托类型常量 + const COMMISSION_TYPE = { + FIGHT: "fight", + TALK: "talk", + }; + + // 对话委托流程路径 + const TALK_PROCESS_BASE_PATH = "assets/process"; + + // 委托详情按钮位置(扩展检测范围左右+50像素) + const COMMISSION_DETAIL_BUTTONS = [ + { id: 1, x: 1550, y: 320, checkX: 1450, checkWidth: 150 }, // 第一个委托详情按钮 + { id: 2, x: 1550, y: 420, checkX: 1450, checkWidth: 150 }, // 第二个委托详情按钮 + { id: 3, x: 1550, y: 530, checkX: 1500, checkWidth: 100 }, // 第三个委托详情按钮 + { id: 4, x: 1550, y: 560, checkX: 1450, checkWidth: 150 }, // 第四个委托详情按钮(滑动后) + ]; + + // 委托地点OCR区域 + const LOCATION_OCR_X = 1530; + const LOCATION_OCR_Y = 100; + const LOCATION_OCR_WIDTH = 250; // 1630 - 1530 + const LOCATION_OCR_HEIGHT = 30; // 130 - 100 + + // 委托触发检测区域 + const COMMISSION_TRIGGER_OCR_X = 885; + const COMMISSION_TRIGGER_OCR_Y = 200; + const COMMISSION_TRIGGER_OCR_WIDTH = 165; // 1050 - 885 + const COMMISSION_TRIGGER_OCR_HEIGHT = 50; // 250 - 200 + + // 委托完成检测区域 + const COMMISSION_COMPLETE_OCR_X = 880; + const COMMISSION_COMPLETE_OCR_Y = 165; + const COMMISSION_COMPLETE_OCR_WIDTH = 170; // 1050 - 880 + const COMMISSION_COMPLETE_OCR_HEIGHT = 45; // 210 - 165 + + // 获取设置 + const skipRecognition = settings.skipRecognition || false; + //const debugMode = settings.debugMode || false; + const minTextLength = parseInt(settings.minTextLength || "4"); + const team = settings.team || ""; + + // 存储当前委托位置 + let currentCommissionPosition = null; + + async function prepareForLeyLineRun() { + // 开局传送到七天神像 + await genshin.returnMainUi(); + await genshin.tpToStatueOfTheSeven(); + // 切换战斗队伍 + if (team) { + log.info(`切换至队伍 ${team}`); + await genshin.switchParty(team); + } + } + +/** + * 自动导航到NPC对话位置 + * @param {string} npcName - 目标NPC名称 + * @param {string} iconType - 图标类型 ("task"或"bigmap") + * @returns {Promise} + */ +const autoNavigateToTalk = async (npcName = "", iconType = "bigmap") => { + // 设置目标NPC名称 + const textArray = [npcName]; + + // 根据图标类型选择不同的识别对象 + let boxIconRo; + if (iconType === "task") { + boxIconRo = RecognitionObject.TemplateMatch( + file.ReadImageMatSync("Data/RecognitionObject/IconTaskCommission.png") + ); + } else { // 默认使用大地图图标 + boxIconRo = RecognitionObject.TemplateMatch( + file.ReadImageMatSync("Data/RecognitionObject/IconBigmapCommission.jpg") + ); + } + + const rewardTextRo = RecognitionObject.Ocr(1210, 515, 200, 50); //对话区域检测 + let advanceNum = 0; //前进次数 + + middleButtonClick(); + await sleep(800); + + while (true) { + // 1. 优先检查是否已到达 + let captureRegion = captureGameRegion(); + let rewardTextArea = captureRegion.DeriveCrop(1210, 515, 200, 50); + let rewardResult = rewardTextArea.find(RecognitionObject.ocrThis); + // 检测到特点文字则结束!!! + if (rewardResult.text == textArray[0]) { + log.info("已到达指定位置,检测到文字: " + rewardResult.text); + return; + } else if (advanceNum > 80) { + throw new Error("前进时间超时"); + } + // 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("检侧进入攀爬状态,尝试脱离"); + keyPress("x"); + await sleep(1000); + keyDown("a"); + await sleep(800); + keyUp("a"); + keyDown("w"); + await sleep(800); + keyUp("w"); + } + if (iconRes.x >= 920 && iconRes.x <= 980 && iconRes.y <= 540) { + advanceNum++; + log.info(`视野已调正,前进第${advanceNum}次`); + break; + } else { + // 小幅度调整 + if (iconRes.y >= 520) moveMouseBy(0, 920); + let adjustAmount = iconRes.x < 920 ? -20 : 20; + let distanceToCenter = Math.abs(iconRes.x - 920); // 计算与920的距离 + let scaleFactor = Math.max(1, Math.floor(distanceToCenter / 50)); // 根据距离缩放,最小为1 + let adjustAmount2 = iconRes.y < 540 ? scaleFactor : 10; + moveMouseBy(adjustAmount * adjustAmount2, 0); + await sleep(100); + } + if (i > 50) throw new Error("视野调整超时"); + } + // 3. 前进一小步 + keyDown("w"); + await sleep(500); + keyUp("w"); + await sleep(200); // 等待角色移动稳定 + } +}; + + /** + * 检测委托完成状态(使用图像识别) + * @param {number} buttonIndex - 按钮索引(0-3) + * @returns {Promise} 返回 "completed", "uncompleted", 或 "unknown" + */ + async function detectCommissionStatusByImage(buttonIndex) { + try { + const button = COMMISSION_DETAIL_BUTTONS[buttonIndex]; + if (!button) { + log.error("无效的按钮索引: {index}", buttonIndex); + return "unknown"; + } + + //log.info("检测委托{id}的完成状态(图像识别)", button.id); + + // 截图 + let captureRegion = captureGameRegion(); + + // 检测区域:按钮位置左右各扩展更大范围 + const checkRegion = captureRegion.deriveCrop( + button.checkX, + button.y - 30, // 稍微向上扩展检测区域 + button.checkWidth, + 60 // 增加高度以确保捕获状态图标 + ); + + // 加载完成和未完成的模板图像 + let completedTemplate, uncompletedTemplate; + + try { + completedTemplate = file.readImageMatSync(COMPLETED_IMAGE_PATH); + uncompletedTemplate = file.readImageMatSync(UNCOMPLETED_IMAGE_PATH); + } catch (imageError) { + log.error("加载模板图像失败: {error}", imageError); + return "unknown"; + } + + // 创建识别对象,使用更灵活的参数 + const completedRo = RecognitionObject.TemplateMatch( + completedTemplate, + 0, + 0, + button.checkWidth, + 60 + ); + const uncompletedRo = RecognitionObject.TemplateMatch( + uncompletedTemplate, + 0, + 0, + button.checkWidth, + 60 + ); + + // 降低匹配阈值,提高识别灵活性 + completedRo.threshold = 0.65; + uncompletedRo.threshold = 0.65; + + // 检测完成状态 + const completedResult = checkRegion.find(completedRo); + if (!completedResult.isEmpty()) { + //log.info("委托{id}已完成", button.id); + return "completed"; + } + + // 检测未完成状态 + const uncompletedResult = checkRegion.find(uncompletedRo); + if (!uncompletedResult.isEmpty()) { + //log.info("委托{id}未完成", button.id); + return "uncompleted"; + } + + /* 尝试使用更低的阈值再次检测 + log.info("使用更低阈值再次检测委托{id}状态", button.id); + completedRo.threshold = 0.6; + uncompletedRo.threshold = 0.6; + + const completedResult2 = checkRegion.find(completedRo); + if (!completedResult2.isEmpty()) { + log.info("委托{id}已完成(低阈值检测)", button.id); + return "completed"; + } + + const uncompletedResult2 = checkRegion.find(uncompletedRo); + if (!uncompletedResult2.isEmpty()) { + log.info("委托{id}未完成(低阈值检测)", button.id); + return "uncompleted"; + }*/ + + log.warn("委托{id}状态识别失败", button.id); + return "unknown"; + } catch (error) { + log.error("检测委托完成状态时出错: {error}", error); + return "unknown"; + } + } + + // 读取支持的委托列表 + function loadSupportedCommissions() { + let supportedCommissions = { + fight: [], + talk: [], + }; + + try { + // 使用正确的文件读取方法 + log.info("开始读取支持的委托列表: {path}", SUPPORT_LIST_PATH); + + // 尝试读取文件内容 + try { + const supportListContent = file.readTextSync(SUPPORT_LIST_PATH); + + if (supportListContent && supportListContent.trim()) { + try { + // 解析JSON格式 + const commissionData = JSON.parse(supportListContent); + supportedCommissions.fight = commissionData.fight || []; + supportedCommissions.talk = commissionData.talk || []; + + log.info( + "已加载支持的战斗委托列表,共 {count} 个", + supportedCommissions.fight.length + ); + log.info( + "已加载支持的对话委托列表,共 {count} 个", + supportedCommissions.talk.length + ); + } catch (jsonError) { + log.error("解析委托列表JSON失败: {error}", jsonError); + } + } else { + log.warn("支持的委托列表为空"); + } + } catch (readError) { + // 如果读取失败,检查文件是否存在 + log.error("读取委托列表失败: {error}", readError); + + // 尝试创建文件 + try { + // 创建默认的JSON结构 + const defaultJson = JSON.stringify( + { + fight: [], + talk: [], + }, + null, + 2 + ); + + const writeResult = file.writeTextSync( + SUPPORT_LIST_PATH, + defaultJson + ); + if (writeResult) { + log.info("已创建空的委托列表文件"); + } else { + log.error("创建委托列表文件失败"); + } + } catch (writeError) { + log.error("创建委托列表文件失败: {error}", writeError); + } + } + } catch (error) { + log.error("处理委托列表时出错: {error}", error); + } + + return supportedCommissions; + } + + // 清理文本(去除标点符号等) + function cleanText(text) { + if (!text) return ""; + // 去除标点符号和特殊字符 + return text.replace(/[^\u4e00-\u9fa5a-zA-Z0-9]/g, "").trim(); + } + + // 进入委托界面 + async function enterCommissionScreen() { + log.info("正在进入委托界面..."); + + try { + // 使用F1快捷键直接打开委托界面 + log.info("尝试使用F1快捷键打开委托界面"); + keyPress("VK_F1"); + // 点击委托界面 + log.info("点击委托界面"); + await sleep(900); + click(300, 350); + await sleep(100); + log.info("已进入委托界面"); + return true; + } catch (error) { + log.error("进入委托界面失败: {error}", error); + return false; + } + } + + // 自动执行划页操作 - 新的滑动方法 + async function PageScroll(scrollCount) { + try { + const clickX = 950; // 假设点击的起始坐标 + const clickY = 600; + const totalDistance = 300; // 假设每次滑动的总距离 + const stepDistance = 10; // 每步移动的距离 + + for (let i = 0; i < scrollCount; ++i) { + log.info(`开始第 ${i + 1} 次滑动`); + + // 如果点击坐标为 (0, 0),则跳过点击 + if (clickX !== 0 || clickY !== 0) { + moveMouseTo(clickX, clickY); // 移动到指定坐标 + await sleep(100); + } + + // 按住鼠标左键 + leftButtonDown(); + + // 将鼠标移动到目标位置,模拟更自然的拖动操作 + const steps = totalDistance / stepDistance; // 分成若干步移动 + + for (let j = 0; j < steps; j++) { + moveMouseBy(0, -stepDistance); // 每次移动 stepDistance 像素 + await sleep(10); // 每次移动后延迟10毫秒 + } + + // 释放鼠标左键 + await sleep(700); + leftButtonUp(); + await sleep(1000); // 增加滑动后的等待时间,确保界面稳定 + } + + return true; + } catch (error) { + log.error(`执行滑动操作时发生错误:${error.message}`); + return false; + } + } + + // 识别委托地点 + function recognizeCommissionLocation() { + try { + log.info( + "识别委托地点 ({x}, {y}) ({width}, {height})...", + LOCATION_OCR_X, + LOCATION_OCR_Y, + LOCATION_OCR_X + LOCATION_OCR_WIDTH, + LOCATION_OCR_Y + LOCATION_OCR_HEIGHT + ); + + // 创建OCR识别对象 + const locationOcrRo = RecognitionObject.Ocr( + LOCATION_OCR_X, + LOCATION_OCR_Y, + LOCATION_OCR_WIDTH, + LOCATION_OCR_HEIGHT + ); + + // 截图识别 + let captureRegion = captureGameRegion(); + let results = captureRegion.findMulti(locationOcrRo); + + if (results.count > 0) { + // 取第一个结果作为地点 + return results[0].text.trim(); + } + + return "未知地点"; + } catch (error) { + log.error("识别委托地点时出错: {error}", error); + return "识别失败"; + } + } + + // 保存委托数据到文件 + function saveCommissionsData(commissionsTable) { + try { + log.info("保存委托数据到文件..."); + + // 创建JSON格式的委托数据 + const commissionsData = { + timestamp: new Date().toISOString(), + commissions: commissionsTable, + }; + + // 保存到文件 + const outputPath = `${OUTPUT_DIR}/commissions_data.json`; + try { + const jsonResult = file.writeTextSync( + outputPath, + JSON.stringify(commissionsData, null, 2) + ); + if (jsonResult) { + log.info("委托数据已保存到: {path}", outputPath); + } else { + log.error("保存委托数据失败"); + } + } catch (jsonError) { + log.error("保存委托数据失败: {error}", jsonError); + } + + // 创建可读的文本报告 + let reportContent = "# 原神每日委托识别报告\r\n"; + reportContent += `生成时间: ${new Date().toLocaleString()}\r\n\r\n`; + reportContent += "## 委托列表\r\n\r\n"; + + for (const commission of commissionsTable) { + const supportStatus = commission.supported ? "✅ 支持" : "❌ 不支持"; + const locationInfo = commission.location + ? `(${commission.location})` + : ""; + reportContent += `${commission.id}. ${commission.name} ${locationInfo} - ${supportStatus}\r\n`; + } + + // 保存报告 + const reportPath = `${OUTPUT_DIR}/commissions_report.txt`; + try { + const reportResult = file.writeTextSync(reportPath, reportContent); + if (reportResult) { + log.info("委托报告已保存到: {path}", reportPath); + } else { + log.error("保存委托报告失败"); + } + } catch (reportError) { + log.error("保存委托报告失败: {error}", reportError); + } + + return commissionsTable.filter((c) => c.supported); + } catch (error) { + log.error("处理委托数据时出错: {error}", error); + return []; + } + } + + function ensureDirectoryExists(dirPath) { + try { + // 尝试创建目录,如果目录已存在,writeTextSync不会报错 + // 创建一个临时文件来确保目录存在 + const tempFilePath = `${dirPath}/.temp`; + file.writeTextSync(tempFilePath, ""); + log.info(`已确保目录存在: ${dirPath}`); + return true; + } catch (error) { + log.error(`创建目录时出错: ${error}`); + return false; + } + } + + // 检测是否进入委托详情界面 + async function checkDetailPageEntered() { + try { + //log.info("检测是否进入委托详情界面..."); + + // 创建OCR识别对象 - 检测区域(1480,100)到(1535,130) + const detailOcrRo = RecognitionObject.Ocr( + 1480, + 100, + 55, // 1535 - 1480 + 30 // 130 - 100 + ); + + // 尝试3次OCR识别 + for (let i = 0; i < 3; i++) { + //log.info(`执行第${i + 1}次详情界面OCR检测`); + let captureRegion = captureGameRegion(); + let results = captureRegion.findMulti(detailOcrRo); + + if (results.count > 0) { + // 检查OCR结果 + for (let j = 0; j < results.count; j++) { + const text = results[j].text.trim(); + //log.info(`检测到文本: "${text}"`); + + // 如果有"蒙德",表示进入了详情界面 + if (text.includes("蒙德")) { + log.info("检测到蒙德委托,成功进入详情界面"); + return "蒙德"; + } + // 如果没有文字,可能是已完成委托 + else if (text === "") { + log.info("未检测到地区文本,可能是已完成委托"); + return "已完成"; + } + // 其他地区委托 + else if (text.length >= 2) { + log.info(`检测到其他地区委托: ${text}`); + return text; + } + } + } + + // 如果没有检测到,等待一会再试 + await sleep(500); + } + + log.info("三次OCR检测后仍未确认委托国家"); + return "未知"; + } catch (error) { + log.error("检测委托详情界面时出错: {error}", error); + return "错误"; + } + } + + /** + * 优化后的委托识别主函数 + */ + async function Identification() { + try { + log.info("开始执行原神每日委托识别脚本"); + await genshin.returnMainUi(); + setGameMetrics(1920, 1080, 1); + + // 加载支持的委托列表 + const supportedCommissions = loadSupportedCommissions(); + + // 确保所有委托的资源目录存在 + for (const commission of supportedCommissions.fight) { + ensureDirectoryExists(`assets/${commission}`); + } + for (const commission of supportedCommissions.talk) { + ensureDirectoryExists(`assets/process/${commission}`); + } + + // 进入委托界面 + const enterSuccess = await enterCommissionScreen(); + if (!enterSuccess) { + log.error("无法进入委托界面,脚本终止"); + return; + } + await sleep(1000); + + // 步骤1: 执行第一次OCR识别 + log.info("步骤1: 执行第一次OCR识别"); + const ocrRo = RecognitionObject.Ocr( + OCR_REGION_X, + OCR_REGION_Y, + OCR_REGION_WIDTH, + OCR_REGION_HEIGHT + ); + + // 第一次截图识别 + log.info( + "执行第一次OCR识别 ({x}, {y}) ({width}, {height})", + OCR_REGION_X, + OCR_REGION_Y, + OCR_REGION_X + OCR_REGION_WIDTH, + OCR_REGION_Y + OCR_REGION_HEIGHT + ); + let captureRegion = captureGameRegion(); + let firstResults = captureRegion.findMulti(ocrRo); + log.info("第一次OCR识别结果数量: {count}", firstResults.count); + + // 处理第一次识别结果 + let firstCommissions = []; + for (let i = 0; i < firstResults.count; i++) { + let result = firstResults[i]; + let text = cleanText(result.text); + if (text && text.length >= minTextLength) { + log.info('第{index}个委托: "{text}"', i + 1, text); + + // 检查委托类型 + const isFightCommission = supportedCommissions.fight.includes(text); + const isTalkCommission = supportedCommissions.talk.includes(text); + const isSupported = isFightCommission || isTalkCommission; + const commissionType = isFightCommission + ? COMMISSION_TYPE.FIGHT + : isTalkCommission + ? COMMISSION_TYPE.TALK + : ""; + + firstCommissions.push({ + id: i + 1, + name: text, + supported: isSupported, + type: commissionType, + location: "", + }); + } + } + + // 步骤2: 使用图像识别检测前3个委托的完成状态 + log.info("步骤2: 检测前3个委托的完成状态"); + for (let i = 0; i < Math.min(3, firstCommissions.length); i++) { + const commission = firstCommissions[i]; + + // 使用图像识别检测完成状态 + const status = await detectCommissionStatusByImage(i); + + if (status === "completed") { + log.info( + "委托{id} {name} 已完成,跳过详情查看", + commission.id, + commission.name + ); + commission.location = "已完成"; + continue; + } else if (status === "uncompleted") { + log.info( + "委托{id} {name} 未完成,查看详情", + commission.id, + commission.name + ); + } else { + log.warn( + "委托{id} {name} 状态未知,尝试查看详情", + commission.id, + commission.name + ); + } + + // 只有未完成或状态未知的委托才点击查看详情 + log.info( + "查看第{id}个委托详情: {name}", + commission.id, + commission.name + ); + + // 点击详情按钮 + const detailButton = COMMISSION_DETAIL_BUTTONS[commission.id - 1]; + log.info("点击委托详情按钮 ({x}, {y})", detailButton.x, detailButton.y); + click(detailButton.x, detailButton.y); + await sleep(2500); + + // 检测委托国家 + const detailStatus = await checkDetailPageEntered(); + log.info(`委托国家: ${detailStatus}`); + commission.country = detailStatus; + const location = recognizeCommissionLocation(); + commission.location = location; + log.info("委托 {name} 的地点: {location}", commission.name, location); + + // 退出详情页面并获取地图坐标 + if (commission.location !== "已完成") { + log.info("退出详情页面 - 按ESC"); + keyDown("VK_ESCAPE"); + await sleep(300); + keyUp("VK_ESCAPE"); + await sleep(1200); + + // 获取地图坐标并保存 + const bigMapPosition = genshin.getPositionFromBigMap(); + if (bigMapPosition) { + currentCommissionPosition = bigMapPosition; + commission.CommissionPosition = bigMapPosition; + log.info( + "当前委托位置: ({x}, {y})", + bigMapPosition.x, + bigMapPosition.y + ); + } + + keyDown("VK_ESCAPE"); + await sleep(300); + keyUp("VK_ESCAPE"); + await sleep(1200); + } + } + + // 步骤3: 执行下滑操作 + log.info("步骤3: 执行下滑操作"); + await PageScroll(1); + await sleep(2000); + + // 步骤4: 执行第二次OCR识别 + log.info( + "步骤4: 执行第二次OCR识别({x}, {y}) ({width}, {height})", + OCR_REGION_X, + OCR_REGION_Y, + OCR_REGION_X + OCR_REGION_WIDTH, + OCR_REGION_Y + OCR_REGION_HEIGHT + ); + captureRegion = captureGameRegion(); + let secondResults = captureRegion.findMulti(ocrRo); + log.info("第二次OCR识别结果数量: {count}", secondResults.count); + + // 处理第二次识别结果 + let fourthCommission = null; + for (let i = 0; i < secondResults.count; i++) { + let result = secondResults[i]; + let text = cleanText(result.text); + if (text && text.length >= minTextLength) { + log.info('第4个委托: "{text}"', text); + + // 检查委托类型 + const isFightCommission = supportedCommissions.fight.includes(text); + const isTalkCommission = supportedCommissions.talk.includes(text); + const isSupported = isFightCommission || isTalkCommission; + const commissionType = isFightCommission + ? COMMISSION_TYPE.FIGHT + : isTalkCommission + ? COMMISSION_TYPE.TALK + : ""; + + fourthCommission = { + id: 4, + name: text, + supported: isSupported, + type: commissionType, + location: "", + }; + } + } + + // 步骤5: 检测第4个委托的完成状态 + if (fourthCommission) { + log.info("步骤5: 检测第4个委托的完成状态"); + + // 使用图像识别检测完成状态 + const status = await detectCommissionStatusByImage(3); // 第4个按钮索引为3 + + if (status === "completed") { + log.info("委托4 {name} 已完成,跳过详情查看", fourthCommission.name); + fourthCommission.location = "已完成"; + } else if (status === "uncompleted" || status === "unknown") { + log.info("委托4 {name} 需要查看详情", fourthCommission.name); + + // 点击详情按钮 + const detailButton = COMMISSION_DETAIL_BUTTONS[3]; + log.info( + "点击委托详情按钮 ({x}, {y})", + detailButton.x, + detailButton.y + ); + click(detailButton.x, detailButton.y); + await sleep(2500); + + // 检测是否成功进入详情界面并获取委托国家 + const detailStatus = await checkDetailPageEntered(); + log.info(`委托国家: ${detailStatus}`); + fourthCommission.country = detailStatus; + + // 根据检测结果处理 + if (fourthCommission.location === "已完成") { + log.info("该委托已完成,跳过地点识别和退出操作"); + fourthCommission.location = "已完成"; + } else { + location = recognizeCommissionLocation(); + fourthCommission.location = location; + log.info( + "委托 {name} 的地点: {location}", + fourthCommission.name, + location + ); + } + + // 退出详情页面并获取地图坐标 + if (fourthCommission.location !== "未知") { + log.info("退出详情页面 - 按ESC"); + keyDown("VK_ESCAPE"); + await sleep(300); + keyUp("VK_ESCAPE"); + await sleep(1200); + + // 获取地图坐标并保存 + const bigMapPosition = genshin.getPositionFromBigMap(); + if (bigMapPosition) { + currentCommissionPosition = bigMapPosition; + fourthCommission.CommissionPosition = bigMapPosition; + log.info( + "当前委托位置: ({x}, {y})", + bigMapPosition.x, + bigMapPosition.y + ); + } + + keyDown("VK_ESCAPE"); + await sleep(300); + keyUp("VK_ESCAPE"); + await sleep(1200); + } + } + } + + // 合并所有委托结果 + let allCommissions = [...firstCommissions]; + if (fourthCommission) { + allCommissions.push(fourthCommission); + } + + // 输出完整委托列表 + log.info("完整委托列表:"); + for (const commission of allCommissions) { + const supportStatus = commission.supported ? "✅ 支持" : "❌ 不支持"; + const locationInfo = commission.location + ? `(${commission.location})` + : ""; + const typeInfo = commission.type ? `[${commission.type}]` : ""; + log.info( + "{id}. {name} {location} {type} - {status}", + commission.id, + commission.name, + locationInfo, + typeInfo, + supportStatus + ); + } + + // 保存委托数据 + saveCommissionsData(allCommissions); + + log.info("原神每日委托识别脚本执行完成"); + } catch (error) { + log.error("脚本执行出错: {error}", error); + } + } + + /** + * 计算两点之间的距离 + * @param {Object} pos1 - 位置1 {x, y} + * @param {Object} pos2 - 位置2 {x, y} + * @returns {number} 距离 + */ + function calculateDistance(point1, point2) { + if ( + !point1 || + !point2 || + !point1.X || + !point1.Y || + !point2.x || + !point2.y + ) { + log.warn("无效的位置数据"); + return Infinity; + } + return Math.sqrt( + Math.pow(point1.X - point2.x, 2) + Math.pow(point1.Y - point2.y, 2) + ); + } + + /** + * 获取委托的目标坐标(从路径追踪文件中获取最后一个坐标) + * @param {string} scriptPath - 委托的脚本路径 + * @returns {Object|null} 目标坐标 {x, y} 或 null + */ + async function getCommissionTargetPosition(scriptPath) { + try { + const scriptContent = await file.readText(scriptPath); + const pathData = JSON.parse(scriptContent); + + if (!pathData.positions || pathData.positions.length === 0) { + log.warn("路径追踪文件 {path} 中没有有效的坐标数据", scriptPath); + return null; + } + + const lastPosition = pathData.positions[pathData.positions.length - 1]; + if (!lastPosition.x || !lastPosition.y) { + log.warn( + "路径追踪文件 {path} 的最后一个路径点缺少坐标数据", + scriptPath + ); + return null; + } + + log.debug( + "从脚本路径 {path} 获取到目标坐标: ({x}, {y})", + scriptPath, + lastPosition.x, + lastPosition.y + ); + return { + x: lastPosition.x, + y: lastPosition.y, + }; + } catch (error) { + log.error("获取委托目标位置时出错: {error}", error); + return null; + } + } + + /** + * 统一的对话委托流程处理器 + * @param {Array} processSteps - 处理步骤数组 + * @param {string} commissionName - 委托名称 + * @param {string} location - 委托地点 + * @returns {Promise} - 执行结果 + */ + async function executeUnifiedTalkProcess( + processSteps, + commissionName, + location + ) { + try { + log.info("执行统一对话委托流程: {name}", commissionName); + + // 加载优先选项和白名单NPC名称的默认值 + let priorityOptions = []; + let npcWhiteList = []; + let clickedExtractedName = false; + + // 定义识别对象 + const paimonMenuRo = RecognitionObject.TemplateMatch( + file.ReadImageMatSync("Data/RecognitionObject/paimon_menu.png"), + 0, + 0, + genshin.width / 3.0, + genshin.width / 5.0 + ); + + // 判断是否在主界面的函数 + const isInMainUI = () => { + let captureRegion = captureGameRegion(); + let res = captureRegion.Find(paimonMenuRo); + return !res.isEmpty(); + }; + + // 人名提取函数 + const extractName = (text) => { + const patterns = [ + /与(.+?)对话/, + /与(.+?)一起/, + /同(.+?)交谈/, + /向(.+?)打听/, + /向(.+?)回报/, + /陪同(.+?)\S+/, + /找到(.+?)\S+/, + /询问(.+?)\S+/, + /拜访(.+?)\S+/, + /寻找(.+?)\S+/, + /告诉(.+?)\S+/, + /带(.+?)去\S+/, + /跟随(.+?)\S+/, + /协助(.+?)\S+/, + /请教(.+?)\S+/, + /拜托(.+?)\S+/, + /委托(.+?)\S+/, + ]; + + for (const pattern of patterns) { + const match = text.match(pattern); + if (match && match[1]) { + return match[1].trim(); + } + } + return null; + }; + + // 自动剧情函数 + const executeOptimizedAutoTalk = async ( + extractedName = null, + skipCount = 5, + customPriorityOptions = null, + customNpcWhiteList = null + ) => { + // 使用传入的参数,不再加载默认配置 + const effectivePriorityOptions = customPriorityOptions || []; + const effectiveNpcWhiteList = customNpcWhiteList || []; + + // 初始化 + keyPress("V"); + + // 初始触发剧情 - 识别人名并点击 + extractedName = []; + let captureRegion = captureGameRegion(); + let nameArea = captureRegion.DeriveCrop(75, 240, 225, 60); // 人名区域 + let nameOcrRo = RecognitionObject.Ocr( + 0, + 0, + nameArea.width, + nameArea.height + ); + let nameResults = nameArea.FindMulti(nameOcrRo); + // 尝试提取任务人名 + for (let i = 0; i < nameResults.count; i++) { + let text = nameResults[i].text; + log.info(`任务区域识别文本: ${text}`); + + // 尝试提取任务人名 + let name = extractName(text); + if (name) { + extractedName = name; + log.info(`提取到人名: ${extractedName}`); + break; + } + } + + nameArea = captureRegion.DeriveCrop(1150, 300, 350, 400); + //nameArea = captureRegion.DeriveCrop(0, 0, 1920, 1080); + nameOcrRo = RecognitionObject.Ocr( + 0, + 0, + nameArea.width, + nameArea.height + ); + nameResults = nameArea.FindMulti(nameOcrRo); + let clickedWhitelistNPC = false; + + // 处理人名区域的OCR结果 + if (nameResults.count > 0) { + log.info(`人名区域识别到 ${nameResults.count} 个文本`); + + // 首先尝试点击白名单中的NPC + for (let i = 0; i < nameResults.count; i++) { + let text = nameResults[i].text; + let res = nameResults[i]; + log.info( + "人名区域识别到{text}:位置({x},{y},{h},{w})", + res.text, + res.x, + res.y, + res.width, + res.Height + ); + // 检查是否包含白名单中的NPC名称 + for (let j = 0; j < effectiveNpcWhiteList.length; j++) { + if (text.includes(effectiveNpcWhiteList[j])) { + log.info( + `找到白名单NPC: ${effectiveNpcWhiteList[j]},点击该NPC` + ); + keyDown("VK_MENU"); + await sleep(500); + click(res.x + 1150, res.y + 300); + leftButtonClick(); + keyUp("VK_MENU"); + clickedWhitelistNPC = true; + break; + } + } + if (clickedWhitelistNPC) break; + } + + // 如果没有点击白名单NPC,尝试点击包含提取到的人名的选项 + if (!clickedWhitelistNPC && extractedName) { + for (let i = 0; i < nameResults.count; i++) { + let text = nameResults[i].text; + let res = nameResults[i]; + if (text.includes(extractedName)) { + log.info(`点击包含提取到任务人名的选项: ${text}`); + keyDown("VK_MENU"); + await sleep(500); + click(res.x + 1150, res.y + 300); + leftButtonClick(); + keyUp("VK_MENU"); + clickedExtractedName = true; + break; + } + } + } + } + + // 如果没有找到NPC,使用默认触发 + if (!clickedWhitelistNPC && !clickedExtractedName) { + log.info("未找到匹配的NPC,使用默认触发方式"); + keyPress("F"); // 默认触发剧情 + await sleep(500); + } + + // 重复执行自动剧情,直到返回主界面 + let maxAttempts = 100; // 设置最大尝试次数,防止无限循环 + let attempts = 0; + await sleep(1000); + log.info("开始执行自动剧情"); + + while (!isInMainUI() && attempts < maxAttempts) { + attempts++; + + // 正常跳过对话 + await genshin.chooseTalkOption( + "纳西妲美貌举世无双", + skipCount, + false + ); + + if (isInMainUI()) { + log.info("检测到已返回主界面,结束循环"); + break; + } + + // 每skipCount次跳过后,进行OCR识别 + if (true) { + //log.info("执行OCR识别对话选项"); + + // 检查是否有匹配的优先选项 + let foundPriorityOption = false; + + // 获取对话区域截图并进行OCR识别 + let captureRegion = captureGameRegion(); + let dialogArea = captureRegion.DeriveCrop(1250, 450, 550, 400); // 对话选项区域 1250,450 到 1800,850 + + // 创建OCR识别对象并识别文本 + let ocrRo = RecognitionObject.Ocr( + 0, + 0, + dialogArea.width, + dialogArea.height + ); + let ocrResults = dialogArea.FindMulti(ocrRo); + if (ocrResults.count > 0) { + log.info(`识别到 ${ocrResults.count} 个选项`); + + for (let i = 0; i < ocrResults.count; i++) { + let ocrText = ocrResults[i].text; + + // 检查是否在优先选项列表中 + for (let j = 0; j < effectivePriorityOptions.length; j++) { + if (ocrText.includes(effectivePriorityOptions[j])) { + log.info( + `找到优先选项: ${effectivePriorityOptions[j]},点击该选项` + ); + // 点击该选项 + ocrResults[i].click(); + await sleep(500); + foundPriorityOption = true; + break; + } + } + + if (foundPriorityOption) break; + } + + // 如果没有找到优先选项,则使用默认跳过 + if (!foundPriorityOption) { + await genshin.chooseTalkOption("", 1, false); + } + } + } + + // 检查是否已返回主界面 + if (isInMainUI()) { + log.info("检测到已返回主界面,结束循环"); + break; + } + } + + if (isInMainUI()) { + log.info("已返回主界面,自动剧情执行完成"); + keyPress("V"); + } else { + log.warn(`已达到最大尝试次数 ${maxAttempts},但未检测到返回主界面`); + } + }; + + // 执行处理步骤 + for (let i = 0; i < processSteps.length; i++) { + const step = processSteps[i]; + log.info("执行流程步骤 {step}: {type}", i + 1, step.type || step); + + // 重置为默认值 + priorityOptions = []; + npcWhiteList = []; + + // 如果步骤中包含自定义的优先选项和NPC白名单,则使用它们 + if (step.data && typeof step.data === "object") { + if (Array.isArray(step.data.priorityOptions)) { + priorityOptions = step.data.priorityOptions; + log.info( + "使用自定义优先选项: {options}", + priorityOptions.join(", ") + ); + } + if (Array.isArray(step.data.npcWhiteList)) { + npcWhiteList = step.data.npcWhiteList; + log.info("使用自定义NPC白名单: {npcs}", npcWhiteList.join(", ")); + } + } + + if (typeof step === "string") {//typeof step === "string" + // 简单格式处理 + if (step.endsWith(".json")) { + // 地图追踪文件 + const trackingPath = `${TALK_PROCESS_BASE_PATH}/${commissionName}/${location}/${step}`; + log.info("执行地图追踪: {path}", trackingPath); + try { + await pathingScript.runFile(trackingPath); + log.info("地图追踪执行完成"); + } catch (error) { + log.error("执行地图追踪时出错: {error}", error); + } + } else if (step === "F") { + // 按F键并执行优化的自动剧情 + log.info("执行自动剧情"); + await executeOptimizedAutoTalk( + null, + 5, + priorityOptions, + npcWhiteList + ); + } + } else if (typeof step === "object") { + // JSON格式处理 + if (step.note) { + log.info("步骤说明: {note}", step.note); + } + + switch (step.type) { + case "地图追踪": + log.info("执行地图追踪: {path}", step.data); + try { + const fullPath = `${TALK_PROCESS_BASE_PATH}/${commissionName}/${location}/${step.data}`; + await pathingScript.runFile(fullPath); + log.info("地图追踪执行完成"); + } catch (error) { + log.error("执行地图追踪时出错: {error}", error); + } + break; + + case "追踪委托": + try { + // 获取目标NPC名称和图标类型 + let targetNpc = ""; + let iconType = "bigmap"; + + if (typeof step.data === "string") { + targetNpc = step.data; + } else if (typeof step.data === "object") { + if (step.data.npc) targetNpc = step.data.npc; + if (step.data.iconType) iconType = step.data.iconType; + } + + log.info("执行追踪委托,目标NPC: {target},图标类型: {type}", targetNpc, iconType); + await autoNavigateToTalk(targetNpc, iconType); + log.info("追踪委托执行完成"); + } catch (error) { + log.error("执行追踪委托时出错: {error}", error.message); + } + break; + + case "键鼠脚本": + log.info("执行键鼠脚本: {path}", step.data); + try { + const fullPath = `${TALK_PROCESS_BASE_PATH}/${commissionName}/${location}/${step.data}`; + await keyMouseScript.runFile(fullPath); + log.info("键鼠脚本执行完成"); + } catch (error) { + log.error("执行键鼠脚本时出错: {error}", error.message); + } + break; + + case "对话": + log.info("执行对话"); + let skipCount = 5; // 默认跳过5次 + + // 处理对话选项 + if (typeof step.data === "number") { + // 兼容旧版本,如果data是数字,则视为skipCount + skipCount = step.data; + } else if (typeof step.data === "object" && step.data.skipCount) { + // 新版本,data是对象,包含skipCount + skipCount = step.data.skipCount; + } + + // 执行对话,使用当前步骤的优先选项和NPC白名单 + await executeOptimizedAutoTalk( + null, + skipCount, + priorityOptions, + npcWhiteList + ); + break; + + case "按键": + if (typeof step.data === "string") { + log.info("执行按键: {key}", step.data); + keyPress(step.data); + } else if (typeof step.data === "object") { + if (step.data.action === "down") { + log.info("按下按键: {key}", step.data.key); + keyDown(step.data.key); + } else if (step.data.action === "up") { + log.info("释放按键: {key}", step.data.key); + keyUp(step.data.key); + } else if (step.data.action === "press") { + log.info("点击按键: {key}", step.data.key); + keyPress(step.data.key); + } + } + break; + + case "tp": + if (Array.isArray(step.data) && step.data.length >= 2) { + log.info("执行传送: {x}, {y}", step.data[0], step.data[1]); + const force = step.data.length > 2 ? step.data[2] : false; + await genshin.tp(step.data[0], step.data[1], force); + log.info("传送完成"); + } else { + log.error("传送参数格式错误"); + } + break; + + case "isinMainUi": + for (let i = 0; i < 60; i++) { + if (isInMainUI()) { + log.info("检测到已返回主界面,结束等待"); + break; + } + await sleep(1000); + } + if (!isInMainUI()) { + log.info("等待返回主界面超时,尝试继续执行后续步骤"); + } + break; + + default: + log.warn("未知的流程类型: {type}", step.type); + } + } + + // 每个步骤之间等待一段时间 + await sleep(2000); + } + + log.info("统一对话委托流程执行完成: {name}", commissionName); + return true; + } catch (error) { + log.error("执行统一对话委托流程时出错: {error}", error.message); + return false; + } + } + + /** + * 执行对话委托流程(优化版) + * @param {string} commissionName - 委托名称 + * @param {string} location - 委托地点 + * @returns {Promise} - 执行结果 + */ + async function executeTalkCommission(commissionName, location) { + try { + log.info( + "开始执行对话委托: {name} ({location})", + commissionName, + location + ); + + // 优化的文件路径:固定使用 ${processBasePath}/${location}/process.json + const processBasePath = TALK_PROCESS_BASE_PATH; + const processFilePath = `${processBasePath}/${commissionName}/${location}/process.json`; + + let processContent; + try { + processContent = await file.readText(processFilePath); + log.info("找到对话委托流程文件: {path}", processFilePath); + } catch (error) { + log.warn( + "未找到对话委托 {name} 在 {location} 的流程文件: {path}", + commissionName, + location, + processFilePath + ); + return false; + } + + // 解析流程内容 + let processSteps; + try { + // 尝试解析为JSON格式 + const jsonData = JSON.parse(processContent); + if (Array.isArray(jsonData)) { + processSteps = jsonData; + } else { + log.error("JSON流程格式错误,应为数组"); + return false; + } + } catch (jsonError) { + // 如果不是JSON格式,按简单格式处理 + const lines = processContent + .split("\n") + .map((line) => line.trim()) + .filter((line) => line.length > 0); + processSteps = lines; + } + + // 使用统一的处理器执行流程 + return await executeUnifiedTalkProcess( + processSteps, + commissionName, + location + ); + } catch (error) { + log.error("执行对话委托时出错: {error}", error); + return false; + } + } + + /** + * 执行对话委托流程 + * @param {string} processPath - 流程文件路径 + */ + async function executeTalkCommissionWithBranches(processPath) { + try { + log.info("开始执行对话委托流程: {path}", processPath); + + // 读取流程文件 + const processContent = await file.readText(processPath); + + // 解析流程内容 + const branches = parseProcessBranches(processContent); + + // 确定要执行的分支 + const branchToExecute = await determineBranch(branches); + + if (branchToExecute) { + log.info("执行分支: {id}", branchToExecute.id); + await executeUnifiedTalkProcess(branchToExecute.steps); + } else { + log.warn("没有找到匹配的分支,执行默认流程"); + // 尝试解析整个内容作为单一流程 + const steps = JSON.parse(processContent); + await executeUnifiedTalkProcess(steps); + } + + } catch (error) { + log.error("执行对话委托流程出错: {error}", error); + } + } + + /** + * 解析流程文件中的分支 + * @param {string} content - 流程文件内容 + * @returns {Array} - 分支数组 + */ + function parseProcessBranches(content) { + const branches = []; + const branchRegex = /分支:(\d+)[\s\S]*?判断方法"([^"]+)"[\s\S]*?data:"([^"]+)"([\s\S]*?)(?=分支:|$)/g; + + let match; + while ((match = branchRegex.exec(content)) !== null) { + const branchId = parseInt(match[1]); + const judgmentMethod = match[2]; + const judgmentData = match[3]; + const stepsContent = match[4].trim(); + + // 解析步骤 + let steps = []; + try { + // 尝试解析JSON数组 + const jsonContent = `[${stepsContent}]`; + steps = JSON.parse(jsonContent); + } catch (error) { + log.warn("解析分支{id}的步骤出错: {error}", branchId, error); + continue; + } + + branches.push({ + id: branchId, + method: judgmentMethod, + data: judgmentData, + steps: steps + }); + } + + return branches; + } + + /** + * 确定要执行的分支 + * @param {Array} branches - 分支数组 + * @returns {Object|null} - 要执行的分支或null + */ + async function determineBranch(branches) { + for (const branch of branches) { + switch (branch.method) { + case "坐标": + if (await checkCoordinateMatch(branch.data)) { + return branch; + } + break; + + case "任务追踪": + if (await checkTaskMatch(branch.data)) { + return branch; + } + break; + + default: + log.warn("未知的判断方法: {method}", branch.method); + } + } + + return null; + } + + /** + * 检查当前坐标是否匹配 + * @param {string} coordData - 坐标数据 "x,y" + * @returns {Promise} - 是否匹配 + */ + async function checkCoordinateMatch(coordData) { + try { + const [targetX, targetY] = coordData.split(",").map(c => parseFloat(c.trim())); + + // 获取当前委托位置 + const playerPos = await getCurrentCommissionPosition();//委托位置会变,你每完成一个委托,未完成的委托就上一个 + if (!playerPos) return false; + + // 计算距离 + const distance = calculateDistance(playerPos, { x: targetX, y: targetY }); + log.info("当前位置: ({x}, {y}),目标位置: ({tx}, {ty}),距离: {d}", + playerPos.x, playerPos.y, targetX, targetY, distance); + + // 如果距离小于阈值,认为匹配 + return distance < 100; // 可以调整阈值 + } catch (error) { + log.error("检查坐标匹配出错: {error}", error); + return false; + } + } + + /** + * 检查当前任务是否匹配 + * @param {string} taskName - 任务名称 + * @returns {Promise} - 是否匹配 + */ + async function checkTaskMatch(taskName) { + try { + // 截取左上角任务区域 + const captureRegion = captureGameRegion(); + const taskArea = captureRegion.DeriveCrop(75, 240, 225, 60); // 任务区域 + + // 创建OCR识别对象 + const taskOcrRo = RecognitionObject.Ocr( + 0, + 0, + taskArea.width, + taskArea.height + ); + + // 识别任务文本 + const taskResults = taskArea.FindMulti(taskOcrRo); + + // 检查是否包含目标任务名称 + for (let i = 0; i < taskResults.count; i++) { + const text = taskResults[i].text; + log.info(`任务区域识别文本: ${text}`); + + if (text.includes(taskName)) { + log.info(`找到匹配任务: ${taskName}`); + return true; + } + } + + log.info(`未找到匹配任务: ${taskName}`); + return false; + } catch (error) { + log.error("检查任务匹配出错: {error}", error); + return false; + } + } + + /** + * 检查委托状态 + * @param completedCount — 已完成的委托数量 + * @returns — 返回 ture,false + */ + async function iscompleted(completedCount) { + // 记录已完成的委托数量 + log.info("已完成委托数量: {completedCount}", completedCount); + + const enterSuccess = await enterCommissionScreen(); + if (!enterSuccess) { + log.error("无法进入委托界面,脚本终止"); + return false; + } + await sleep(900); + if (completedCount===0) { + await PageScroll(1); + const status = await detectCommissionStatusByImage(3); + if (status === "completed") { + return true; + } else { + return false; + } + }else{ + const status = await detectCommissionStatusByImage(3-completedCount); + if (status === "completed") { + return true; + } else { + return false; + } + } + } + + /** + * 执行委托追踪(优化版 - 按距离排序) + */ + async function executeCommissionTracking() { + try { + log.info("开始执行委托追踪 - 按距离排序模式"); + dispatcher.addTimer( + new RealtimeTimer("AutoPick", { forceInteraction: false }) + ); + // 获取已识别的委托列表 + let commissions = []; + try { + const commissionsData = JSON.parse( + file.readTextSync(`${OUTPUT_DIR}/commissions_data.json`) + ); + commissions = commissionsData.commissions.filter((c) => c.supported); + log.info("已加载支持的委托数据,共 {count} 个", commissions.length); + } catch (error) { + log.error("读取委托数据失败: {error}", error); + return false; + } + + if (commissions.length === 0) { + log.warn("没有找到支持的委托,请先运行识别脚本"); + return false; + } + + // 确保回到主界面 + await genshin.returnMainUi(); + + // 执行每个委托 + let completedCount = 0; + for (const commission of commissions) { + // 跳过已完成的委托 + if (commission.location === "已完成") { + log.info("委托 {name} 已完成,跳过", commission.name); + completedCount++; + continue; + } + + // 跳过没有地点信息的委托 + if ( + !commission.location || + commission.location === "未知地点" || + commission.location === "识别失败" + ) { + log.warn("委托 {name} 缺少地点信息,跳过", commission.name); + continue; + } + + log.info( + "开始执行委托: {name} ({location}) [{type}]", + commission.name, + commission.location, + commission.type || "未知类型" + ); + + try { + log.info( + "当前委托位置: ({x}, {y})", + commission.CommissionPosition.X, + commission.CommissionPosition.Y + ); + } catch (error) { + log.warn("委托 {name} 缺少坐标信息,跳过", commission.name); + continue; + } + + let success = false; + + // 根据委托类型执行不同的处理逻辑 + if (commission.type === COMMISSION_TYPE.TALK) { + // 执行对话委托 + success = await executeTalkCommission( + commission.name, + commission.location + ); + if (success) { + completedCount++; + log.info("对话委托 {name} 执行完成", commission.name); + } else { + log.warn("对话委托 {name} 执行失败", commission.name); + } + } else { + //dispatcher.addTimer(new RealtimeTimer("AutoPick", { "forceInteraction": false })); + + // 默认执行战斗委托 + const location = commission.location.trim(); + + // 脚本路径 + const scriptPaths = [ + `assets/${commission.name}/${location}-1.json`, + `assets/${commission.name}/${location}-2.json`, + `assets/${commission.name}/${location}-3.json`, + ]; + + // 获取每个脚本对应的目标位置和距离 + const scriptInfo = []; + for (const scriptPath of scriptPaths) { + try { + await file.readText(scriptPath); + const targetPos = await getCommissionTargetPosition(scriptPath); + if (targetPos) { + const distance = calculateDistance( + commission.CommissionPosition, + targetPos + ); + scriptInfo.push({ + path: scriptPath, + distance: distance, + valid: true, + }); + log.info( + "委托 {name} 目标位置: ({x}, {y}),距离: {distance}", + scriptPath, + targetPos.x, + targetPos.y, + distance + ); + } else { + log.warn("委托 {name} 无法获取距离", scriptPath); + scriptInfo.push({ + path: scriptPath, + distance: Infinity, + valid: false, + }); + } + } catch (readError) { + log.info("路径追踪脚本不存在: {path}", scriptPath); + continue; + } + } + + // 按距离从小到大排序 + scriptInfo.sort((a, b) => a.distance - b.distance); + + // 输出排序结果 + log.info("排序后的脚本执行顺序:"); + scriptInfo.forEach((info, index) => { + log.info( + "{index}. 脚本: {path}, 距离: {distance}", + index + 1, + info.path, + info.distance + ); + }); + + // 尝试执行排序后的脚本路径 + let executed = false; + for (const info of scriptInfo) { + const scriptPath = info.path; + try { + /* 检查脚本文件是否存在 + log.info("检查路径追踪脚本: {path}", scriptPath); + + try { + // 尝试读取文件内容来检查是否存在 + await file.readText(scriptPath); + log.info("找到路径追踪脚本: {path}", scriptPath); + scriptFound = true; + } catch (readError) { + log.info("路径追踪脚本不存在: {path}", scriptPath); + continue; // 尝试下一个脚本路径 + }*/ + + // 执行路径追踪脚本 + log.info("开始执行路径追踪脚本: {path}", scriptPath); + await pathingScript.runFile(scriptPath); + log.info("路径追踪脚本执行完成"); + if (await iscompleted(completedCount)) { + log.info("委托 {name} 已完成", commission.name); + completedCount++; + success = true; + break; + } else { + log.info("委托 {name} 未完成,尝试下一个脚本", commission.name); + } + } catch (scriptError) { + log.error("执行路径追踪脚本时出错: {error}", scriptError); + break; + } + } + + if (!success) { + log.warn("委托 {name} 执行失败", commission.name); + } + } + + // 每个委托之间等待一段时间 + log.info("等待5秒后执行下一个委托..."); + await sleep(5000); + } + + log.info( + "委托追踪全部执行完成,共执行 {count}/{total} 个委托", + completedCount, + commissions.length + ); + + return completedCount > 0; + } catch (error) { + log.error("执行委托追踪时出错: {error}", error.message); + return false; + } + } + + // 主函数 + async function main() { + + //await Identification(); + + if (skipRecognition) { + log.info("跳过识别,直接加载数据"); + } else { + await Identification(); + } //识别委托 + + // 开局准备 + await prepareForLeyLineRun(); + + // 执行自动委托 + await executeCommissionTracking(); + + log.info("每日委托执行完成,前往安全地点"); + await genshin.tpToStatueOfTheSeven(); + } + // 使用 Promise 包装 main 函数的执行 + return main(); + //log.info(""); +})(); diff --git a/repo/js/AutoCommission/manifest.json b/repo/js/AutoCommission/manifest.json new file mode 100644 index 00000000..4a3d6418 --- /dev/null +++ b/repo/js/AutoCommission/manifest.json @@ -0,0 +1,15 @@ +{ + "manifest_version": 1, + "name": "(对话+成就)全自动蒙德地区每日委托", + "version": "0.97", + "bgi_version": "0.44.3", + "description": "(Beta)自动完成每日委托、自动识别委托内容、自动追踪战斗委托、自动完成对话委托、自动获得到隐藏成就。使用前请阅读README.md(可用记事本打开)获取详细说明和常见问题解答。目前项目正处于开发阶段急需人手,有意者可加1053392753(会启动js,发送文件即可)。每天只需花 5 ~ 10 分钟做一个蒙德城对话委托,就当是顺路补下成就。感谢云闲vsv & 换苏伟u & 小鹰划船不用桨 & 塔台的共同开发", + "authors": [ + { + "name": "星野", + "link": "https://github.com/LX666-666" + } + ], + "settings_ui": "settings.json", + "main": "main.js" +} \ No newline at end of file diff --git a/repo/js/AutoCommission/name.json b/repo/js/AutoCommission/name.json new file mode 100644 index 00000000..34fc9756 --- /dev/null +++ b/repo/js/AutoCommission/name.json @@ -0,0 +1,27 @@ +{ + "fight": [ + "圆滚滚的易爆品", + "丘丘人的一小步", + "临危受命", + "持盾的危机", + "攀高危险", + "邪恶的扩张", + "冷冰冰的大麻烦", + "为了执行官大人", + "固若金汤", + "极速前进", + "安全运输法则", + "冰凉凉的大团危机" + ], + "talk": [ + "说到做到", + "那位先生的委托", + "父亲能做的事", + "冒险家安娜", + "诗歌交流", + "钥匙是易丢品", + "新的风暴尚未出现", + "冒险家的能力极限", + "语言交流" + ] +} \ No newline at end of file diff --git a/repo/js/AutoCommission/settings.json b/repo/js/AutoCommission/settings.json new file mode 100644 index 00000000..a3df0999 --- /dev/null +++ b/repo/js/AutoCommission/settings.json @@ -0,0 +1,18 @@ +[ + { + "name": "skipRecognition", + "type": "checkbox", + "label": "跳过识别(开发者功能,直接从Data文件夹加载委托数据进行追踪)" + }, + { + "name": "minTextLength", + "type": "input-text", + "label": "最小文本长度(小于此长度的文本将被过滤)", + "default": "4" + }, + { + "name": "team", + "type": "input-text", + "label": "战斗的队伍名称(不填表示不切换队伍)" + } +] \ No newline at end of file diff --git a/repo/js/AutoCommission/下江小春都能看懂的对话委托制作方法.md b/repo/js/AutoCommission/下江小春都能看懂的对话委托制作方法.md new file mode 100644 index 00000000..091405e1 --- /dev/null +++ b/repo/js/AutoCommission/下江小春都能看懂的对话委托制作方法.md @@ -0,0 +1,110 @@ +# 对话委托制作方法 + +对话委托制作方法可分为初始配置和制作过程,加群1053392753发送文件获取大佬手对手指导: + +## 初始配置 +- **配置开发环境**:设置添加路径点快捷键。订阅 `AutoTranscribePathing` `Hoshino-Tool`脚本 +- **依照自身的技术力选择方法**:熟悉地图追踪制作可尝试方法二,若不熟悉可尝试方法一,方法三。 + +## 制作过程 + +### 方法一:伪简单对话委托制作(推荐!!!难度:★★☆☆☆) + +1. **检查重复**:查看 `https://docs.qq.com/sheet/DWGRCTGtDUGVPa1h0?tab=BB08J2`,若已完成无需重复制作。 + +2. **使用自动地图追踪录制脚本**: + - 订阅 `AutoTranscribePathing` 脚本 + - 设置委托名称、地点和追踪编号 + - 从传送点开始录制,结束时打开大地图 + - 录制完成后,将生成的文件夹压缩发送给作者 + +3. **流程文件创建**: + - 文件位置:`\AutoEntrust\assets\process\{委托名称}\{委托地点}\process.json` + - 示例:往下看 + +4. **流程文件类型**:使用简单版格式,如 `XXX-1.json` 表示地图追踪,`F` 表示对话。 + +### 方法二:标准对话委托制作(推荐!难度:★★★☆☆) + +1. **检查重复**:查看 `https://docs.qq.com/sheet/DWGRCTGtDUGVPa1h0?tab=BB08J2`,若已完成无需重复制作。 + +2. **查看委托信息**:了解当前对话委托的名称及地点。 + +3. **流程文件创建**: + - 文件位置:`\AutoEntrust\assets\process\{委托名称}\{委托地点}\process.json` + +4. **分支处理**:对于复杂委托,可以使用分支判断,基于坐标或任务追踪文本进行判断。(未完成) + +5. **制作标准对话委托**:继续查看完整文档(没有群里问),流程文件类型json,简单版格式都可以。 + +### 方法三:坐标提供(难度:★☆☆☆☆) + +1. **检查重复**:查看 `https://docs.qq.com/sheet/DWGRCTGtDUGVPa1h0?tab=BB08J2`,若已完成无需重复制作。 + +1. **每天做一个对话委托**:在NPC战斗地点获取坐标。 + +2. **获取坐标的三种方式**: + - 使用星野工具箱(Hoshino-Tool)获取当前坐标 + - 使用录制编辑器,添加路径点快捷键 + - 打开快捷键绑定,绑定从大地图获取坐标快捷键。按下它获取坐标 + +4. **提供必要信息**: + - 坐标位置 + - 地点类型(战斗或对话) + - 如有多个NPC,需备注名称 + +## json流程文件示例 + +```json +[ + { + "type": "地图追踪", + "data": "tracking1.json", + "note": "执行第一个地图追踪步骤" + }, + { + "type": "对话", + "data": { + "skipCount": 5, + "priorityOptions": ["同意", "接受委托", "我来帮忙"], + "npcWhiteList": ["派蒙", "凯亚", "安柏"] + }, + "note": "执行对话步骤,优先选择特定选项并与白名单NPC交互" + }, + { + "type": "按键", + "data": "F", + "note": "按下F键" + }, + { + "type": "追踪委托", + "data": { + "name": "鲁道夫", + "iconType": "task" + }, + "note": "追踪委托NPC" + }, + { + "type": "tp", + "data": [100, 200, true], + "note": "传送到坐标(100, 200),强制传送" + } +] +``` + +## 简单版格式流程文件示例 +- `XXX-1.json` 表示地图追踪,`F` 表示对话 +```json +//如果你遇到了困难,比如说需要飞行或者需要攀爬可以查看 +// https://bettergi.com/feats/autos/pathing-dev.html +// https://www.bilibili.com/video/BV1JVXxYyE7Y, +//如果你不想查看也可以备注交给其余开发者。 +//备注方法:"//" + +父亲能做的事-晨曦酒庄-1.json +F +父亲能做的事-晨曦酒庄-2.json +F +父亲能做的事-晨曦酒庄-3.json +F +``` \ No newline at end of file diff --git a/repo/js/AutoCommission/配置组配置参考.png b/repo/js/AutoCommission/配置组配置参考.png new file mode 100644 index 00000000..26f35373 Binary files /dev/null and b/repo/js/AutoCommission/配置组配置参考.png differ diff --git a/repo/js/AutoEntrust/配置组配置参考.png b/repo/js/AutoEntrust/配置组配置参考.png new file mode 100644 index 00000000..26f35373 Binary files /dev/null and b/repo/js/AutoEntrust/配置组配置参考.png differ