diff --git a/repo/js/AutoFishingTeyvat/README.md b/repo/js/AutoFishingTeyvat/README.md index 05cc6b0fdb..096ac3a7a9 100644 --- a/repo/js/AutoFishingTeyvat/README.md +++ b/repo/js/AutoFishingTeyvat/README.md @@ -266,6 +266,13 @@ | 挪德卡莱 | 挪德卡莱-垂钓点-虚海望皮拉米达城南 | 普通 | 花鳉、无奇巨斧鱼、冷冽巨斧鱼、素素凶凶鲨、虹光凶凶鲨 | 果酿饵、槲梭饵、清白饵| | | | 挪德卡莱 | 挪德卡莱-垂钓点-烟硌山峰望崖营壁西 | 普通 | 无奇巨斧鱼、冷冽巨斧鱼、素素凶凶鲨、虹光凶凶鲨、蓝昼明眼鱼、夜色明眼鱼 | 槲梭饵、清白饵| | | | 霜月 | 霜月-垂钓点-乌吉恩圈 | 普通 | 花鳉、冷冽巨斧鱼、蓝昼明眼鱼、夜色明眼鱼 | 果酿饵、槲梭饵、清白饵| | | +| 至冬 | 至冬-垂钓点-古兽冰原东 | 普通 | 花鳉、炭灰雪圆鳍、月光雪圆鳍、赤甜星花鱼、青仙星花鱼 | 果酿饵、闪烁饵 | | | +| 至冬 | 至冬-垂钓点-古兽冰原冰湖 | 普通 | 炭灰雪圆鳍、月光雪圆鳍、赤甜星花鱼、青仙星花鱼、虹晶星花鱼 | 闪烁饵 | | | +| 至冬 | 至冬-垂钓点-古兽冰原汐歌洞窟 | 普通 | 花鳉、炭灰雪圆鳍、月光雪圆鳍、赤甜星花鱼、虹晶星花鱼 | 果酿饵、闪烁饵 | | | +| 至冬 | 至冬-垂钓点-古兽冰原巡猎者木屋 | 普通 | 花鳉、炭灰雪圆鳍、赤甜星花鱼、青仙星花鱼、虹晶星花鱼 | 果酿饵、闪烁饵 | | | +| 至冬 | 至冬-垂钓点-古兽冰原凝露镇 | 普通 | 炭灰雪圆鳍、奶油雪圆鳍、月光雪圆鳍、赤甜星花鱼、青仙星花鱼、虹晶星花鱼 | 闪烁饵 | | | +| 至冬 | 至冬-垂钓点-永凝冻土海屑镇 | 普通 | 花鳉、炭灰雪圆鳍、赤甜星花鱼、青仙星花鱼 | 果酿饵、闪烁饵 | | | +| 至冬 | 至冬-垂钓点-焰羽谷神像北 | 战斗 | 花鳉、炭灰雪圆鳍、月光雪圆鳍、赤甜星花鱼、青仙星花鱼 | 果酿饵、闪烁饵 | 是 | | @@ -274,4 +281,4 @@ # 📬 反馈与支持 - **推荐反馈群**:BetterGI v7 群(1029539994) -- **反馈邮箱**:hijiwos@hotmail.com +- **反馈邮箱**:hijiwos@hotmail.com \ No newline at end of file diff --git "a/repo/js/AutoFishingTeyvat/assets/pathing/\350\207\263\345\206\254-\345\236\202\351\222\223\347\202\271-\345\217\244\345\205\275\345\206\260\345\216\237\344\270\255\351\203\250.json" "b/repo/js/AutoFishingTeyvat/assets/pathing/\350\207\263\345\206\254-\345\236\202\351\222\223\347\202\271-\345\217\244\345\205\275\345\206\260\345\216\237\344\270\255\351\203\250.json" new file mode 100644 index 0000000000..82122e2a4b --- /dev/null +++ "b/repo/js/AutoFishingTeyvat/assets/pathing/\350\207\263\345\206\254-\345\236\202\351\222\223\347\202\271-\345\217\244\345\205\275\345\206\260\345\216\237\344\270\255\351\203\250.json" @@ -0,0 +1,49 @@ +{ + "info": { + "authors": [ + { + "links": "", + "name": "蜜柑魚" + } + ], + "bgi_version": "0.63.1", + "description": "地区: 至冬\n类型: 垂钓点\n详细位置: 古兽冰原中部\n鱼类: 炭灰雪圆鳍、月光雪圆鳍、赤甜星花鱼、青仙星花鱼、虹晶星花鱼\n饵类: 闪烁饵\n附加信息: 普通", + "enable_monster_loot_split": false, + "last_modified_time": 1789238173030, + "map_match_method": "SIFT", + "map_name": "Teyvat", + "name": "至冬-垂钓点-古兽冰原中部", + "tags": [], + "type": "collect", + "version": "1.0" + }, + "positions": [ + { + "action": "", + "action_params": "", + "id": 1, + "move_mode": "walk", + "type": "teleport", + "x": 7465.9395, + "y": 7961.4702 + }, + { + "action": "combat_script", + "action_params": "wait(0.2),a(1.15),w(1.5)", + "id": 2, + "move_mode": "walk", + "type": "orientation", + "x": 7476.8662, + "y": 7981.4976 + }, + { + "action": "combat_script", + "action_params": "s(0.3),wait(0.5),w(0.3),wait(1.5),keypress(f)", + "id": 3, + "move_mode": "walk", + "type": "orientation", + "x": 7481.9795, + "y": 7979.8804 + } + ] +} \ No newline at end of file diff --git "a/repo/js/AutoFishingTeyvat/assets/pathing/\350\207\263\345\206\254-\345\236\202\351\222\223\347\202\271-\345\217\244\345\205\275\345\206\260\345\216\237\345\207\235\351\234\262\351\225\207\344\270\234.json" "b/repo/js/AutoFishingTeyvat/assets/pathing/\350\207\263\345\206\254-\345\236\202\351\222\223\347\202\271-\345\217\244\345\205\275\345\206\260\345\216\237\345\207\235\351\234\262\351\225\207\344\270\234.json" new file mode 100644 index 0000000000..c26b505744 --- /dev/null +++ "b/repo/js/AutoFishingTeyvat/assets/pathing/\350\207\263\345\206\254-\345\236\202\351\222\223\347\202\271-\345\217\244\345\205\275\345\206\260\345\216\237\345\207\235\351\234\262\351\225\207\344\270\234.json" @@ -0,0 +1,112 @@ +{ + "info": { + "authors": [ + { + "links": "", + "name": "蜜柑魚" + } + ], + "bgi_version": "0.63.1", + "description": "地区: 至冬\n类型: 垂钓点\n详细位置: 古兽冰原凝露镇东\n鱼类: 炭灰雪圆鳍、奶油雪圆鳍、月光雪圆鳍、赤甜星花鱼、青仙星花鱼、虹晶星花鱼\n饵类: 闪烁饵\n附加信息: 普通", + "enable_monster_loot_split": false, + "last_modified_time": 1788979105390, + "map_match_method": "SIFT", + "map_name": "Teyvat", + "name": "至冬-垂钓点-古兽冰原凝露镇东", + "tags": [], + "type": "collect", + "version": "1.0" + }, + "positions": [ + { + "action": "", + "action_params": "", + "id": 1, + "move_mode": "walk", + "type": "teleport", + "x": 7668.8711, + "y": 7721.7842 + }, + { + "action": "", + "action_params": "", + "id": 2, + "move_mode": "dash", + "type": "path", + "x": 7684.2559, + "y": 7719.3833 + }, + { + "action": "", + "action_params": "", + "id": 3, + "move_mode": "dash", + "type": "path", + "x": 7633.4414, + "y": 7670.4648 + }, + { + "action": "", + "action_params": "", + "id": 4, + "move_mode": "dash", + "type": "path", + "x": 7633.4883, + "y": 7637.2754 + }, + { + "action": "", + "action_params": "", + "id": 5, + "move_mode": "dash", + "type": "path", + "x": 7640.8398, + "y": 7616.8833 + }, + { + "action": "", + "action_params": "", + "id": 6, + "move_mode": "dash", + "type": "path", + "x": 7600.6318, + "y": 7608.9844 + }, + { + "action": "", + "action_params": "", + "id": 7, + "move_mode": "dash", + "type": "path", + "x": 7570.6133, + "y": 7580.542 + }, + { + "action": "", + "action_params": "", + "id": 8, + "move_mode": "dash", + "type": "path", + "x": 7532.1143, + "y": 7550.7007 + }, + { + "action": "", + "action_params": "", + "id": 9, + "move_mode": "dash", + "type": "path", + "x": 7514.7598, + "y": 7565.8662 + }, + { + "action": "combat_script", + "action_params": "wait(1.5),keypress(f)", + "id": 10, + "move_mode": "walk", + "type": "target", + "x": 7509.8818, + "y": 7569.7964 + } + ] +} \ No newline at end of file diff --git "a/repo/js/AutoFishingTeyvat/assets/pathing/\350\207\263\345\206\254-\345\236\202\351\222\223\347\202\271-\345\217\244\345\205\275\345\206\260\345\216\237\345\207\235\351\234\262\351\225\207\344\270\234\345\214\227.json" "b/repo/js/AutoFishingTeyvat/assets/pathing/\350\207\263\345\206\254-\345\236\202\351\222\223\347\202\271-\345\217\244\345\205\275\345\206\260\345\216\237\345\207\235\351\234\262\351\225\207\344\270\234\345\214\227.json" new file mode 100644 index 0000000000..c055427f78 --- /dev/null +++ "b/repo/js/AutoFishingTeyvat/assets/pathing/\350\207\263\345\206\254-\345\236\202\351\222\223\347\202\271-\345\217\244\345\205\275\345\206\260\345\216\237\345\207\235\351\234\262\351\225\207\344\270\234\345\214\227.json" @@ -0,0 +1,67 @@ +{ + "info": { + "authors": [ + { + "links": "", + "name": "蜜柑魚" + } + ], + "bgi_version": "0.63.1", + "description": "地区: 至冬\n类型: 垂钓点\n详细位置: 古兽冰原凝露镇东北\n鱼类: 花鳉、炭灰雪圆鳍、月光雪圆鳍、赤甜星花鱼、青仙星花鱼\n饵类: 果酿饵、闪烁饵\n附加信息: 普通", + "enable_monster_loot_split": false, + "last_modified_time": 1788980630370, + "map_match_method": "SIFT", + "map_name": "Teyvat", + "name": "至冬-垂钓点-古兽冰原凝露镇东北", + "tags": [], + "type": "collect", + "version": "1.0" + }, + "positions": [ + { + "action": "", + "action_params": "", + "id": 1, + "move_mode": "walk", + "type": "teleport", + "x": 7141.3955, + "y": 7900.249 + }, + { + "action": "", + "action_params": "", + "id": 2, + "move_mode": "dash", + "type": "path", + "x": 7099.5469, + "y": 7880.063 + }, + { + "action": "", + "action_params": "", + "id": 3, + "move_mode": "dash", + "type": "path", + "x": 7095.3965, + "y": 7845.2358 + }, + { + "action": "", + "action_params": "", + "id": 4, + "move_mode": "walk", + "type": "path", + "x": 7084.5225, + "y": 7848.4897 + }, + { + "action": "combat_script", + "action_params": "wait(1.5),keypress(f)", + "id": 5, + "move_mode": "walk", + "type": "target", + "x": 7080.7207, + "y": 7850.0024 + } + ] +} \ No newline at end of file diff --git "a/repo/js/AutoFishingTeyvat/assets/pathing/\350\207\263\345\206\254-\345\236\202\351\222\223\347\202\271-\345\217\244\345\205\275\345\206\260\345\216\237\345\267\241\347\214\216\350\200\205\346\234\250\345\261\213\345\214\227.json" "b/repo/js/AutoFishingTeyvat/assets/pathing/\350\207\263\345\206\254-\345\236\202\351\222\223\347\202\271-\345\217\244\345\205\275\345\206\260\345\216\237\345\267\241\347\214\216\350\200\205\346\234\250\345\261\213\345\214\227.json" new file mode 100644 index 0000000000..e9cf4810ab --- /dev/null +++ "b/repo/js/AutoFishingTeyvat/assets/pathing/\350\207\263\345\206\254-\345\236\202\351\222\223\347\202\271-\345\217\244\345\205\275\345\206\260\345\216\237\345\267\241\347\214\216\350\200\205\346\234\250\345\261\213\345\214\227.json" @@ -0,0 +1,58 @@ +{ + "info": { + "authors": [ + { + "links": "", + "name": "蜜柑魚" + } + ], + "bgi_version": "0.63.1", + "description": "地区: 至冬\n类型: 垂钓点\n详细位置: 古兽冰原巡猎者木屋北\n鱼类: 花鳉、炭灰雪圆鳍、赤甜星花鱼、青仙星花鱼、虹晶星花鱼\n饵类: 果酿饵、闪烁饵\n附加信息: 普通", + "enable_monster_loot_split": false, + "last_modified_time": 1788978718197, + "map_match_method": "SIFT", + "map_name": "Teyvat", + "name": "至冬-垂钓点-古兽冰原巡猎者木屋北", + "tags": [], + "type": "collect", + "version": "1.0" + }, + "positions": [ + { + "action": "", + "action_params": "", + "id": 1, + "move_mode": "walk", + "type": "teleport", + "x": 8105.8828, + "y": 7971.5444 + }, + { + "action": "", + "action_params": "", + "id": 2, + "move_mode": "dash", + "type": "path", + "x": 8077.8213, + "y": 7975.2217 + }, + { + "action": "", + "action_params": "", + "id": 3, + "move_mode": "dash", + "type": "path", + "x": 8075.0166, + "y": 7977.624 + }, + { + "action": "combat_script", + "action_params": "wait(1.5),keypress(f)", + "id": 4, + "move_mode": "walk", + "type": "path", + "x": 8076.7236, + "y": 7982.6621 + } + ] +} \ No newline at end of file diff --git "a/repo/js/AutoFishingTeyvat/assets/pathing/\350\207\263\345\206\254-\345\236\202\351\222\223\347\202\271-\346\260\270\345\207\235\345\206\273\345\234\237\346\265\267\345\261\221\351\225\207.json" "b/repo/js/AutoFishingTeyvat/assets/pathing/\350\207\263\345\206\254-\345\236\202\351\222\223\347\202\271-\346\260\270\345\207\235\345\206\273\345\234\237\346\265\267\345\261\221\351\225\207.json" new file mode 100644 index 0000000000..759c7f6613 --- /dev/null +++ "b/repo/js/AutoFishingTeyvat/assets/pathing/\350\207\263\345\206\254-\345\236\202\351\222\223\347\202\271-\346\260\270\345\207\235\345\206\273\345\234\237\346\265\267\345\261\221\351\225\207.json" @@ -0,0 +1,85 @@ +{ + "info": { + "authors": [ + { + "links": "", + "name": "蜜柑魚" + } + ], + "bgi_version": "0.63.1", + "description": "地区: 至冬\n类型: 垂钓点\n详细位置: 永凝冻土海屑镇\n鱼类: 花鳉、炭灰雪圆鳍、赤甜星花鱼、青仙星花鱼\n饵类: 果酿饵、闪烁饵\n附加信息: 普通", + "enable_monster_loot_split": false, + "last_modified_time": 1789096353161, + "map_match_method": "SIFT", + "map_name": "Teyvat", + "name": "至冬-垂钓点-永凝冻土海屑镇", + "tags": [], + "type": "collect", + "version": "1.0" + }, + "positions": [ + { + "action": "", + "action_params": "", + "id": 1, + "move_mode": "walk", + "type": "teleport", + "x": 7658.709, + "y": 9465.0439 + }, + { + "action": "", + "action_params": "", + "id": 2, + "move_mode": "dash", + "type": "path", + "x": 7661.0508, + "y": 9516.9297 + }, + { + "action": "", + "action_params": "", + "id": 3, + "move_mode": "dash", + "type": "path", + "x": 7639.6348, + "y": 9527.7363 + }, + { + "action": "", + "action_params": "", + "id": 4, + "move_mode": "dash", + "type": "path", + "x": 7647.5449, + "y": 9544.2266 + }, + { + "action": "stop_flying", + "action_params": "", + "id": 5, + "move_mode": "fly", + "type": "path", + "x": 7658.3936, + "y": 9568.9043 + }, + { + "action": "", + "action_params": "", + "id": 6, + "move_mode": "dash", + "type": "path", + "x": 7665.334, + "y": 9583.957 + }, + { + "action": "combat_script", + "action_params": "wait(1.5),keypress(f)", + "id": 7, + "move_mode": "walk", + "type": "target", + "x": 7667.9834, + "y": 9588.7822 + } + ] +} \ No newline at end of file diff --git "a/repo/js/AutoFishingTeyvat/assets/pathing/\350\207\263\345\206\254-\345\236\202\351\222\223\347\202\271-\346\260\270\345\207\235\345\206\273\345\234\237\346\265\267\345\261\221\351\225\207\350\245\277\345\215\227.json" "b/repo/js/AutoFishingTeyvat/assets/pathing/\350\207\263\345\206\254-\345\236\202\351\222\223\347\202\271-\346\260\270\345\207\235\345\206\273\345\234\237\346\265\267\345\261\221\351\225\207\350\245\277\345\215\227.json" new file mode 100644 index 0000000000..027a727cb1 --- /dev/null +++ "b/repo/js/AutoFishingTeyvat/assets/pathing/\350\207\263\345\206\254-\345\236\202\351\222\223\347\202\271-\346\260\270\345\207\235\345\206\273\345\234\237\346\265\267\345\261\221\351\225\207\350\245\277\345\215\227.json" @@ -0,0 +1,103 @@ +{ + "info": { + "authors": [ + { + "links": "", + "name": "蜜柑魚" + } + ], + "bgi_version": "0.63.1", + "description": "地区: 至冬\n类型: 垂钓点\n详细位置: 永凝冻土海屑镇西南\n鱼类: 花鳉、炭灰雪圆鳍、月光雪圆鳍、赤甜星花鱼、青仙星花鱼\n饵类: 果酿饵、闪烁饵\n附加信息: 战斗", + "enable_monster_loot_split": false, + "last_modified_time": 1789131701827, + "map_match_method": "SIFT", + "map_name": "Teyvat", + "name": "至冬-垂钓点-永凝冻土海屑镇西南", + "tags": [], + "type": "collect", + "version": "1.0" + }, + "positions": [ + { + "action": "", + "action_params": "", + "id": 1, + "move_mode": "walk", + "type": "teleport", + "x": 7895.7305, + "y": 9283.9971 + }, + { + "action": "", + "action_params": "", + "id": 2, + "move_mode": "dash", + "type": "path", + "x": 7892.334, + "y": 9319.2295 + }, + { + "action": "fight", + "action_params": "", + "id": 3, + "move_mode": "dash", + "type": "path", + "x": 7899.1963, + "y": 9333.0332 + }, + { + "action": "", + "action_params": "", + "id": 4, + "move_mode": "dash", + "type": "path", + "x": 7899.1963, + "y": 9333.0332 + }, + { + "action": "fight", + "action_params": "", + "id": 5, + "move_mode": "dash", + "type": "path", + "x": 7867.1142, + "y": 9333.955 + }, + { + "action": "combat_script", + "action_params": "wait(5)", + "id": 6, + "move_mode": "jump", + "type": "path", + "x": 7867.9609, + "y": 9333.1777 + }, + { + "action": "", + "action_params": "", + "id": 7, + "move_mode": "dash", + "type": "path", + "x": 7870.4384, + "y": 9344.6962 + }, + { + "action": "", + "action_params": "", + "id": 8, + "move_mode": "walk", + "type": "target", + "x": 7870.6172, + "y": 9346.8809 + }, + { + "action": "combat_script", + "action_params": "wait(1.5),keypress(f)", + "id": 9, + "move_mode": "walk", + "type": "target", + "x": 7871.3837, + "y": 9348.7187 + } + ] +} \ No newline at end of file diff --git "a/repo/js/AutoFishingTeyvat/assets/pathing/\350\207\263\345\206\254-\345\236\202\351\222\223\347\202\271-\351\234\234\346\256\233\345\257\222\345\263\260\346\261\220\346\255\214\346\264\236\347\252\237\350\245\277.json" "b/repo/js/AutoFishingTeyvat/assets/pathing/\350\207\263\345\206\254-\345\236\202\351\222\223\347\202\271-\351\234\234\346\256\233\345\257\222\345\263\260\346\261\220\346\255\214\346\264\236\347\252\237\350\245\277.json" new file mode 100644 index 0000000000..a947d2b9a1 --- /dev/null +++ "b/repo/js/AutoFishingTeyvat/assets/pathing/\350\207\263\345\206\254-\345\236\202\351\222\223\347\202\271-\351\234\234\346\256\233\345\257\222\345\263\260\346\261\220\346\255\214\346\264\236\347\252\237\350\245\277.json" @@ -0,0 +1,58 @@ +{ + "info": { + "authors": [ + { + "links": "", + "name": "蜜柑魚" + } + ], + "bgi_version": "0.63.1", + "description": "地区: 至冬\n类型: 垂钓点\n详细位置: 霜殛寒峰汐歌洞窟西\n鱼类: 花鳉、炭灰雪圆鳍、月光雪圆鳍、赤甜星花鱼、虹晶星花鱼\n饵类: 果酿饵、闪烁饵\n附加信息: 普通", + "enable_monster_loot_split": false, + "last_modified_time": 1788981022903, + "map_match_method": "SIFT", + "map_name": "Teyvat", + "name": "至冬-垂钓点-霜殛寒峰汐歌洞窟西", + "tags": [], + "type": "collect", + "version": "1.0" + }, + "positions": [ + { + "action": "", + "action_params": "", + "id": 1, + "move_mode": "walk", + "type": "teleport", + "x": 6646.6699, + "y": 7770.5815 + }, + { + "action": "", + "action_params": "", + "id": 2, + "move_mode": "dash", + "type": "path", + "x": 6644.6475, + "y": 7809.1382 + }, + { + "action": "", + "action_params": "", + "id": 3, + "move_mode": "walk", + "type": "path", + "x": 6645.5449, + "y": 7812.082 + }, + { + "action": "combat_script", + "action_params": "wait(1.5),keypress(f)", + "id": 4, + "move_mode": "walk", + "type": "target", + "x": 6649.4355, + "y": 7810.7539 + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoFishingTeyvat/main.js b/repo/js/AutoFishingTeyvat/main.js index 30321a38bb..3b1dd8fdd7 100644 --- a/repo/js/AutoFishingTeyvat/main.js +++ b/repo/js/AutoFishingTeyvat/main.js @@ -1,8 +1,8 @@ (async function () { // CD计算仍有优化空间、多人模式非房主记录的CD无法确定时间 const area_list = ['蒙德', '璃月', '稻妻', '须弥', '枫丹', '纳塔', '至冬', '挪德卡莱', '层岩巨渊·地下矿区', '渊下宫', '远古圣山', '霜月'] - const fish_list = ['花鳉', '波波心羽鲈', '烘烘心羽鲈', '维护机关·水域清理者', '维护机关·态势控制者', '维护机关·澄金领队型', '海涛斧枪鱼', '维护机关·初始能力型', '维护机关·白金典藏型', '吹沙角鲀', '甜甜花鳉', '擒霞客', '水晶宴', '斗棘鱼', '炮鲀', '流纹褐蝶鱼', '锖假龙', '金赤假龙', '玉玉心羽鲈', '赤魔王', '长生仙', '苦炮鲀', '肺棘鱼', '流纹京紫蝶鱼', '琉璃花鳉', '伪装鲨鲨独角鱼', '繁花斗士急流鱼', '深潜斗士急流鱼', '晚霞翻车鲀', '青浪翻车鲀', '拟似燃素独角鱼', '炽岩斗士急流鱼', '蓝染花鳉', '鸩棘鱼', '流纹茶蝶鱼', '雪中君', '真果角鲀', '青金斧枪鱼', '暮云角鲀', '翡玉斧枪鱼', '沉波蜜桃', '雷鸣仙', '佛玛洛鳐', '迪芙妲鳐', '秘源机关·巡戒使', '蓝昼明眼鱼', '冷冽巨斧鱼', '夜色明眼鱼', '炽铁巨斧鱼', '虹光凶凶鲨', '无奇巨斧鱼', '素素凶凶鲨', '綦假龙'] - const bait_list = ['果酿饵', '酸桔饵', '维护机关频闪诱饵', '甘露饵', '赤糜饵', '飞蝇假饵', '蠕虫假饵', '澄晶果粒饵', '温火饵', '槲梭饵', '清白饵'] + const fish_list = ['花鳉', '波波心羽鲈', '烘烘心羽鲈', '维护机关·水域清理者', '维护机关·态势控制者', '维护机关·澄金领队型', '海涛斧枪鱼', '维护机关·初始能力型', '维护机关·白金典藏型', '吹沙角鲀', '甜甜花鳉', '擒霞客', '水晶宴', '斗棘鱼', '炮鲀', '流纹褐蝶鱼', '锖假龙', '金赤假龙', '玉玉心羽鲈', '赤魔王', '长生仙', '苦炮鲀', '肺棘鱼', '流纹京紫蝶鱼', '琉璃花鳉', '伪装鲨鲨独角鱼', '繁花斗士急流鱼', '深潜斗士急流鱼', '晚霞翻车鲀', '青浪翻车鲀', '拟似燃素独角鱼', '炽岩斗士急流鱼', '蓝染花鳉', '鸩棘鱼', '流纹茶蝶鱼', '雪中君', '真果角鲀', '青金斧枪鱼', '暮云角鲀', '翡玉斧枪鱼', '沉波蜜桃', '雷鸣仙', '佛玛洛鳐', '迪芙妲鳐', '秘源机关·巡戒使', '蓝昼明眼鱼', '冷冽巨斧鱼', '夜色明眼鱼', '炽铁巨斧鱼', '虹光凶凶鲨', '无奇巨斧鱼', '素素凶凶鲨', '綦假龙', '炭灰雪圆鳍', '奶油雪圆鳍', '月光雪圆鳍', '赤甜星花鱼', '青仙星花鱼', '虹晶星花鱼'] + const bait_list = ['果酿饵', '酸桔饵', '维护机关频闪诱饵', '甘露饵', '赤糜饵', '飞蝇假饵', '蠕虫假饵', '澄晶果粒饵', '温火饵', '槲梭饵', '清白饵', '闪烁饵'] const material_msg = { "风缠": ["花鳉", "蓝染花鳉", "鸩棘鱼", "流纹茶蝶鱼"], "愿者": ["花鳉", "甜甜花鳉", "斗棘鱼", "流纹褐蝶鱼"], @@ -11,6 +11,7 @@ "穿浪斗枪": ["维护机关·初始能力型", "维护机关·水域清理者", "维护机关·态势控制者", "海涛斧枪鱼"], "长犀圆鸟和扁鱼": ["炽岩斗士急流鱼", "拟似燃素独角鱼", "青浪翻车鲀", "晚霞翻车鲀"], "谧晖白枝": ["无奇巨斧鱼", "素素凶凶鲨", "蓝昼明眼鱼", "夜色明眼鱼"], + "雪鱼王之杖": ["炭灰雪圆鳍", "赤甜星花鱼", "青仙星花鱼"], "渔获": ["雷鸣仙", "金赤假龙", "锖假龙"], "赤穗酒枡": ["雷鸣仙", "炮鲀", "苦炮鲀"], "竭泽": ["沉波蜜桃", "青金斧枪鱼", "翡玉斧枪鱼"], @@ -19,64 +20,70 @@ "马腾斯万能护养剂": ["维护机关·白金典藏型", "波波心羽鲈", "烘烘心羽鲈", "海涛斧枪鱼"] } const time_msg = { - '白天': ['烘烘心羽鲈', '维护机关·水域清理者', '吹沙角鲀', '水晶宴', '流纹褐蝶鱼', '赤魔王', '长生仙', '流纹京紫蝶鱼', '深潜斗士急流鱼', '青浪翻车鲀', '流纹茶蝶鱼', '真果角鲀', '沉波蜜桃', '蓝昼明眼鱼', '冷冽巨斧鱼'], - '夜晚': ['波波心羽鲈', '维护机关·态势控制者', '维护机关·白金典藏型', '擒霞客', '斗棘鱼', '肺棘鱼', '繁花斗士急流鱼', '晚霞翻车鲀', '鸩棘鱼', '雪中君', '暮云角鲀', '雷鸣仙', '夜色明眼鱼', '炽铁巨斧鱼', '虹光凶凶鲨'], - '全天': ['花鳉', '维护机关·澄金领队型', '海涛斧枪鱼', '维护机关·初始能力型', '甜甜花鳉', '炮鲀', '锖假龙', '金赤假龙', '玉玉心羽鲈', '苦炮鲀', '琉璃花鳉', '伪装鲨鲨独角鱼', '拟似燃素独角鱼', '炽岩斗士急流鱼', '蓝染花鳉', '青金斧枪鱼', '翡玉斧枪鱼', '佛玛洛鳐', '迪芙妲鳐', '秘源机关·巡戒使', '无奇巨斧鱼', '素素凶凶鲨', '綦假龙'] + '白天': ['烘烘心羽鲈', '维护机关·水域清理者', '吹沙角鲀', '水晶宴', '流纹褐蝶鱼', '赤魔王', '长生仙', '流纹京紫蝶鱼', '深潜斗士急流鱼', '青浪翻车鲀', '流纹茶蝶鱼', '真果角鲀', '沉波蜜桃', '蓝昼明眼鱼', '冷冽巨斧鱼', '赤甜星花鱼', '虹晶星花鱼'], + '夜晚': ['波波心羽鲈', '维护机关·态势控制者', '维护机关·白金典藏型', '擒霞客', '斗棘鱼', '肺棘鱼', '繁花斗士急流鱼', '晚霞翻车鲀', '鸩棘鱼', '雪中君', '暮云角鲀', '雷鸣仙', '夜色明眼鱼', '炽铁巨斧鱼', '虹光凶凶鲨', '炭灰雪圆鳍', '月光雪圆鳍'], + '全天': ['花鳉', '维护机关·澄金领队型', '海涛斧枪鱼', '维护机关·初始能力型', '甜甜花鳉', '炮鲀', '锖假龙', '金赤假龙', '玉玉心羽鲈', '苦炮鲀', '琉璃花鳉', '伪装鲨鲨独角鱼', '拟似燃素独角鱼', '炽岩斗士急流鱼', '蓝染花鳉', '青金斧枪鱼', '翡玉斧枪鱼', '佛玛洛鳐', '迪芙妲鳐', '秘源机关·巡戒使', '无奇巨斧鱼', '素素凶凶鲨', '綦假龙', '奶油雪圆鳍', '青仙星花鱼'] } const fish_msg = { - '花鳉': { 'bait': '果酿饵', 'time': '全天', 'BigFishType': 'medaka' }, - '琉璃花鳉': { 'bait': '果酿饵', 'time': '全天', 'BigFishType': 'medaka' }, - '甜甜花鳉': { 'bait': '果酿饵', 'time': '全天', 'BigFishType': 'medaka' }, - '蓝染花鳉': { 'bait': '果酿饵', 'time': '全天', 'BigFishType': 'medaka' }, - '擒霞客': { 'bait': '果酿饵', 'time': '夜晚', 'BigFishType': 'large_medaka' }, - '水晶宴': { 'bait': '果酿饵', 'time': '白天', 'BigFishType': 'large_medaka' }, - '肺棘鱼': { 'bait': '赤糜饵', 'time': '夜晚', 'BigFishType': 'stickleback' }, - '斗棘鱼': { 'bait': '赤糜饵', 'time': '夜晚', 'BigFishType': 'stickleback' }, - '鸩棘鱼': { 'bait': '赤糜饵', 'time': '夜晚', 'BigFishType': 'stickleback' }, - '赤魔王': { 'bait': '赤糜饵', 'time': '白天', 'BigFishType': 'stickleback' }, - '雪中君': { 'bait': '赤糜饵', 'time': '夜晚', 'BigFishType': 'stickleback' }, - '金赤假龙': { 'bait': '飞蝇假饵', 'time': '全天', 'BigFishType': 'koi' }, - '锖假龙': { 'bait': '飞蝇假饵', 'time': '全天', 'BigFishType': 'koi' }, - '綦假龙': { 'bait': '飞蝇假饵', 'time': '全天', 'BigFishType': 'koi' }, - '流纹褐蝶鱼': { 'bait': '蠕虫假饵', 'time': '白天', 'BigFishType': 'butterflyfish' }, - '流纹茶蝶鱼': { 'bait': '蠕虫假饵', 'time': '白天', 'BigFishType': 'butterflyfish' }, - '流纹京紫蝶鱼': { 'bait': '蠕虫假饵', 'time': '白天', 'BigFishType': 'butterflyfish' }, - '长生仙': { 'bait': '蠕虫假饵', 'time': '白天', 'BigFishType': 'butterflyfish' }, - '雷鸣仙': { 'bait': '蠕虫假饵', 'time': '夜晚', 'BigFishType': 'butterflyfish' }, - '炮鲀': { 'bait': '飞蝇假饵', 'time': '全天', 'BigFishType': 'pufferfish' }, - '苦炮鲀': { 'bait': '飞蝇假饵', 'time': '全天', 'BigFishType': 'pufferfish' }, - '佛玛洛鳐': { 'bait': '飞蝇假饵', 'time': '全天', 'BigFishType': 'ray' }, - '迪芙妲鳐': { 'bait': '飞蝇假饵', 'time': '全天', 'BigFishType': 'ray' }, - '吹沙角鲀': { 'bait': '甘露饵', 'time': '白天', 'BigFishType': 'angler' }, - '暮云角鲀': { 'bait': '甘露饵', 'time': '夜晚', 'BigFishType': 'angler' }, - '真果角鲀': { 'bait': '甘露饵', 'time': '白天', 'BigFishType': 'angler' }, - '沉波蜜桃': { 'bait': '甘露饵', 'time': '白天', 'BigFishType': 'angler' }, - '翡玉斧枪鱼': { 'bait': '甘露饵', 'time': '全天', 'BigFishType': 'axe_marlin' }, - '青金斧枪鱼': { 'bait': '甘露饵', 'time': '全天', 'BigFishType': 'axe_marlin' }, - '海涛斧枪鱼': { 'bait': '甘露饵', 'time': '全天', 'BigFishType': 'axe_marlin' }, - '烘烘心羽鲈': { 'bait': '酸桔饵', 'time': '白天', 'BigFishType': 'heartfeather_bass' }, - '波波心羽鲈': { 'bait': '酸桔饵', 'time': '夜晚', 'BigFishType': 'heartfeather_bass' }, - '玉玉心羽鲈': { 'bait': '酸桔饵', 'time': '全天', 'BigFishType': 'heartfeather_bass' }, - '维护机关·初始能力型': { 'bait': '维护机关频闪诱饵', 'time': '全天', 'BigFishType': 'maintenance_mek' }, - '维护机关·态势控制者': { 'bait': '维护机关频闪诱饵', 'time': '夜晚', 'BigFishType': 'maintenance_mek' }, - '维护机关·水域清理者': { 'bait': '维护机关频闪诱饵', 'time': '白天', 'BigFishType': 'maintenance_mek' }, - '维护机关·澄金领队型': { 'bait': '维护机关频闪诱饵', 'time': '全天', 'BigFishType': 'maintenance_mek' }, - '维护机关·白金典藏型': { 'bait': '维护机关频闪诱饵', 'time': '夜晚', 'BigFishType': 'maintenance_mek' }, - '伪装鲨鲨独角鱼': { 'bait': '澄晶果粒饵', 'time': '全天', 'BigFishType': 'unihornfish' }, - '青浪翻车鲀': { 'bait': '澄晶果粒饵', 'time': '白天', 'BigFishType': 'sunfish' }, - '晚霞翻车鲀': { 'bait': '澄晶果粒饵', 'time': '夜晚', 'BigFishType': 'sunfish' }, - '繁花斗士急流鱼': { 'bait': '澄晶果粒饵', 'time': '夜晚', 'BigFishType': 'rapidfish' }, - '深潜斗士急流鱼': { 'bait': '澄晶果粒饵', 'time': '白天', 'BigFishType': 'rapidfish' }, - '拟似燃素独角鱼': { 'bait': '温火饵', 'time': '全天', 'BigFishType': 'phony_unihornfish' }, - '炽岩斗士急流鱼': { 'bait': '温火饵', 'time': '全天', 'BigFishType': 'magma_rapidfish' }, - '秘源机关·巡戒使': { 'bait': '温火饵', 'time': '全天', 'BigFishType': 'secret_source' }, - '无奇巨斧鱼': { 'bait': '槲梭饵', 'time': '全天', 'BigFishType': 'axehead' }, - '冷冽巨斧鱼': { 'bait': '槲梭饵', 'time': '白天', 'BigFishType': 'axehead' }, - '炽铁巨斧鱼': { 'bait': '槲梭饵', 'time': '夜晚', 'BigFishType': 'axehead' }, - '素素凶凶鲨': { 'bait': '清白饵', 'time': '全天', 'BigFishType': 'mauler_shark' }, - '虹光凶凶鲨': { 'bait': '清白饵', 'time': '夜晚', 'BigFishType': 'mauler_shark' }, - '蓝昼明眼鱼': { 'bait': '清白饵', 'time': '白天', 'BigFishType': 'crystal_eye' }, - '夜色明眼鱼': { 'bait': '清白饵', 'time': '夜晚', 'BigFishType': 'crystal_eye' } + '花鳉': {'bait': '果酿饵', 'time': '全天', 'BigFishType': 'medaka'}, + '琉璃花鳉': {'bait': '果酿饵', 'time': '全天', 'BigFishType': 'medaka'}, + '甜甜花鳉': {'bait': '果酿饵', 'time': '全天', 'BigFishType': 'medaka'}, + '蓝染花鳉': {'bait': '果酿饵', 'time': '全天', 'BigFishType': 'medaka'}, + '擒霞客': {'bait': '果酿饵', 'time': '夜晚', 'BigFishType': 'large_medaka'}, + '水晶宴': {'bait': '果酿饵', 'time': '白天', 'BigFishType': 'large_medaka'}, + '肺棘鱼': {'bait': '赤糜饵', 'time': '夜晚', 'BigFishType': 'stickleback'}, + '斗棘鱼': {'bait': '赤糜饵', 'time': '夜晚', 'BigFishType': 'stickleback'}, + '鸩棘鱼': {'bait': '赤糜饵', 'time': '夜晚', 'BigFishType': 'stickleback'}, + '赤魔王': {'bait': '赤糜饵', 'time': '白天', 'BigFishType': 'stickleback'}, + '雪中君': {'bait': '赤糜饵', 'time': '夜晚', 'BigFishType': 'stickleback'}, + '金赤假龙': {'bait': '飞蝇假饵', 'time': '全天', 'BigFishType': 'koi'}, + '锖假龙': {'bait': '飞蝇假饵', 'time': '全天', 'BigFishType': 'koi'}, + '綦假龙': {'bait': '飞蝇假饵', 'time': '全天', 'BigFishType': 'koi'}, + '流纹褐蝶鱼': {'bait': '蠕虫假饵', 'time': '白天', 'BigFishType': 'butterflyfish'}, + '流纹茶蝶鱼': {'bait': '蠕虫假饵', 'time': '白天', 'BigFishType': 'butterflyfish'}, + '流纹京紫蝶鱼': {'bait': '蠕虫假饵', 'time': '白天', 'BigFishType': 'butterflyfish'}, + '长生仙': {'bait': '蠕虫假饵', 'time': '白天', 'BigFishType': 'butterflyfish'}, + '雷鸣仙': {'bait': '蠕虫假饵', 'time': '夜晚', 'BigFishType': 'butterflyfish'}, + '炮鲀': {'bait': '飞蝇假饵', 'time': '全天', 'BigFishType': 'pufferfish'}, + '苦炮鲀': {'bait': '飞蝇假饵', 'time': '全天', 'BigFishType': 'pufferfish'}, + '佛玛洛鳐': {'bait': '飞蝇假饵', 'time': '全天', 'BigFishType': 'ray'}, + '迪芙妲鳐': {'bait': '飞蝇假饵', 'time': '全天', 'BigFishType': 'ray'}, + '吹沙角鲀': {'bait': '甘露饵', 'time': '白天', 'BigFishType': 'angler'}, + '暮云角鲀': {'bait': '甘露饵', 'time': '夜晚', 'BigFishType': 'angler'}, + '真果角鲀': {'bait': '甘露饵', 'time': '白天', 'BigFishType': 'angler'}, + '沉波蜜桃': {'bait': '甘露饵', 'time': '白天', 'BigFishType': 'angler'}, + '翡玉斧枪鱼': {'bait': '甘露饵', 'time': '全天', 'BigFishType': 'axe_marlin'}, + '青金斧枪鱼': {'bait': '甘露饵', 'time': '全天', 'BigFishType': 'axe_marlin'}, + '海涛斧枪鱼': {'bait': '甘露饵', 'time': '全天', 'BigFishType': 'axe_marlin'}, + '烘烘心羽鲈': {'bait': '酸桔饵', 'time': '白天', 'BigFishType': 'heartfeather_bass'}, + '波波心羽鲈': {'bait': '酸桔饵', 'time': '夜晚', 'BigFishType': 'heartfeather_bass'}, + '玉玉心羽鲈': {'bait': '酸桔饵', 'time': '全天', 'BigFishType': 'heartfeather_bass'}, + '维护机关·初始能力型': {'bait': '维护机关频闪诱饵', 'time': '全天', 'BigFishType': 'maintenance_mek'}, + '维护机关·态势控制者': {'bait': '维护机关频闪诱饵', 'time': '夜晚', 'BigFishType': 'maintenance_mek'}, + '维护机关·水域清理者': {'bait': '维护机关频闪诱饵', 'time': '白天', 'BigFishType': 'maintenance_mek'}, + '维护机关·澄金领队型': {'bait': '维护机关频闪诱饵', 'time': '全天', 'BigFishType': 'maintenance_mek'}, + '维护机关·白金典藏型': {'bait': '维护机关频闪诱饵', 'time': '夜晚', 'BigFishType': 'maintenance_mek'}, + '伪装鲨鲨独角鱼': {'bait': '澄晶果粒饵', 'time': '全天', 'BigFishType': 'unihornfish'}, + '青浪翻车鲀': {'bait': '澄晶果粒饵', 'time': '白天', 'BigFishType': 'sunfish'}, + '晚霞翻车鲀': {'bait': '澄晶果粒饵', 'time': '夜晚', 'BigFishType': 'sunfish'}, + '繁花斗士急流鱼': {'bait': '澄晶果粒饵', 'time': '夜晚', 'BigFishType': 'rapidfish'}, + '深潜斗士急流鱼': {'bait': '澄晶果粒饵', 'time': '白天', 'BigFishType': 'rapidfish'}, + '拟似燃素独角鱼': {'bait': '温火饵', 'time': '全天', 'BigFishType': 'phony_unihornfish'}, + '炽岩斗士急流鱼': {'bait': '温火饵', 'time': '全天', 'BigFishType': 'magma_rapidfish'}, + '秘源机关·巡戒使': {'bait': '温火饵', 'time': '全天', 'BigFishType': 'secret_source'}, + '无奇巨斧鱼': {'bait': '槲梭饵', 'time': '全天', 'BigFishType': 'axehead'}, + '冷冽巨斧鱼': {'bait': '槲梭饵', 'time': '白天', 'BigFishType': 'axehead'}, + '炽铁巨斧鱼': {'bait': '槲梭饵', 'time': '夜晚', 'BigFishType': 'axehead'}, + '素素凶凶鲨': {'bait': '清白饵', 'time': '全天', 'BigFishType': 'mauler_shark'}, + '虹光凶凶鲨': {'bait': '清白饵', 'time': '夜晚', 'BigFishType': 'mauler_shark'}, + '蓝昼明眼鱼': {'bait': '清白饵', 'time': '白天', 'BigFishType': 'crystal_eye'}, + '夜色明眼鱼': {'bait': '清白饵', 'time': '夜晚', 'BigFishType': 'crystal_eye'}, + '炭灰雪圆鳍': {'bait': '闪烁饵', 'time': '夜晚', 'BigFishType': ''}, + '奶油雪圆鳍': {'bait': '闪烁饵', 'time': '全天', 'BigFishType': ''}, + '月光雪圆鳍': {'bait': '闪烁饵', 'time': '夜晚', 'BigFishType': ''}, + '赤甜星花鱼': {'bait': '闪烁饵', 'time': '白天', 'BigFishType': ''}, + '青仙星花鱼': {'bait': '闪烁饵', 'time': '全天', 'BigFishType': ''}, + '虹晶星花鱼': {'bait': '闪烁饵', 'time': '白天', 'BigFishType': ''} } const path_pathing = [ '枫丹-垂钓点-伊黎耶林区幽林雾道西南-花鳉_波波心羽鲈_烘烘心羽鲈_维护机关·水域清理者_维护机关·态势控制者_维护机关·澄金领队型-果酿饵_酸桔饵_维护机关频闪诱饵-普通', @@ -175,13 +182,20 @@ '挪德卡莱-垂钓点-虚海望噩影泽地东北-花鳉_素素凶凶鲨_虹光凶凶鲨_蓝昼明眼鱼-果酿饵_清白饵-普通', '挪德卡莱-垂钓点-虚海望皮拉米达城南-花鳉_无奇巨斧鱼_冷冽巨斧鱼_素素凶凶鲨_虹光凶凶鲨-果酿饵_槲梭饵_清白饵-普通', '挪德卡莱-垂钓点-烟硌山峰望崖营壁西-无奇巨斧鱼_冷冽巨斧鱼_素素凶凶鲨_虹光凶凶鲨_蓝昼明眼鱼_夜色明眼鱼-槲梭饵_清白饵-普通', - '霜月-垂钓点-乌吉恩圈-花鳉_冷冽巨斧鱼_蓝昼明眼鱼_夜色明眼鱼-果酿饵_槲梭饵_清白饵-普通' + '霜月-垂钓点-乌吉恩圈-花鳉_冷冽巨斧鱼_蓝昼明眼鱼_夜色明眼鱼-果酿饵_槲梭饵_清白饵-普通', + '至冬-垂钓点-永凝冻土海屑镇-花鳉_炭灰雪圆鳍_青仙星花鱼_赤甜星花鱼-果酿饵_闪烁饵-普通', + '至冬-垂钓点-永凝冻土海屑镇西南-花鳉_炭灰雪圆鳍_月光雪圆鳍_青仙星花鱼_赤甜星花鱼-果酿饵_闪烁饵-战斗', + '至冬-垂钓点-古兽冰原中部-花鳉_炭灰雪圆鳍_月光雪圆鳍_虹晶星花鱼_赤甜星花鱼_青仙星花鱼-果酿饵_闪烁饵-普通', + '至冬-垂钓点-古兽冰原巡猎者木屋北-花鳉_炭灰雪圆鳍_赤甜星花鱼_青仙星花鱼_虹晶星花鱼-果酿饵_闪烁饵-普通', + '至冬-垂钓点-古兽冰原凝露镇东-青仙星花鱼_赤甜星花鱼_虹晶星花鱼_炭灰雪圆鳍_奶油雪圆鳍_月光雪圆鳍-闪烁饵-普通', + '至冬-垂钓点-古兽冰原凝露镇东北-花鳉_青仙星花鱼_赤甜星花鱼_炭灰雪圆鳍_月光雪圆鳍-果酿饵_闪烁饵-普通', + '至冬-垂钓点-霜殛寒峰汐歌洞窟西-花鳉_炭灰雪圆鳍_月光雪圆鳍_虹晶星花鱼_赤甜星花鱼-果酿饵_闪烁饵-普通' ] const fishing_time_dic = { - "全天": { "name": "All", "param": 0 }, - "白天": { "name": "Daytime", "param": 1 }, - "夜晚": { "name": "Nighttime", "param": 2 }, - "禁用": { "name": "DontChange", "param": 3 } + "全天": {"name": "All", "param": 0}, + "白天": {"name": "Daytime", "param": 1}, + "夜晚": {"name": "Nighttime", "param": 2}, + "禁用": {"name": "DontChange", "param": 3} } // const positions = { // "quick_change_state": [169, 1019], @@ -203,6 +217,8 @@ const statue_name = "蒙德-七天神像-苍风高地"; // 存储本次任务中的所有鱼类,作为调节时间的关键参考 let list_fish = []; + // 存储UID + let uid; /** * 简洁易用的OCR函数 @@ -434,9 +450,9 @@ content[user_id][pathing_name]["Nighttime"] = timestamp; } else if (time_status === "白天") { content[user_id][pathing_name]["Daytime"] = timestamp; - content[user_id][pathing_name]["Nighttime"] = Object.keys(content[user_id][pathing_name]).includes("Nighttime") ? content[user_id][pathing_name]["Nighttime"] : null; + content[user_id][pathing_name]["Nighttime"] = Object.keys(content[user_id][pathing_name]).includes("Nighttime") ? content[user_id][pathing_name]["Nighttime"]: null; } else if (time_status === "夜晚") { - content[user_id][pathing_name]["Daytime"] = Object.keys(content[user_id][pathing_name]).includes("Daytime") ? content[user_id][pathing_name]["Daytime"] : null; + content[user_id][pathing_name]["Daytime"] = Object.keys(content[user_id][pathing_name]).includes("Daytime") ? content[user_id][pathing_name]["Daytime"]: null; content[user_id][pathing_name]["Nighttime"] = timestamp; } @@ -513,17 +529,17 @@ // 读取地区 // let path_sort_area = typeof(settings.path_sort_area) === 'undefined' || settings.path_sort_area === "" ? [] : settings.path_sort_area.split(' '); - let path_sort_area = settings.path_sort_area ? Array.from(settings.path_sort_area) : []; + let path_sort_area = settings.path_sort_area ? Array.from(settings.path_sort_area) : [] ; // 读取鱼类 // let path_sort_fish = typeof(settings.path_sort_fish) === 'undefined' || settings.path_sort_fish === "" ? [] : settings.path_sort_fish.split(' '); - let path_sort_fish = settings.path_sort_fish ? Array.from(settings.path_sort_fish) : []; + let path_sort_fish = settings.path_sort_fish ? Array.from(settings.path_sort_fish) : [] ; // 读取鱼饵 // let path_sort_bait = typeof(settings.path_sort_bait) === 'undefined' || settings.path_sort_bait === "" ? [] : settings.path_sort_bait.split(' '); - let path_sort_bait = settings.path_sort_bait ? Array.from(settings.path_sort_bait) : []; + let path_sort_bait = settings.path_sort_bait ? Array.from(settings.path_sort_bait) : [] ; // 读取兑换材料 - let path_sort_material = typeof (settings.path_sort_material) === 'undefined' ? "无(默认)" : settings.path_sort_material; + let path_sort_material = typeof(settings.path_sort_material) === 'undefined' ? "无(默认)" : settings.path_sort_material; // 读取调试信息 - let path_select = typeof (settings.path_select) === 'undefined' ? "无(默认)" : settings.path_select; + let path_select = typeof(settings.path_select) === 'undefined' ? "无(默认)" : settings.path_select; // 调式模式 if (path_select !== "无(默认)") { @@ -643,7 +659,7 @@ // 时间调节 let fishing_time = "全天"; // 读取调试模式的时间 - let path_time = typeof (settings.path_time) === 'undefined' ? "全天" : settings.path_time; + let path_time = typeof(settings.path_time) === 'undefined' ? "全天" : settings.path_time; // 需要的鱼类 let fish_need = list_fish.filter(item => path_msg["fish_type"].includes(item)); // 正则-全天出现的鱼 @@ -668,12 +684,12 @@ const is_nighttime = fish_need.some(item => regex_nighttime.test(item)); // 调试模式不弹出未匹配钓鱼时间的报错 - if (!is_daytime && !is_nighttime && (typeof (settings.path_select) === 'undefined' || settings.path_select === "无(默认)")) { + if (!is_daytime && !is_nighttime && (typeof(settings.path_select) === 'undefined' || settings.path_select === "无(默认)")) { log.error("出错:未找到匹配的钓鱼时间") return null; - } else if (is_daytime && !is_nighttime) { // 只有白天的鱼 + } else if (is_daytime && !is_nighttime){ // 只有白天的鱼 fishing_time = "白天"; - } else if (!is_daytime && is_nighttime) { // 只有夜晚的鱼 + } else if (!is_daytime && is_nighttime){ // 只有夜晚的鱼 fishing_time = "夜晚"; } // 昼夜都有则还是 全天 @@ -764,15 +780,12 @@ if (now < critical_time) { log.info(`该垂钓点(白天)处于冷却状态,剩余时间: ${formatTimeDifference(critical_time - now)}`); log.info(`${file_name}(白天) 已跳过...`); - // if (settings.notification) { - // notification.send(`该垂钓点(白天)处于冷却状态,剩余时间: ${formatTimeDifference(critical_time - now)}\n${file_name}(白天) 已跳过...`); - // } daytime = false; fishing_time = "夜晚"; } else { log.info(`该垂钓点(白天)未处于冷却状态,闲置时间: ${formatTimeDifference(now - critical_time)}`); - if (settings.notification) { - notification.send(`${notification_msg}\n该垂钓点(全天)未处于冷却状态,闲置时间: ${formatTimeDifference(now - critical_time)}`); + if (settings.notification) { // 全天时仅发送一次通知,将通知内容改为全天而非单独的白天和夜晚 + notification_msg = `${notification_msg}\n该垂钓点(全天)未处于冷却状态,闲置时间: ${formatTimeDifference(now - critical_time)}`; } } } @@ -783,9 +796,6 @@ if (now < critical_time) { log.info(`该垂钓点(夜晚)处于冷却状态,剩余时间: ${formatTimeDifference(critical_time - now)}`); log.info(`${file_name}(夜晚) 已跳过...`); - // if (settings.notification) { - // notification.send(`该垂钓点(夜晚)处于冷却状态,剩余时间: ${formatTimeDifference(critical_time - now)}\n${file_name}(夜晚) 已跳过...`); - // } if (daytime) { fishing_time = "白天"; } else { @@ -793,9 +803,6 @@ } } else { log.info(`该垂钓点(夜晚)未处于冷却状态,闲置时间: ${formatTimeDifference(now - critical_time)}`); - // if (settings.notification) { - // notification.send(`${notification_msg}\n该垂钓点(夜晚)未处于冷却状态,闲置时间: ${formatTimeDifference(now - critical_time)}`); - // } } } } else if (fishing_time === "白天") { @@ -805,14 +812,11 @@ if (now < critical_time) { log.info(`该垂钓点(白天)处于冷却状态,剩余时间: ${formatTimeDifference(critical_time - now)}`); log.info(`${file_name}(白天) 已跳过...`); - // if (settings.notification) { - // notification.send(`该垂钓点(白天)处于冷却状态,剩余时间: ${formatTimeDifference(critical_time - now)}\n${file_name}(白天) 已跳过...`); - // } return null; } else { log.info(`该垂钓点(白天)未处于冷却状态,闲置时间: ${formatTimeDifference(now - critical_time)}`); if (settings.notification) { - notification.send(`${notification_msg}\n该垂钓点(白天)未处于冷却状态,闲置时间: ${formatTimeDifference(now - critical_time)}`); + notification_msg = `${notification_msg}\n该垂钓点(白天)未处于冷却状态,闲置时间: ${formatTimeDifference(now - critical_time)}`; } } } @@ -823,14 +827,11 @@ if (now < critical_time) { log.info(`该垂钓点(夜晚)处于冷却状态,剩余时间: ${formatTimeDifference(critical_time - now)}`); log.info(`${file_name}(夜晚) 已跳过...`); - // if (settings.notification) { - // notification.send(`该垂钓点(夜晚)处于冷却状态,剩余时间: ${formatTimeDifference(critical_time - now)}\n${file_name}(夜晚) 已跳过...`); - // } return null; } else { log.info(`该垂钓点(夜晚)未处于冷却状态,闲置时间: ${formatTimeDifference(now - critical_time)}`); if (settings.notification) { - notification.send(`${notification_msg}\n该垂钓点(夜晚)未处于冷却状态,闲置时间: ${formatTimeDifference(now - critical_time)}`); + notification_msg = `${notification_msg}\n该垂钓点(夜晚)未处于冷却状态,闲置时间: ${formatTimeDifference(now - critical_time)}`; } } } @@ -838,7 +839,7 @@ } else { log.info(`本地不存在该垂钓点的CD记录: ${file_name}(${uid})\n该垂钓点将不会跳过...`); if (settings.notification) { - notification.send(`${notification_msg}\n本地不存在该垂钓点的CD记录: ${file_name}(${uid})\n该垂钓点将不会跳过...`); + notification_msg = `${notification_msg}\n本地不存在该垂钓点的CD记录: ${file_name}(${uid})\n该垂钓点将不会跳过...`; } } } @@ -907,6 +908,9 @@ page_state = scroll_pages_main("down", 1); if (page_state === false) { // [DEBUG]未拥有奇特的羽毛的情况暂未测试(不确定滑到底部未找到是否能触发) log.warn("未找到小道具:奇特的羽毛,该点位已跳过..."); + if (settings.notification) { + notification.error(`${notification_msg}\n未找到小道具:奇特的羽毛,该点位已跳过...`); + } } return false; } @@ -935,6 +939,9 @@ keyPress("Z"); // 关闭快捷道具界面 await sleep(1000); log.warn("快捷更换栏未找到小道具:奇特的羽毛,该点位已跳过..."); + if (settings.notification) { + notification.error(`${notification_msg}\n快捷更换栏未找到小道具:奇特的羽毛,该点位已跳过...`); + } return false; } } @@ -953,7 +960,7 @@ if (developer_log.length !== 0 && !(developer_log.includes("伪造地图追踪(跑图+垂钓)"))) { if (developer_log.includes("伪造地图追踪(跑图)")) { // 偽造地图追踪结束 - await fakeLog(`${file_name}-跑图`, false, false, false, time_end_pathing - time_start_pathing); + await fakeLog(`${file_name}-跑图`, false, false, false, time_end_pathing - time_start_pathing); } if (developer_log.includes("伪造地图追踪(垂钓)")) { // 偽造地图追踪开始 @@ -964,12 +971,17 @@ // 回到主界面 await genshin.returnMainUi(); + // 发送通知 + if (settings.notification) { + notification.send(`${notification_msg}`); + } + // 记录钓鱼开始时间 const time_start_fishing = Date.now(); // 调用自动钓鱼 await dispatcher.runTask(new SoloTask("AutoFishing", { - "fishingTimePolicy": fishing_time_dic[uid.includes("bgiMultiUser") ? "禁用" : fishing_time]["param"], + "fishingTimePolicy": fishing_time_dic[uid.includes("bgiMultiUser") ? "禁用": fishing_time]["param"], "throwRodTimeOutTimeoutSeconds": time_out_throw, "wholeProcessTimeoutSeconds": time_out_whole })); @@ -980,21 +992,50 @@ if (developer_log.length !== 0) { if (developer_log.includes("伪造地图追踪(跑图+垂钓)")) { // 偽造地图追踪结束 - await fakeLog(`${file_name}`, false, false, false, time_end_fishing - time_start_pathing); + await fakeLog(`${file_name}`, false, false, false, time_end_fishing - time_start_pathing); } else if (developer_log.includes("伪造地图追踪(垂钓)")) { // 偽造地图追踪结束 - await fakeLog(`${file_name}-垂钓`, false, false, false, time_end_fishing - time_start_fishing); + await fakeLog(`${file_name}-垂钓`, false, false, false, time_end_fishing - time_start_fishing); } } // 钓鱼是否正常结束,间隔时间大于抛竿超时时间视为正常结束(防止CD跳过导致的混淆) - const flag = (time_end_fishing - time_start_fishing) >= time_out_throw * 1000; + let flag = (time_end_fishing - time_start_fishing) >= time_out_throw * 1000; + + // 检测多人模式非房主模式下是否异常回到单人模式 + if (uid.includes("bgiMultiUser")) { + const singleRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("assets/single.png")); + let imageExitRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("assets/Exit.png")); + + // 确保回到主界面 + genshin.returnMainUi; + await sleep(200); + + let mainUiCapture = captureGameRegion(); + if (mainUiCapture.Find(singleRo).isExist()) { // 单人模式 + await sleep(800); + keyPress("G"); + while (!(captureGameRegion().Find(imageExitRo).isExist())) { // [DEBUG] 可能陷入死循环? + await sleep(500); + log.debug("等待直到进入教程界面"); + } + let ocrUid = await Ocr(1679, 1048, 200, 28); + if (ocrUid && ocrUid.text !== "") uid = ocrUid.text.replace(/\D/g, ''); + let notification_msg = `当前为单人模式,CD统计模式已更新\n记录标识: ${uid}`; + log.info(`${notification_msg}`); + notification.send(`${notification_msg}`); + flag = false; + } + } if (fishing_cd && flag) { write_archive(file_name, fishing_time, Date.now(), uid); } else if (fishing_cd && !flag) { log.warn(`本次钓鱼异常,不计算垂钓点CD`); + if (settings.notification) { + notification.error(`本次钓鱼异常,不计算垂钓点CD`); + } } } @@ -1002,8 +1043,8 @@ let time_out_throw, time_out_whole; try { // 读取超时时间 - time_out_throw = typeof (settings.time_out_throw) === 'undefined' ? 10 : parseInt(settings.time_out_throw, 10); - time_out_whole = typeof (settings.time_out_whole) === 'undefined' ? 300 : parseInt(settings.time_out_whole, 10); + time_out_throw = typeof(settings.time_out_throw) === 'undefined' ? 10 : parseInt(settings.time_out_throw, 10); + time_out_whole = typeof(settings.time_out_whole) === 'undefined' ? 300 : parseInt(settings.time_out_whole, 10); } catch (error) { log.error(`超时时间读取错误,请检查JS脚本配置: ${error}`); return null; @@ -1011,34 +1052,34 @@ // 筛选路径 let path_filter = pathing_filter(); // 读取要继续的路径 - let path_continue = typeof (settings.path_continue) === 'undefined' ? "无(默认)" : settings.path_continue; + let path_continue = typeof(settings.path_continue) === 'undefined' ? "无(默认)" : settings.path_continue; let is_continue = true; // 判断是否是调式模式 - const is_con = !(typeof (settings.path_select) === 'undefined' || settings.path_select === "无(默认)"); + const is_con = !(typeof(settings.path_select) === 'undefined' || settings.path_select === "无(默认)"); // 读取开发者日志设置 const developer_log = settings.developer_log ? Array.from(settings.developer_log) : []; // 键鼠设置读取 - const block_gcm = typeof (settings.block_gcm) === 'undefined' ? false : settings.block_gcm; + const block_gcm = typeof(settings.block_gcm) === 'undefined' ? false : settings.block_gcm; // 战斗设置读取 - const block_fight = typeof (settings.block_fight) === 'undefined' ? false : settings.block_fight; + const block_fight = typeof(settings.block_fight) === 'undefined' ? false : settings.block_fight; // 鹤观设置读取 - const block_tsurumi = typeof (settings.block_tsurumi) === 'undefined' ? false : settings.block_tsurumi; + const block_tsurumi = typeof(settings.block_tsurumi) === 'undefined' ? false : settings.block_tsurumi; // 小道具替换方式读取 - const tsurumi_method = typeof (settings.tsurumi_method) === 'undefined' ? "1" : settings.tsurumi_method.split(".")[0]; + const tsurumi_method = typeof(settings.tsurumi_method) === 'undefined' ? "1" : settings.tsurumi_method.split(".")[0]; // 读取自动拾取设置 - const auto_pick = typeof (settings.auto_pick) === 'undefined' ? false : settings.auto_pick; + const auto_pick = typeof(settings.auto_pick) === 'undefined' ? false : settings.auto_pick; // 读取4点自动领取月卡的设置 - const auto_skip = typeof (settings.auto_skip) === 'undefined' ? false : settings.auto_skip; + const auto_skip = typeof(settings.auto_skip) === 'undefined' ? false : settings.auto_skip; // 读取垂钓点CD统计 - let fishing_cd = typeof (settings.fishing_cd) === 'undefined' ? false : settings.fishing_cd; + let fishing_cd = typeof(settings.fishing_cd) === 'undefined' ? false: settings.fishing_cd; // 读取终止时间 - const kill_hour = typeof (settings.time_kill_hour) === 'undefined' ? "无" : settings.time_kill_hour; - const kill_minute = typeof (settings.time_kill_minute) === 'undefined' ? "无" : settings.time_kill_minute; + const kill_hour = typeof(settings.time_kill_hour) === 'undefined' ? "无" : settings.time_kill_hour; + const kill_minute = typeof(settings.time_kill_minute) === 'undefined' ? "无" : settings.time_kill_minute; const is_time_kill = kill_hour !== "无" && kill_minute !== "无"; // 判断是否启用 let time_target = new Date(); // 获取当前用户UID,四种格式,单人未识别:default_user,单人识别,{uid纯数字},多人未识别:default_bgiMultiUser,多人识别:bgiMultiUser_{uid纯数字} - let uid = "default_user"; + uid = "default_user"; if (fishing_cd && !is_con) { const singleRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("assets/single.png")); const player1Ro = RecognitionObject.TemplateMatch(file.ReadImageMatSync("assets/1P.png")); @@ -1052,7 +1093,6 @@ await sleep(500); log.debug("等待直到进入教程界面"); } - let ocrUid = await Ocr(1679, 1048, 200, 28); if (ocrUid && ocrUid.text !== "") uid = ocrUid.text.replace(/\D/g, ''); } else { @@ -1098,7 +1138,7 @@ await genshin.returnMainUi; - log.info("当前为多人模式且并非房主,垂钓点CD统计将记录1P的CD(不影响单人模式的CD记录)"); + log.info(`当前为多人模式且并非房主,垂钓点CD统计将记录1P(uid: ${ocrResult})的CD(不影响单人模式的CD记录)`); } mainUiCapture.dispose(); } diff --git a/repo/js/AutoFishingTeyvat/manifest.json b/repo/js/AutoFishingTeyvat/manifest.json index c098840be8..a1f084db91 100644 --- a/repo/js/AutoFishingTeyvat/manifest.json +++ b/repo/js/AutoFishingTeyvat/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 1, "name": "提瓦特自动钓鱼(全流程+自选)", - "version": "2.4.10", + "version": "2.5.0", "bgi_version": "0.63.0", "description": "支持自动追踪并垂钓bgi支持的全提瓦特垂钓点", "authors": [ @@ -20,4 +20,4 @@ "allow_js_notification": true, "settings_ui": "settings.json", "main": "main.js" -} +} \ No newline at end of file diff --git a/repo/js/AutoFishingTeyvat/settings.json b/repo/js/AutoFishingTeyvat/settings.json index 17cf8c10fd..9f43045057 100644 --- a/repo/js/AutoFishingTeyvat/settings.json +++ b/repo/js/AutoFishingTeyvat/settings.json @@ -18,6 +18,7 @@ "⚓穿浪斗枪⚓(枫丹钓竿)", "⚓长犀圆鸟和扁鱼⚓(纳塔钓竿)", "⚓谧晖白枝⚓(挪德卡莱钓竿)", + "⚓雪鱼王之杖⚓(至冬钓竿)", "⚔渔获⚔(稻妻武器)", "✞赤穗酒枡✞(稻妻精炼材料)", "⚔竭泽⚔(须弥武器)", @@ -37,14 +38,14 @@ "name": "path_sort_fish", "type": "multi-checkbox", "label": "鱼类筛选", - "options": ["花鳉", "波波心羽鲈", "烘烘心羽鲈", "维护机关·水域清理者", "维护机关·态势控制者", "维护机关·澄金领队型", "海涛斧枪鱼", "维护机关·初始能力型", "维护机关·白金典藏型", "吹沙角鲀", "甜甜花鳉", "擒霞客", "水晶宴", "斗棘鱼", "炮鲀", "流纹褐蝶鱼", "锖假龙", "金赤假龙", "玉玉心羽鲈", "赤魔王", "长生仙", "苦炮鲀", "肺棘鱼", "流纹京紫蝶鱼", "琉璃花鳉", "伪装鲨鲨独角鱼", "繁花斗士急流鱼", "深潜斗士急流鱼", "晚霞翻车鲀", "青浪翻车鲀", "拟似燃素独角鱼", "炽岩斗士急流鱼", "蓝染花鳉", "鸩棘鱼", "流纹茶蝶鱼", "雪中君", "真果角鲀", "青金斧枪鱼", "暮云角鲀", "翡玉斧枪鱼", "沉波蜜桃", "雷鸣仙", "佛玛洛鳐", "迪芙妲鳐", "秘源机关·巡戒使", "蓝昼明眼鱼", "冷冽巨斧鱼", "夜色明眼鱼", "炽铁巨斧鱼", "虹光凶凶鲨", "无奇巨斧鱼", "素素凶凶鲨", "綦假龙"] + "options": ["花鳉", "波波心羽鲈", "烘烘心羽鲈", "维护机关·水域清理者", "维护机关·态势控制者", "维护机关·澄金领队型", "海涛斧枪鱼", "维护机关·初始能力型", "维护机关·白金典藏型", "吹沙角鲀", "甜甜花鳉", "擒霞客", "水晶宴", "斗棘鱼", "炮鲀", "流纹褐蝶鱼", "锖假龙", "金赤假龙", "玉玉心羽鲈", "赤魔王", "长生仙", "苦炮鲀", "肺棘鱼", "流纹京紫蝶鱼", "琉璃花鳉", "伪装鲨鲨独角鱼", "繁花斗士急流鱼", "深潜斗士急流鱼", "晚霞翻车鲀", "青浪翻车鲀", "拟似燃素独角鱼", "炽岩斗士急流鱼", "蓝染花鳉", "鸩棘鱼", "流纹茶蝶鱼", "雪中君", "真果角鲀", "青金斧枪鱼", "暮云角鲀", "翡玉斧枪鱼", "沉波蜜桃", "雷鸣仙", "佛玛洛鳐", "迪芙妲鳐", "秘源机关·巡戒使", "蓝昼明眼鱼", "冷冽巨斧鱼", "夜色明眼鱼", "炽铁巨斧鱼", "虹光凶凶鲨", "无奇巨斧鱼", "素素凶凶鲨", "綦假龙", "炭灰雪圆鳍", "奶油雪圆鳍", "月光雪圆鳍", "赤甜星花鱼", "青仙星花鱼", "虹晶星花鱼"] }, { "name": "path_sort_bait", "type": "multi-checkbox", "label": "鱼饵筛选", - "options": ["果酿饵", "酸桔饵", "维护机关频闪诱饵", "甘露饵", "赤糜饵", "飞蝇假饵", "蠕虫假饵", "澄晶果粒饵", "温火饵", "槲梭饵", "清白饵"] + "options": ["果酿饵", "酸桔饵", "维护机关频闪诱饵", "甘露饵", "赤糜饵", "飞蝇假饵", "蠕虫假饵", "澄晶果粒饵", "温火饵", "槲梭饵", "清白饵", "闪烁饵"] }, { "name": "block_gcm", @@ -181,10 +182,17 @@ "挪德卡莱-垂钓点-希汐岛沐光之台西南-普通", "挪德卡莱-垂钓点-希汐岛霜月之坊东北-普通", "挪德卡莱-垂钓点-希汐岛霜月之坊西-战斗", - "挪德卡莱-垂钓点-虚海望噩影泽地东北", - "挪德卡莱-垂钓点-虚海望皮拉米达城南", - "挪德卡莱-垂钓点-烟硌山峰望崖营壁西", - "霜月-垂钓点-乌吉恩圈" + "挪德卡莱-垂钓点-虚海望噩影泽地东北-普通", + "挪德卡莱-垂钓点-虚海望皮拉米达城南-普通", + "挪德卡莱-垂钓点-烟硌山峰望崖营壁西-普通", + "霜月-垂钓点-乌吉恩圈-普通", + "至冬-垂钓点-永凝冻土海屑镇-普通", + "至冬-垂钓点-永凝冻土海屑镇西南-战斗", + "至冬-垂钓点-古兽冰原中部-普通", + "至冬-垂钓点-古兽冰原巡猎者木屋北-普通", + "至冬-垂钓点-古兽冰原凝露镇东-普通", + "至冬-垂钓点-古兽冰原凝露镇东北-普通", + "至冬-垂钓点-霜殛寒峰汐歌洞窟西-普通" ], "default": "无(默认)" }, @@ -454,10 +462,17 @@ "挪德卡莱-垂钓点-希汐岛沐光之台西南-普通", "挪德卡莱-垂钓点-希汐岛霜月之坊东北-普通", "挪德卡莱-垂钓点-希汐岛霜月之坊西-战斗", - "挪德卡莱-垂钓点-虚海望噩影泽地东北", - "挪德卡莱-垂钓点-虚海望皮拉米达城南", - "挪德卡莱-垂钓点-烟硌山峰望崖营壁西", - "霜月-垂钓点-乌吉恩圈" + "挪德卡莱-垂钓点-虚海望噩影泽地东北-普通", + "挪德卡莱-垂钓点-虚海望皮拉米达城南-普通", + "挪德卡莱-垂钓点-烟硌山峰望崖营壁西-普通", + "霜月-垂钓点-乌吉恩圈-普通", + "至冬-垂钓点-永凝冻土海屑镇-普通", + "至冬-垂钓点-永凝冻土海屑镇西南-战斗", + "至冬-垂钓点-古兽冰原中部-普通", + "至冬-垂钓点-古兽冰原巡猎者木屋北-普通", + "至冬-垂钓点-古兽冰原凝露镇东-普通", + "至冬-垂钓点-古兽冰原凝露镇东北-普通", + "至冬-垂钓点-霜殛寒峰汐歌洞窟西-普通" ], "default": "无(默认)" },