Merge dev branch to master

This commit is contained in:
W1NDes 2025-11-13 16:38:48 +08:00
commit c539f3ad32
3 changed files with 18 additions and 7 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View File

@ -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'})

View File

@ -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