diff --git a/assets/cn/smallevent/EVENT_PREPARE_PAGE_2.png b/assets/cn/smallevent/EVENT_PREPARE_PAGE_2.png index 0775ce18e..13aa24d44 100644 Binary files a/assets/cn/smallevent/EVENT_PREPARE_PAGE_2.png and b/assets/cn/smallevent/EVENT_PREPARE_PAGE_2.png differ diff --git a/module/smallevent/assets.py b/module/smallevent/assets.py index 5ccefc309..02cdbd116 100644 --- a/module/smallevent/assets.py +++ b/module/smallevent/assets.py @@ -16,7 +16,7 @@ EVENT_PREPARE_ENTRY = Button(area={'cn': (1077, 165, 1145, 188), 'en': (1077, 16 EVENT_PREPARE_ENTRY_2 = Button(area={'cn': (1073, 165, 1147, 186), 'en': (1073, 165, 1147, 186), 'jp': (1073, 165, 1147, 186), 'tw': (1073, 165, 1147, 186)}, color={'cn': (127, 126, 130), 'en': (127, 126, 130), 'jp': (127, 126, 130), 'tw': (127, 126, 130)}, button={'cn': (1073, 165, 1147, 186), 'en': (1073, 165, 1147, 186), 'jp': (1073, 165, 1147, 186), 'tw': (1073, 165, 1147, 186)}, file={'cn': './assets/cn/smallevent/EVENT_PREPARE_ENTRY_2.png', 'en': './assets/cn/smallevent/EVENT_PREPARE_ENTRY_2.png', 'jp': './assets/cn/smallevent/EVENT_PREPARE_ENTRY_2.png', 'tw': './assets/cn/smallevent/EVENT_PREPARE_ENTRY_2.png'}) EVENT_PREPARE_ENTRY_3 = Button(area={'cn': (967, 165, 1036, 185), 'en': (967, 165, 1036, 185), 'jp': (967, 165, 1036, 185), 'tw': (967, 165, 1036, 185)}, color={'cn': (127, 126, 128), 'en': (127, 126, 128), 'jp': (127, 126, 128), 'tw': (127, 126, 128)}, button={'cn': (967, 165, 1036, 185), 'en': (967, 165, 1036, 185), 'jp': (967, 165, 1036, 185), 'tw': (967, 165, 1036, 185)}, file={'cn': './assets/cn/smallevent/EVENT_PREPARE_ENTRY_3.png', 'en': './assets/cn/smallevent/EVENT_PREPARE_ENTRY_3.png', 'jp': './assets/cn/smallevent/EVENT_PREPARE_ENTRY_3.png', 'tw': './assets/cn/smallevent/EVENT_PREPARE_ENTRY_3.png'}) EVENT_PREPARE_PAGE = Button(area={'cn': (92, 18, 213, 48), 'en': (92, 18, 213, 48), 'jp': (92, 18, 213, 48), 'tw': (92, 18, 213, 48)}, color={'cn': (100, 105, 116), 'en': (100, 105, 116), 'jp': (100, 105, 116), 'tw': (100, 105, 116)}, button={'cn': (92, 18, 213, 48), 'en': (92, 18, 213, 48), 'jp': (92, 18, 213, 48), 'tw': (92, 18, 213, 48)}, file={'cn': './assets/cn/smallevent/EVENT_PREPARE_PAGE.png', 'en': './assets/cn/smallevent/EVENT_PREPARE_PAGE.png', 'jp': './assets/cn/smallevent/EVENT_PREPARE_PAGE.png', 'tw': './assets/cn/smallevent/EVENT_PREPARE_PAGE.png'}) -EVENT_PREPARE_PAGE_2 = Button(area={'cn': (92, 18, 213, 48), 'en': (92, 18, 213, 48), 'jp': (92, 18, 213, 48), 'tw': (92, 18, 213, 48)}, color={'cn': (97, 102, 111), 'en': (97, 102, 111), 'jp': (97, 102, 111), 'tw': (97, 102, 111)}, button={'cn': (92, 18, 213, 48), 'en': (92, 18, 213, 48), 'jp': (92, 18, 213, 48), 'tw': (92, 18, 213, 48)}, file={'cn': './assets/cn/smallevent/EVENT_PREPARE_PAGE_2.png', 'en': './assets/cn/smallevent/EVENT_PREPARE_PAGE_2.png', 'jp': './assets/cn/smallevent/EVENT_PREPARE_PAGE_2.png', 'tw': './assets/cn/smallevent/EVENT_PREPARE_PAGE_2.png'}) +EVENT_PREPARE_PAGE_2 = Button(area={'cn': (87, 3, 221, 68), 'en': (87, 3, 221, 68), 'jp': (87, 3, 221, 68), 'tw': (87, 3, 221, 68)}, color={'cn': (85, 88, 97), 'en': (85, 88, 97), 'jp': (85, 88, 97), 'tw': (85, 88, 97)}, button={'cn': (87, 3, 221, 68), 'en': (87, 3, 221, 68), 'jp': (87, 3, 221, 68), 'tw': (87, 3, 221, 68)}, file={'cn': './assets/cn/smallevent/EVENT_PREPARE_PAGE_2.png', 'en': './assets/cn/smallevent/EVENT_PREPARE_PAGE_2.png', 'jp': './assets/cn/smallevent/EVENT_PREPARE_PAGE_2.png', 'tw': './assets/cn/smallevent/EVENT_PREPARE_PAGE_2.png'}) EVENT_PREPARE_PAGE_3 = Button(area={'cn': (96, 21, 221, 58), 'en': (96, 21, 221, 58), 'jp': (96, 21, 221, 58), 'tw': (96, 21, 221, 58)}, color={'cn': (79, 85, 96), 'en': (79, 85, 96), 'jp': (79, 85, 96), 'tw': (79, 85, 96)}, button={'cn': (96, 21, 221, 58), 'en': (96, 21, 221, 58), 'jp': (96, 21, 221, 58), 'tw': (96, 21, 221, 58)}, file={'cn': './assets/cn/smallevent/EVENT_PREPARE_PAGE_3.png', 'en': './assets/cn/smallevent/EVENT_PREPARE_PAGE_3.png', 'jp': './assets/cn/smallevent/EVENT_PREPARE_PAGE_3.png', 'tw': './assets/cn/smallevent/EVENT_PREPARE_PAGE_3.png'}) NINJA_BATTLE_ENTRY = Button(area={'cn': (1102, 545, 1213, 667), 'en': (1102, 545, 1213, 667), 'jp': (1102, 545, 1213, 667), 'tw': (1102, 545, 1213, 667)}, color={'cn': (71, 79, 77), 'en': (71, 79, 77), 'jp': (71, 79, 77), 'tw': (71, 79, 77)}, button={'cn': (1102, 545, 1213, 667), 'en': (1102, 545, 1213, 667), 'jp': (1102, 545, 1213, 667), 'tw': (1102, 545, 1213, 667)}, file={'cn': './assets/cn/smallevent/NINJA_BATTLE_ENTRY.png', 'en': './assets/cn/smallevent/NINJA_BATTLE_ENTRY.png', 'jp': './assets/cn/smallevent/NINJA_BATTLE_ENTRY.png', 'tw': './assets/cn/smallevent/NINJA_BATTLE_ENTRY.png'}) NINJA_BATTLE_GOHOME = Button(area={'cn': (1197, 49, 1238, 79), 'en': (1197, 49, 1238, 79), 'jp': (1197, 49, 1238, 79), 'tw': (1197, 49, 1238, 79)}, color={'cn': (65, 101, 101), 'en': (65, 101, 101), 'jp': (65, 101, 101), 'tw': (65, 101, 101)}, button={'cn': (1197, 49, 1238, 79), 'en': (1197, 49, 1238, 79), 'jp': (1197, 49, 1238, 79), 'tw': (1197, 49, 1238, 79)}, file={'cn': './assets/cn/smallevent/NINJA_BATTLE_GOHOME.png', 'en': './assets/cn/smallevent/NINJA_BATTLE_GOHOME.png', 'jp': './assets/cn/smallevent/NINJA_BATTLE_GOHOME.png', 'tw': './assets/cn/smallevent/NINJA_BATTLE_GOHOME.png'}) diff --git a/module/smallevent/samllevent.py b/module/smallevent/samllevent.py index 35e5e9a57..d61acce7e 100644 --- a/module/smallevent/samllevent.py +++ b/module/smallevent/samllevent.py @@ -4,6 +4,7 @@ import re from datetime import datetime, timedelta from module.base.button import ButtonGrid +from module.ocr.ocr import Ocr from module.ui.ui import UI from module.ui.page import page_main from module.smallevent.assets import * @@ -314,6 +315,7 @@ class SmallEvent(UI): continue def goto_sevenD_page(self,page_area,orc_api,button_text,exclude_text,skip_first_screenshot=True): + #活动汇总 self.ui_ensure(page_main) CLICK_COUNT = 0 NOCLICK_COUNT = 0 @@ -391,10 +393,13 @@ class SmallEvent(UI): break return False,None - def goto_sevenD_page_v2(self,page_area,orc_api,button_text,exclude_text,skip_first_screenshot=True):#for the event prepare page + def goto_sevenD_page_v2(self,page_area,orc_api,button_text,exclude_text,skip_first_screenshot=True): + #for the event prepare page 从左到右第二个入口 self.ui_ensure(page_main) NOCLICK_COUNT = 0 NOCLICK_TIMER =Timer(3,count=10) + entry_ocr = Ocr(EVENT_PREPARE_ENTRY_2, lang='cnocr', name='OCR_ENTRY_2', letter=(255, 255, 255), threshold=128) + entried = False while 1: if skip_first_screenshot: skip_first_screenshot = False @@ -404,6 +409,11 @@ class SmallEvent(UI): continue if self.appear_then_click(EVENT_PREPARE_ENTRY_2, offset=(5, 5), interval=3): continue + if not entried and "限时活动" in entry_ocr.ocr(self.device.image): + logger.info("发现限时活动入口") + self.device.click(EVENT_PREPARE_ENTRY_2) + entried = True + continue if self.appear(EVENT_PREPARE_PAGE, offset=(5,5)) or self.appear(EVENT_PREPARE_PAGE_2, offset=(5,5)): all_words = self.recognize_activity_page(self.device.image,page_area,orc_api) @@ -441,7 +451,8 @@ class SmallEvent(UI): break return False,None - def goto_sevenD_page_v3(self,page_area,orc_api,button_text,exclude_text,skip_first_screenshot=True):#for the event prepare page + def goto_sevenD_page_v3(self,page_area,orc_api,button_text,exclude_text,skip_first_screenshot=True): + #从右到左第三个入口 self.ui_ensure(page_main) NOCLICK_COUNT = 0 NOCLICK_TIMER =Timer(3,count=10) @@ -596,7 +607,7 @@ class SmallEvent(UI): logger.warning("未成功进入七天小任务页面") def run(self): - if datetime.now() < datetime(2025, 10, 24, 12, 0, 0):#eventSet + if datetime.now() < datetime(2025, 12, 4, 12, 0, 0):#eventSet # ninja_city_result = self.ninja_city() # if ninja_city_result: # logger.info("ninja_city success") @@ -606,9 +617,9 @@ class SmallEvent(UI): if ORC_API: page_area = (281, 79, 1254, 560) self.sevenD_harvest(page_area,ORC_API,goto_sevenD_page_func=self.goto_sevenD_page) - # page_area = (0, 0, 1280, 720) - # self.sevenD_harvest(page_area,ORC_API,goto_sevenD_page_func=self.goto_sevenD_page_v2, - # button_text="的邀约",exclude_text=["无"])#eventSet + page_area = (0, 0, 1280, 720) + self.sevenD_harvest(page_area,ORC_API,goto_sevenD_page_func=self.goto_sevenD_page_v2, + button_text="赛道上的等候",exclude_text=["无"])#eventSet # page_area = (0, 0, 1280, 720) # self.sevenD_harvest(page_area,ORC_API,goto_sevenD_page_func=self.goto_sevenD_page_v3, # button_text="纪念签到",exclude_text=["无"])#eventSet