From d44e3769bd4ccf03aefef980aaebe9c906085e41 Mon Sep 17 00:00:00 2001 From: "firedcto@gmail.com" Date: Sat, 22 Mar 2025 01:23:39 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=87=AA=E5=8A=A8=E5=BC=BA?= =?UTF-8?q?=E5=8C=96=E5=A3=B0=E9=AA=B8=E5=8A=9F=E8=83=BD=20=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E8=A7=A6=E5=8F=91=E4=BB=BB=E5=8A=A1=E8=B0=83=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/images/68.png | Bin 0 -> 33769 bytes assets/images/69.png | Bin 0 -> 39270 bytes assets/images/70.png | Bin 0 -> 47524 bytes assets/images/71.png | Bin 0 -> 36743 bytes assets/images/72.png | Bin 0 -> 34844 bytes assets/result.json | 382 ++++++++++++++++++++++---------- config.py | 4 +- deploy.txt | 3 - i18n/en_US/LC_MESSAGES/ok.po | 18 ++ i18n/zh_CN/LC_MESSAGES/ok.mo | Bin 10875 -> 11050 bytes i18n/zh_CN/LC_MESSAGES/ok.po | 9 +- requirements.txt | 2 +- src/scene/WWScene.py | 28 +++ src/task/AutoCombatTask.py | 15 +- src/task/AutoEnhanceEchoTask.py | 57 +++++ src/task/AutoLoginTask.py | 8 +- src/task/AutoPickTask.py | 11 +- src/task/SkipBaseTask.py | 4 +- src/task/SkipDialogTask.py | 7 +- 19 files changed, 405 insertions(+), 143 deletions(-) create mode 100644 assets/images/68.png create mode 100644 assets/images/69.png create mode 100644 assets/images/70.png create mode 100644 assets/images/71.png create mode 100644 assets/images/72.png create mode 100644 src/scene/WWScene.py create mode 100644 src/task/AutoEnhanceEchoTask.py diff --git a/assets/images/68.png b/assets/images/68.png new file mode 100644 index 0000000000000000000000000000000000000000..4d29879d48c28da24d2f4145016e1e8892828b10 GIT binary patch literal 33769 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 literal 0 HcmV?d00001 diff --git a/assets/images/69.png b/assets/images/69.png new file mode 100644 index 0000000000000000000000000000000000000000..2807e0a08a387c65e19420fa9ebe7a40a18409f6 GIT binary patch literal 39270 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%0DMN&eMHzbWt7s@wTiI3Fjk80jPGm3<9 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 literal 0 HcmV?d00001 diff --git a/assets/images/71.png b/assets/images/71.png new file mode 100644 index 0000000000000000000000000000000000000000..5c893619191a4c19a0783c4ace26c5f417aca415 GIT binary patch literal 36743 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 lK%cq`Z)h}s1*ohEQ%|hEYPE>92` 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 literal 0 HcmV?d00001 diff --git a/assets/result.json b/assets/result.json index 5cc4ccf..8625c3e 100644 --- a/assets/result.json +++ b/assets/result.json @@ -407,6 +407,36 @@ "height": 2160, "id": 67, "file_name": "images/67.png" + }, + { + "width": 3840, + "height": 2160, + "id": 68, + "file_name": "images/68.png" + }, + { + "width": 3840, + "height": 2160, + "id": 69, + "file_name": "images/69.png" + }, + { + "width": 3840, + "height": 2160, + "id": 70, + "file_name": "images/70.png" + }, + { + "width": 3840, + "height": 2160, + "id": 71, + "file_name": "images/71.png" + }, + { + "width": 3840, + "height": 2160, + "id": 72, + "file_name": "images/72.png" } ], "categories": [ @@ -752,274 +782,298 @@ }, { "id": 85, - "name": "echo_locked" + "name": "echo_enhance_btn" }, { "id": 86, - "name": "echo_rarity_blue" + "name": "echo_enhance_confirm" }, { "id": 87, - "name": "echo_rarity_gold" + "name": "echo_enhance_success" }, { "id": 88, - "name": "echo_rarity_green" + "name": "echo_enhance_to" }, { "id": 89, - "name": "echo_rarity_purple" + "name": "echo_locked" }, { "id": 90, - "name": "echo_sort_asc" + "name": "echo_merge" }, { "id": 91, - "name": "echo_sort_desc" + "name": "echo_rarity_blue" }, { "id": 92, - "name": "echo_stats_aero_dmg" + "name": "echo_rarity_gold" }, { "id": 93, - "name": "echo_stats_atk" + "name": "echo_rarity_green" }, { "id": 94, - "name": "echo_stats_crit" + "name": "echo_rarity_purple" }, { "id": 95, - "name": "echo_stats_crit_dmg" + "name": "echo_sort_asc" }, { "id": 96, - "name": "echo_stats_def" + "name": "echo_sort_desc" }, { "id": 97, - "name": "echo_stats_electro_dmg" + "name": "echo_stats_aero_dmg" }, { "id": 98, - "name": "echo_stats_energy_regen" + "name": "echo_stats_atk" }, { "id": 99, - "name": "echo_stats_fusion_dmg" + "name": "echo_stats_crit" }, { "id": 100, - "name": "echo_stats_glacio_dmg" + "name": "echo_stats_crit_dmg" }, { "id": 101, - "name": "echo_stats_havoc_dmg" + "name": "echo_stats_def" }, { "id": 102, - "name": "echo_stats_healing" + "name": "echo_stats_electro_dmg" }, { "id": 103, - "name": "echo_stats_hp" + "name": "echo_stats_energy_regen" }, { "id": 104, - "name": "echo_stats_spectro_dmg" + "name": "echo_stats_fusion_dmg" }, { "id": 105, - "name": "echo_unlocked" + "name": "echo_stats_glacio_dmg" }, { "id": 106, - "name": "edge_levitator" + "name": "echo_stats_havoc_dmg" }, { "id": 107, - "name": "fast_travel_confirm" + "name": "echo_stats_healing" }, { "id": 108, - "name": "fast_travel_custom" + "name": "echo_stats_hp" }, { "id": 109, - "name": "gray_book_all_monsters" + "name": "echo_stats_spectro_dmg" }, { "id": 110, - "name": "gray_book_boss" + "name": "echo_unlocked" }, { "id": 111, - "name": "gray_book_boss_highlight" + "name": "edge_levitator" }, { "id": 112, - "name": "gray_button_challenge" + "name": "fast_travel_confirm" }, { "id": 113, - "name": "gray_combat_count_down" + "name": "fast_travel_custom" }, { "id": 114, - "name": "gray_confirm_exit_button" + "name": "gray_book_all_monsters" }, { "id": 115, - "name": "gray_crownless_battle" + "name": "gray_book_boss" }, { "id": 116, - "name": "gray_custom_way_point" + "name": "gray_book_boss_highlight" }, { "id": 117, - "name": "gray_start_battle" + "name": "gray_button_challenge" }, { "id": 118, - "name": "gray_teleport" + "name": "gray_combat_count_down" }, { "id": 119, - "name": "illusive_realm_exit" + "name": "gray_confirm_exit_button" }, { "id": 120, - "name": "illusive_realm_menu" + "name": "gray_crownless_battle" }, { "id": 121, - "name": "login_account" + "name": "gray_custom_way_point" }, { "id": 122, - "name": "monthly_card" + "name": "gray_start_battle" }, { "id": 123, - "name": "multiplayer_world_mark" + "name": "gray_teleport" }, { "id": 124, - "name": "pick_up_f_hcenter_vcenter" + "name": "illusive_realm_exit" }, { "id": 125, - "name": "purple_target_distance_icon" + "name": "illusive_realm_menu" }, { "id": 126, - "name": "remove_custom" + "name": "login_account" }, { "id": 127, - "name": "revive_confirm_hcenter_vcenter" + "name": "monthly_card" }, { "id": 128, - "name": "set_name_0" + "name": "multiplayer_world_mark" }, { "id": 129, - "name": "set_name_1" + "name": "pick_up_f_hcenter_vcenter" }, { "id": 130, - "name": "set_name_10" + "name": "purple_target_distance_icon" }, { "id": 131, - "name": "set_name_11" + "name": "red_dot" }, { "id": 132, - "name": "set_name_12" + "name": "remove_custom" }, { "id": 133, - "name": "set_name_13" + "name": "revive_confirm_hcenter_vcenter" }, { "id": 134, - "name": "set_name_14" + "name": "set_name_0" }, { "id": 135, - "name": "set_name_15" + "name": "set_name_1" }, { "id": 136, - "name": "set_name_16" + "name": "set_name_10" }, { "id": 137, - "name": "set_name_17" + "name": "set_name_11" }, { "id": 138, - "name": "set_name_18" + "name": "set_name_12" }, { "id": 139, - "name": "set_name_19" + "name": "set_name_13" }, { "id": 140, - "name": "set_name_2" + "name": "set_name_14" }, { "id": 141, - "name": "set_name_20" + "name": "set_name_15" }, { "id": 142, - "name": "set_name_3" + "name": "set_name_16" }, { "id": 143, - "name": "set_name_4" + "name": "set_name_17" }, { "id": 144, - "name": "set_name_5" + "name": "set_name_18" }, { "id": 145, - "name": "set_name_6" + "name": "set_name_19" }, { "id": 146, - "name": "set_name_7" + "name": "set_name_2" }, { "id": 147, - "name": "set_name_8" + "name": "set_name_20" }, { "id": 148, - "name": "set_name_9" + "name": "set_name_3" }, { "id": 149, - "name": "skip_quest_confirm" + "name": "set_name_4" }, { "id": 150, - "name": "target_enemy_white" + "name": "set_name_5" }, { "id": 151, - "name": "treasure_icon" + "name": "set_name_6" }, { "id": 152, + "name": "set_name_7" + }, + { + "id": 153, + "name": "set_name_8" + }, + { + "id": 154, + "name": "set_name_9" + }, + { + "id": 155, + "name": "skip_quest_confirm" + }, + { + "id": 156, + "name": "target_enemy_white" + }, + { + "id": 157, + "name": "treasure_icon" + }, + { + "id": 158, "name": "ww" } ], @@ -1027,7 +1081,7 @@ { "id": 0, "image_id": 0, - "category_id": 115, + "category_id": 120, "segmentation": [], "bbox": [ 272.0, @@ -1222,7 +1276,7 @@ { "id": 13, "image_id": 5, - "category_id": 106, + "category_id": 111, "segmentation": [], "bbox": [ 2937.0, @@ -1237,7 +1291,7 @@ { "id": 14, "image_id": 6, - "category_id": 117, + "category_id": 122, "segmentation": [], "bbox": [ 3579.0, @@ -1402,7 +1456,7 @@ { "id": 25, "image_id": 8, - "category_id": 127, + "category_id": 133, "segmentation": [], "bbox": [ 2887.0, @@ -1417,7 +1471,7 @@ { "id": 26, "image_id": 9, - "category_id": 112, + "category_id": 117, "segmentation": [], "bbox": [ 2413.0000000000005, @@ -1432,7 +1486,7 @@ { "id": 27, "image_id": 10, - "category_id": 114, + "category_id": 119, "segmentation": [], "bbox": [ 2805.0, @@ -1462,7 +1516,7 @@ { "id": 29, "image_id": 11, - "category_id": 118, + "category_id": 123, "segmentation": [], "bbox": [ 2589.0, @@ -1657,7 +1711,7 @@ { "id": 42, "image_id": 16, - "category_id": 110, + "category_id": 115, "segmentation": [], "bbox": [ 77.00000000000001, @@ -1672,7 +1726,7 @@ { "id": 43, "image_id": 16, - "category_id": 109, + "category_id": 114, "segmentation": [], "bbox": [ 79.64601769911505, @@ -1762,7 +1816,7 @@ { "id": 49, "image_id": 21, - "category_id": 108, + "category_id": 113, "segmentation": [], "bbox": [ 3219.9999999999973, @@ -1777,7 +1831,7 @@ { "id": 50, "image_id": 21, - "category_id": 126, + "category_id": 132, "segmentation": [], "bbox": [ 3083.8938053097336, @@ -1852,7 +1906,7 @@ { "id": 55, "image_id": 24, - "category_id": 125, + "category_id": 130, "segmentation": [], "bbox": [ 2090.0, @@ -1867,7 +1921,7 @@ { "id": 56, "image_id": 24, - "category_id": 119, + "category_id": 124, "segmentation": [], "bbox": [ 29.0, @@ -1882,7 +1936,7 @@ { "id": 57, "image_id": 24, - "category_id": 120, + "category_id": 125, "segmentation": [], "bbox": [ 217.0, @@ -1912,7 +1966,7 @@ { "id": 59, "image_id": 25, - "category_id": 111, + "category_id": 116, "segmentation": [], "bbox": [ 36.0, @@ -1987,7 +2041,7 @@ { "id": 64, "image_id": 28, - "category_id": 122, + "category_id": 127, "segmentation": [], "bbox": [ 1555.0000000000002, @@ -2002,7 +2056,7 @@ { "id": 65, "image_id": 29, - "category_id": 116, + "category_id": 121, "segmentation": [], "bbox": [ 2512.9999999999995, @@ -2017,7 +2071,7 @@ { "id": 66, "image_id": 30, - "category_id": 124, + "category_id": 129, "segmentation": [], "bbox": [ 2440.9999999999995, @@ -2062,7 +2116,7 @@ { "id": 69, "image_id": 32, - "category_id": 113, + "category_id": 118, "segmentation": [], "bbox": [ 1747.0, @@ -2077,7 +2131,7 @@ { "id": 70, "image_id": 33, - "category_id": 150, + "category_id": 156, "segmentation": [], "bbox": [ 1688.0, @@ -2107,7 +2161,7 @@ { "id": 72, "image_id": 34, - "category_id": 123, + "category_id": 128, "segmentation": [], "bbox": [ 76.77271661865221, @@ -2122,7 +2176,7 @@ { "id": 73, "image_id": 35, - "category_id": 149, + "category_id": 155, "segmentation": [], "bbox": [ 2296.991150442478, @@ -2272,7 +2326,7 @@ { "id": 83, "image_id": 39, - "category_id": 103, + "category_id": 108, "segmentation": [], "bbox": [ 2354.336283185841, @@ -2287,7 +2341,7 @@ { "id": 84, "image_id": 39, - "category_id": 128, + "category_id": 134, "segmentation": [], "bbox": [ 2010.731069247442, @@ -2302,7 +2356,7 @@ { "id": 85, "image_id": 39, - "category_id": 140, + "category_id": 146, "segmentation": [], "bbox": [ 2010.138498421424, @@ -2317,7 +2371,7 @@ { "id": 86, "image_id": 39, - "category_id": 142, + "category_id": 148, "segmentation": [], "bbox": [ 1475.0999455437145, @@ -2332,7 +2386,7 @@ { "id": 87, "image_id": 39, - "category_id": 147, + "category_id": 153, "segmentation": [], "bbox": [ 1742.61922198257, @@ -2347,7 +2401,7 @@ { "id": 88, "image_id": 39, - "category_id": 146, + "category_id": 152, "segmentation": [], "bbox": [ 1207.5806691048583, @@ -2362,7 +2416,7 @@ { "id": 89, "image_id": 39, - "category_id": 144, + "category_id": 150, "segmentation": [], "bbox": [ 134.87430187125648, @@ -2377,7 +2431,7 @@ { "id": 90, "image_id": 39, - "category_id": 143, + "category_id": 149, "segmentation": [], "bbox": [ 402.8245815888193, @@ -2392,7 +2446,7 @@ { "id": 91, "image_id": 39, - "category_id": 129, + "category_id": 135, "segmentation": [], "bbox": [ 2010.2654867256613, @@ -2407,7 +2461,7 @@ { "id": 92, "image_id": 40, - "category_id": 93, + "category_id": 98, "segmentation": [], "bbox": [ 2354.336283185841, @@ -2422,7 +2476,7 @@ { "id": 93, "image_id": 41, - "category_id": 96, + "category_id": 101, "segmentation": [], "bbox": [ 2354.336283185841, @@ -2437,7 +2491,7 @@ { "id": 94, "image_id": 42, - "category_id": 101, + "category_id": 106, "segmentation": [], "bbox": [ 2354.336283185841, @@ -2452,7 +2506,7 @@ { "id": 95, "image_id": 43, - "category_id": 99, + "category_id": 104, "segmentation": [], "bbox": [ 2354.336283185841, @@ -2467,7 +2521,7 @@ { "id": 96, "image_id": 44, - "category_id": 92, + "category_id": 97, "segmentation": [], "bbox": [ 2354.336283185841, @@ -2482,7 +2536,7 @@ { "id": 97, "image_id": 45, - "category_id": 97, + "category_id": 102, "segmentation": [], "bbox": [ 2354.336283185841, @@ -2497,7 +2551,7 @@ { "id": 98, "image_id": 46, - "category_id": 98, + "category_id": 103, "segmentation": [], "bbox": [ 2354.336283185841, @@ -2512,7 +2566,7 @@ { "id": 99, "image_id": 47, - "category_id": 100, + "category_id": 105, "segmentation": [], "bbox": [ 2354.336283185841, @@ -2527,7 +2581,7 @@ { "id": 100, "image_id": 48, - "category_id": 95, + "category_id": 100, "segmentation": [], "bbox": [ 2354.336283185841, @@ -2542,7 +2596,7 @@ { "id": 101, "image_id": 49, - "category_id": 94, + "category_id": 99, "segmentation": [], "bbox": [ 2354.336283185841, @@ -2557,7 +2611,7 @@ { "id": 102, "image_id": 50, - "category_id": 102, + "category_id": 107, "segmentation": [], "bbox": [ 2351.1504424778764, @@ -2572,7 +2626,7 @@ { "id": 103, "image_id": 50, - "category_id": 145, + "category_id": 151, "segmentation": [], "bbox": [ 1742.61922198257, @@ -2587,7 +2641,7 @@ { "id": 104, "image_id": 51, - "category_id": 104, + "category_id": 109, "segmentation": [], "bbox": [ 2354.336283185841, @@ -2632,7 +2686,7 @@ { "id": 107, "image_id": 54, - "category_id": 121, + "category_id": 126, "segmentation": [], "bbox": [ 3567.136929460579, @@ -2767,7 +2821,7 @@ { "id": 116, "image_id": 61, - "category_id": 148, + "category_id": 154, "segmentation": [], "bbox": [ 933.8808903432171, @@ -2782,7 +2836,7 @@ { "id": 117, "image_id": 61, - "category_id": 130, + "category_id": 136, "segmentation": [], "bbox": [ 398.2300884955743, @@ -2797,7 +2851,7 @@ { "id": 118, "image_id": 61, - "category_id": 131, + "category_id": 137, "segmentation": [], "bbox": [ 665.840707964601, @@ -2812,7 +2866,7 @@ { "id": 119, "image_id": 61, - "category_id": 132, + "category_id": 138, "segmentation": [], "bbox": [ 1201.0619469026528, @@ -2827,7 +2881,7 @@ { "id": 120, "image_id": 62, - "category_id": 133, + "category_id": 139, "segmentation": [], "bbox": [ 1466.8757841136517, @@ -2902,7 +2956,7 @@ { "id": 125, "image_id": 65, - "category_id": 151, + "category_id": 157, "segmentation": [], "bbox": [ 2926.7772973706797, @@ -2943,6 +2997,96 @@ "ignore": 0, "iscrowd": 0, "area": 5835.005530866154 + }, + { + "id": 128, + "image_id": 68, + "category_id": 88, + "segmentation": [], + "bbox": [ + 450.3964757709253, + 358.4140969162997, + 53.920704845814996, + 60.26431718061673 + ], + "ignore": 0, + "iscrowd": 0, + "area": 3249.4944594306126 + }, + { + "id": 129, + "image_id": 69, + "category_id": 85, + "segmentation": [], + "bbox": [ + 380.6167400881057, + 1941.1453744493397, + 206.16740088105732, + 104.66960352422902 + ], + "ignore": 0, + "iscrowd": 0, + "area": 21579.460109841053 + }, + { + "id": 130, + "image_id": 69, + "category_id": 131, + "segmentation": [], + "bbox": [ + 220.59609475776048, + 576.8490206993973, + 31.127128248834328, + 32.41756461994754 + ], + "ignore": 0, + "iscrowd": 0, + "area": 1009.0656914399814 + }, + { + "id": 131, + "image_id": 70, + "category_id": 87, + "segmentation": [], + "bbox": [ + 2274.1850220264337, + 548.7224669603504, + 564.5814977973574, + 79.29515418502218 + ], + "ignore": 0, + "iscrowd": 0, + "area": 44768.57691785222 + }, + { + "id": 132, + "image_id": 71, + "category_id": 86, + "segmentation": [], + "bbox": [ + 2321.762114537443, + 1420.9691629955933, + 152.24669603524578, + 247.40088105726826 + ], + "ignore": 0, + "iscrowd": 0, + "area": 37665.966737177914 + }, + { + "id": 133, + "image_id": 72, + "category_id": 90, + "segmentation": [], + "bbox": [ + 149.07488986784142, + 1966.5198237885454, + 60.2643171806167, + 63.43612334801759 + ], + "ignore": 0, + "iscrowd": 0, + "area": 3822.9346581536565 } ], "info": { @@ -2951,6 +3095,6 @@ "description": "", "contributor": "Label Studio", "url": "", - "date_created": "2025-03-18 17:35:02.638321" + "date_created": "2025-03-22 01:15:49.383036" } } \ No newline at end of file diff --git a/config.py b/config.py index 1ef7cf5..70c43c7 100644 --- a/config.py +++ b/config.py @@ -176,8 +176,8 @@ config = { ], 'trigger_tasks': [ ["src.task.AutoCombatTask", "AutoCombatTask"], ["src.task.AutoPickTask", "AutoPickTask"], + ["src.task.AutoEnhanceEchoTask", "AutoEnhanceEchoTask"], ["src.task.SkipDialogTask", "AutoDialogTask"], - ["src.task.MouseResetTask", "MouseResetTask"], ["src.task.AutoLoginTask", "AutoLoginTask"], - ] + ], 'scene': ["src.scene.WWScene", "WWScene"], } diff --git a/deploy.txt b/deploy.txt index 6f9200a..7b0c500 100644 --- a/deploy.txt +++ b/deploy.txt @@ -3,9 +3,6 @@ ok config.py main.py ok-ww.exe -main.py -main_debug.py -main_gpu.py readme README.md README_cn.md diff --git a/i18n/en_US/LC_MESSAGES/ok.po b/i18n/en_US/LC_MESSAGES/ok.po index 09fb81b..47d15e4 100644 --- a/i18n/en_US/LC_MESSAGES/ok.po +++ b/i18n/en_US/LC_MESSAGES/ok.po @@ -650,3 +650,21 @@ msgstr "" msgid "the Nth number in the Tacet Suppression list (F2)" msgstr "" + +msgid "Auto Enhance Echo" +msgstr "" + +msgid "Auto Enhance Enhance Echo after you add EXP Material" +msgstr "" + +msgid "Login, claim monthly card, farm echo, and claim daily reward" +msgstr "" + +msgid "found do_handle_pop_up: Box(name='echo_enhance_btn', x=382, y=1939, width=206, height=105, confidence=98)" +msgstr "" + +msgid "found do_handle_pop_up: Box(name='red_dot', x=221, y=577, width=31, height=32, confidence=100)" +msgstr "" + +msgid "found red dot feature: Box(name='red_dot', x=221, y=577, width=31, height=32, confidence=100)" +msgstr "" diff --git a/i18n/zh_CN/LC_MESSAGES/ok.mo b/i18n/zh_CN/LC_MESSAGES/ok.mo index 7d959e4d8425581518748ba13683fefffb375f2f..41108f2b93f21ef7066fc1d04a3cd02b01cf5890 100644 GIT binary patch delta 2773 zcmY+_eN5F=9LMovpd}h0nh6;GB%aELQt|;GAR(jiumKZc%}jzJja1~^^oajEgSdpQnK%Zw;zPI-r(hROz)Ls|zsEUv8@XH> z4{7~$jKLxt?VRr_X=s6$Fba2Cd=R8NQEMW1YJX2k`;Ci#qd!`<Q3ZxXSnGVeU7To59q67fW~aRi`#J)$EWE&zHwF`>!^i)Ms2J>2aCp0 z7>^XwC8C~t9JyQ;H&v_zHNGx}_a8=M6CEneX0sl(V2j0Vr~@6d_$=yGT|^~t9l6{u z<|qdBd@OQCmxP)>mz(yw>~+TbQ~xnH@( z<7hr%8c#-j3v%#5T!AWiE$ZvnggQtUs$%|WYh1=uI&R<$jF=cY(0nrwb44A!GE z-fVFbYT*N@%#NWp{s{Hlm$(@FQ3)ni#}|>gt_F*72TsLnI1B&4 zY@ANI9@d~r-HfVSD{7r1sNa`P%*TtUgHPmine6XUXy~MCxM{%00^Eh#=v!1~k#XGk zn}T1Uhvj$+wP7CbK@}`R_HaI`#I0r*rW2pF_%=?}_kScWMiWy}3oSt2g3Go3=P-eI zy~Vq5FL67bz`4A5eeDL!o2XZC2Pu*Z<6*_|s5sT)EcDfpPh%lgVg|mAZ{atn1JzPL z{bFrJ#SJ)|8Rijpp)&ssNy;U7mI&&(T#JiQ6<&!H)m3}cUkkoLhunwN*lzJSUbq%W zK#iwaJjdcJ)IkbR6?-0)X`S_N#o5GfVlJLXtrL|PdTw%}A3D)vbm(i9h5EGSU?!H~ z)7XM4@ptBrsD*w)9bgD`fH8bmmEly>_$*Wcnb!Xda=CJDTJIH~2G6=}sEO}l7{#wl{^)-!D3X! zoGRwkjEW}mVj8%9G_0wJcNa&Yx z2TmvMKpp%lD#075b#G(ld>SJk4Nb^I#rddAwp)J-mJ%OE4}V836gO>eL_}})((1Jp z)s<_!rIl-I+>*N58t>npit5$gvbyTfkXKPvyXIwYV@;h`v3j+)w7keGtf1$Gigi7o zMASz=894oMps^)zxO<@UlnWf_==-oYP=Bbuch^8?WB{2%e!V~UeE*3Z@9X(K=Q+>$e!u6Q z>+97cmEL!uz;4Iie*R76-=t(k&IL#R-?7BYnHq;I06`kbCYooD#tf415aAqZE=sq0~TM$ zg{(^*>sx{AiJLKv`@4S_D8taWL`E(b6&K@!Scb*87pLIY$eykrRnZNch$@HTTnLru zG*m%FsC5hQ9xO*)ze)4l-!(JfaIa_r4ew?DKaYjPd(hj=;4=ms?g7e3!5UNotIZ9lj=YGvaT_YJ4!i|BktVvg zQP+KnTHlN6*npi6FquRgLUkq_qW>DqU_u)f*ohb_p;C*hF^#wmRnZ3Ia7|`A>iQGN zz1+K~^SaR-h`YMQzZ4TE7WZQ47w+ zR#XRjQ0p$DIx~PuWEeSIfK7Fu43B{}j-oP*VGb@ryh~m$6eP6M3i`J&CI9kXG?`2G8MJ_%Lq0 z)xTjMs)g5(y<9raMJ=9fmY@o#wzv_MXcN*@*QR;B|Hl|);Rl+)?{OCn;z@j&2dUTW zJ|4JSh-!Hm(hOH=@mh-;EpD-RAKuTpQy9bR_$o%Zsi%xSW}qLQ^QibTDv^F%f`6eZ zT})re$u(f264Z5V79T{l`Z%h2@7w%E^JjdV`9X{8vU&d6pds7ea3d;y$>J7NBCnxZ z_9m+GPf+vcu@Ha4#h5|Al~^t6{5nj$rkHq5QD4qhoR1yTJzg~iSD8?23ugEhqc)n0 z+Nd0rzzWocPuTevPzmp_`Ms#u_XujgFOkDt;6v;FKqYb$i}W2!_G}O~^UOJBx%r4$ zZ$4`_o9*Utv&-x;`^-TzaJ!#?H`xXe^IlZtWvB|OEM9?p4cud>N3g}_TT$x{;8N^B zRrgytNMhkORAns~$9Am6A8-}MXZk%}|qPt*+~`F@2(s6sI1aQuJ4xbofr diff --git a/i18n/zh_CN/LC_MESSAGES/ok.po b/i18n/zh_CN/LC_MESSAGES/ok.po index be1804f..3696c6b 100644 --- a/i18n/zh_CN/LC_MESSAGES/ok.po +++ b/i18n/zh_CN/LC_MESSAGES/ok.po @@ -484,4 +484,11 @@ msgid "Please start in game world and in team!" msgstr "请在大世界并在队伍中开始!" msgid "Can't complete daily task, may need to increase stamina manually!" -msgstr "无法完成日常任务, 可能需要手动吃体力药!" \ No newline at end of file +msgstr "无法完成日常任务, 可能需要手动吃体力药!" + +msgid "Auto Enhance Echo" +msgstr "自动强化声骸" + +msgid "Auto Enhance and Tune Echo after you add EXP Material" +msgstr "在添加经验素材后自动强化声骸和调谐" + diff --git a/requirements.txt b/requirements.txt index 8c23692..6f4f693 100644 --- a/requirements.txt +++ b/requirements.txt @@ -37,7 +37,7 @@ numpy==1.26.4 # openvino # rapidocr-openvino # shapely -ok-script==0.0.484 +ok-script==0.0.489 # via -r .\requirements.in opencv-contrib-python==4.10.0.84 # via -r .\requirements.in diff --git a/src/scene/WWScene.py b/src/scene/WWScene.py new file mode 100644 index 0000000..8d420a7 --- /dev/null +++ b/src/scene/WWScene.py @@ -0,0 +1,28 @@ +from qfluentwidgets import FluentIcon + +from ok import Logger, BaseScene +from src.task.BaseWWTask import BaseWWTask + +logger = Logger.get_logger(__name__) + + +class WWScene(BaseScene): + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self._in_team = None + self._echo_enhance_btn = None + + def reset(self): + self._in_team = None + self._echo_enhance_btn = None + + def in_team(self, fun): + if self._in_team is None: + self._in_team = fun() + return self._in_team + + def echo_enhance_btn(self, fun): + if self._echo_enhance_btn is None: + self._echo_enhance_btn = fun() + return self._echo_enhance_btn diff --git a/src/task/AutoCombatTask.py b/src/task/AutoCombatTask.py index 116b1f8..04c30a1 100644 --- a/src/task/AutoCombatTask.py +++ b/src/task/AutoCombatTask.py @@ -1,6 +1,7 @@ from qfluentwidgets import FluentIcon from ok import TriggerTask, Logger +from src.scene.WWScene import WWScene from src.task.BaseCombatTask import BaseCombatTask, NotInCombatException, CharDeadException logger = Logger.get_logger(__name__) @@ -16,6 +17,7 @@ class AutoCombatTask(BaseCombatTask, TriggerTask): self.description = "Enable auto combat in Abyss, Game World etc" self.icon = FluentIcon.CALORIES self.last_is_click = False + self.scene: WWScene | None = None self.default_config.update({ 'Auto Target': True, }) @@ -24,7 +26,11 @@ class AutoCombatTask(BaseCombatTask, TriggerTask): } def run(self): + ret = False + if not self.scene.in_team(self.in_team_and_world): + return ret while self.in_combat(): + ret = True try: self.get_current_char().perform() except CharDeadException: @@ -35,9 +41,6 @@ class AutoCombatTask(BaseCombatTask, TriggerTask): if self.debug: self.screenshot(f'auto_combat_task_out_of_combat {e}') break - self.combat_end() - - def trigger(self): - if self.in_combat(): - self.load_chars() - return True + if ret: + self.combat_end() + return ret diff --git a/src/task/AutoEnhanceEchoTask.py b/src/task/AutoEnhanceEchoTask.py new file mode 100644 index 0000000..4fa126a --- /dev/null +++ b/src/task/AutoEnhanceEchoTask.py @@ -0,0 +1,57 @@ +from qfluentwidgets import FluentIcon +from skimage.filters.rank import threshold + +from ok import FindFeature, Logger +from ok import TriggerTask +from src.scene.WWScene import WWScene +from src.task.BaseWWTask import BaseWWTask + +logger = Logger.get_logger(__name__) + + +class AutoEnhanceEchoTask(TriggerTask, BaseWWTask, FindFeature): + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self.name = "Auto Enhance Echo" + self.description = "Auto Enhance and Tune Echo after you add EXP Material" + self.icon = FluentIcon.SHOPPING_CART + self.scene: WWScene | None = None + self.default_config.update({ + '_enabled': False, + }) + + def find_echo_enhance(self): + return self.find_one('echo_enhance_btn') + + def run(self): + if self.scene.in_team(self.in_team_and_world): + return + if enhance_button := self.scene.echo_enhance_btn(self.find_echo_enhance): + wait = False + while self.find_one('echo_enhance_to', horizontal_variance=0.01): + self.click(enhance_button, after_sleep=0.5) + wait = True + if wait: + self.wait_until(lambda: self.do_handle_pop_up(1), time_out=6) + + if feature := self.wait_feature('red_dot', time_out=3) if wait else self.find_one('red_dot'): + self.log_info(f'found red dot feature: {feature}') + self.click(0.04, 0.29, after_sleep=0.5) + if enhance_button := self.find_echo_enhance(): + self.click(enhance_button, after_sleep=1) + self.wait_until(lambda: self.do_handle_pop_up(2), time_out=6) + return True + + def do_handle_pop_up(self, step): + if btn := self.find_one('echo_enhance_confirm'): + self.click(btn, after_sleep=1) + elif feature := self.find_one(['echo_enhance_btn', 'red_dot']): + self.log_info(f'found do_handle_pop_up: {feature}') + if self.debug: + self.screenshot('echo_enhance_confirm') + return True + elif step == 1: + self.click(0.51, 0.87, after_sleep=0.5) + else: + self.click(0.04, 0.16, after_sleep=0.5) diff --git a/src/task/AutoLoginTask.py b/src/task/AutoLoginTask.py index 3884bf7..a94d96a 100644 --- a/src/task/AutoLoginTask.py +++ b/src/task/AutoLoginTask.py @@ -1,6 +1,7 @@ from qfluentwidgets import FluentIcon from ok import TriggerTask, Logger +from src.scene.WWScene import WWScene from src.task.BaseWWTask import BaseWWTask logger = Logger.get_logger(__name__) @@ -15,11 +16,12 @@ class AutoLoginTask(BaseWWTask, TriggerTask): self.name = "Auto Login" self.description = "Auto Login After Game Starts" self.icon = FluentIcon.ACCEPT + self.scene: WWScene | None = None - def trigger(self): + def run(self): if self._logged_in: pass - elif self.in_team_and_world(): + elif self.scene.in_team(self.in_team_and_world): self._logged_in = True else: - self.wait_login() + return self.wait_login() diff --git a/src/task/AutoPickTask.py b/src/task/AutoPickTask.py index 6ee7b7c..8fd15d2 100644 --- a/src/task/AutoPickTask.py +++ b/src/task/AutoPickTask.py @@ -2,6 +2,7 @@ from qfluentwidgets import FluentIcon from ok import FindFeature, Logger from ok import TriggerTask +from src.scene.WWScene import WWScene from src.task.BaseWWTask import BaseWWTask logger = Logger.get_logger(__name__) @@ -14,13 +15,14 @@ class AutoPickTask(TriggerTask, BaseWWTask, FindFeature): self.name = "Auto Pick" self.description = "Auto Pick Flowers in Game World" self.icon = FluentIcon.SHOPPING_CART + self.scene: WWScene | None = None self.default_config.update({ '_enabled': True, 'Pick Up White List': ['吸收', 'Absorb'], 'Pick Up Black List': ['开始合成'] }) - def run(self): + def send_fs(self): self.send_key('f') self.sleep(0.2) self.send_key('f') @@ -28,12 +30,15 @@ class AutoPickTask(TriggerTask, BaseWWTask, FindFeature): self.send_key('f') self.sleep(0.2) - def trigger(self): + def run(self): + if not self.scene.in_team(self.in_team_and_world): + return if f := self.find_one('pick_up_f_hcenter_vcenter', box=self.f_search_box, threshold=0.8): if self.in_realm(): logger.info(f'found f in realm click f') self.send_key('f', after_sleep=1) + self.send_fs() return True dialog_search = f.copy(x_offset=f.width * 3, width_offset=f.width * 2, height_offset=f.height * 2, y_offset=-f.height, @@ -51,6 +56,7 @@ class AutoPickTask(TriggerTask, BaseWWTask, FindFeature): target_height=540) if texts: logger.info(f'found Pick Up White List {texts}') + self.send_fs() return True else: if self.config.get('Pick Up Black List'): @@ -59,4 +65,5 @@ class AutoPickTask(TriggerTask, BaseWWTask, FindFeature): if texts: logger.info(f'found Pick Up Black List: {texts}') return False + self.send_fs() return True diff --git a/src/task/SkipBaseTask.py b/src/task/SkipBaseTask.py index 2c93f26..a880c26 100644 --- a/src/task/SkipBaseTask.py +++ b/src/task/SkipBaseTask.py @@ -46,7 +46,7 @@ class SkipBaseTask(BaseWWTask, FindFeature, OCR): btn_dialog_close = self.find_one('btn_dialog_close', use_gray_scale=True, threshold=0.8) if btn_dialog_close: self.click(btn_dialog_close, move_back=True) - return + return True btn_dialog_eye = self.find_one('btn_dialog_eye', use_gray_scale=True, threshold=0.8) if btn_dialog_eye: self.has_eye_time = time.time() @@ -66,7 +66,7 @@ class SkipBaseTask(BaseWWTask, FindFeature, OCR): self.click(dots[-1]) logger.info('choose dot') self.sleep(0.2) - return + return True dialog_white_color = { diff --git a/src/task/SkipDialogTask.py b/src/task/SkipDialogTask.py index 9643686..e1f5687 100644 --- a/src/task/SkipDialogTask.py +++ b/src/task/SkipDialogTask.py @@ -14,7 +14,6 @@ class AutoDialogTask(TriggerTask, SkipBaseTask): self.name = "Skip Dialog during Quests" def run(self): - pass - - def trigger(self): - self.check_skip() + if self.scene.in_team(self.in_team_and_world): + return + return self.check_skip()