Compare commits
4 Commits
db813c9efb
...
1b83b7077f
| Author | SHA1 | Date | |
|---|---|---|---|
| 1b83b7077f | |||
| f1e3cd9810 | |||
| f91fc2c55d | |||
| d82e206463 |
@ -6,6 +6,8 @@
|
||||
|
||||
**| English | [简体中文](README.md) |**
|
||||
|
||||

|
||||
|
||||
## Features
|
||||
|
||||
The script is still under active development. The following features have been implemented:
|
||||
|
||||
BIN
assets/jp/base/popup/AP_EXCEED.BUTTON.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
assets/jp/base/popup/AP_EXCEED.png
Normal file
|
After Width: | Height: | Size: 6.6 KiB |
BIN
assets/jp/base/popup/ITEM_EXPIRED.BUTTON.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
assets/jp/base/popup/ITEM_EXPIRED.png
Normal file
|
After Width: | Height: | Size: 6.2 KiB |
BIN
assets/jp/login/UPDATE.BUTTON.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
assets/jp/login/UPDATE.png
Normal file
|
After Width: | Height: | Size: 9.5 KiB |
BIN
docs/resources/gui_en.png
Normal file
|
After Width: | Height: | Size: 215 KiB |
@ -13,6 +13,16 @@ AFFECTION_LEVEL_UP = ButtonWrapper(
|
||||
button=(882, 244, 1176, 476),
|
||||
),
|
||||
)
|
||||
AP_EXCEED = ButtonWrapper(
|
||||
name='AP_EXCEED',
|
||||
jp=Button(
|
||||
file='./assets/jp/base/popup/AP_EXCEED.png',
|
||||
area=(610, 124, 669, 153),
|
||||
search=(590, 104, 689, 173),
|
||||
color=(139, 153, 168),
|
||||
button=(535, 494, 746, 565),
|
||||
),
|
||||
)
|
||||
DAILY_NEWS = ButtonWrapper(
|
||||
name='DAILY_NEWS',
|
||||
jp=Button(
|
||||
@ -63,6 +73,16 @@ GET_REWARD_SKIP = ButtonWrapper(
|
||||
button=(1137, 34, 1243, 65),
|
||||
),
|
||||
)
|
||||
ITEM_EXPIRED = ButtonWrapper(
|
||||
name='ITEM_EXPIRED',
|
||||
jp=Button(
|
||||
file='./assets/jp/base/popup/ITEM_EXPIRED.png',
|
||||
area=(612, 147, 668, 175),
|
||||
search=(592, 127, 688, 195),
|
||||
color=(131, 145, 162),
|
||||
button=(537, 487, 742, 553),
|
||||
),
|
||||
)
|
||||
NETWORK_RECONNECT = ButtonWrapper(
|
||||
name='NETWORK_RECONNECT',
|
||||
jp=Button(
|
||||
|
||||
@ -87,3 +87,15 @@ class PopupHandler(ModuleBase):
|
||||
return True
|
||||
|
||||
return False
|
||||
|
||||
def handle_ap_exceed(self, interval=5) -> bool:
|
||||
if self.appear_then_click(AP_EXCEED, interval=interval):
|
||||
return True
|
||||
|
||||
return False
|
||||
|
||||
def handle_item_expired(self, interval=5) -> bool:
|
||||
if self.appear_then_click(ITEM_EXPIRED, interval=interval):
|
||||
return True
|
||||
|
||||
return False
|
||||
|
||||
@ -343,6 +343,10 @@ class UI(MainPage):
|
||||
return True
|
||||
if self.handle_new_student():
|
||||
return True
|
||||
if self.handle_ap_exceed():
|
||||
return True
|
||||
if self.handle_item_expired():
|
||||
return True
|
||||
|
||||
return False
|
||||
|
||||
|
||||
@ -23,3 +23,13 @@ LOGIN_LOADING = ButtonWrapper(
|
||||
button=(34, 682, 60, 707),
|
||||
),
|
||||
)
|
||||
UPDATE = ButtonWrapper(
|
||||
name='UPDATE',
|
||||
jp=Button(
|
||||
file='./assets/jp/login/UPDATE.png',
|
||||
area=(526, 87, 756, 117),
|
||||
search=(506, 67, 776, 137),
|
||||
color=(183, 192, 201),
|
||||
button=(666, 527, 872, 595),
|
||||
),
|
||||
)
|
||||
|
||||
@ -3,8 +3,7 @@ from module.exception import GameNotRunningError
|
||||
from module.logger import logger
|
||||
from tasks.base.page import page_main
|
||||
from tasks.base.ui import UI
|
||||
# from tasks.login.assets.assets_login import LOGIN_CONFIRM, USER_AGREEMENT_ACCEPT, LOGIN_LOADING
|
||||
from tasks.login.assets.assets_login import LOGIN_CONFIRM, LOGIN_LOADING
|
||||
from tasks.login.assets.assets_login import LOGIN_CONFIRM, LOGIN_LOADING, UPDATE
|
||||
|
||||
|
||||
class Login(UI):
|
||||
@ -77,6 +76,8 @@ class Login(UI):
|
||||
# continue
|
||||
# if self.handle_popup_confirm():
|
||||
# continue
|
||||
if self.appear_then_click(UPDATE):
|
||||
continue
|
||||
if self.ui_additional():
|
||||
continue
|
||||
|
||||
|
||||
@ -116,8 +116,8 @@ class TacticalChallenge(UI):
|
||||
if self.appear_then_click(CHALLENGE_LOSE):
|
||||
return TCStatus.LOSE
|
||||
case TCStatus.WIN | TCStatus.LOSE:
|
||||
if self.appear(CHALLENGE_WIN) or self.appear(CHALLENGE_LOSE):
|
||||
return TCStatus.RESULT
|
||||
if self.appear_then_click(CHALLENGE_WIN) or self.appear_then_click(CHALLENGE_LOSE):
|
||||
return status
|
||||
is_valid, ticket = self._get_ticket()
|
||||
if not is_valid:
|
||||
return status
|
||||
|
||||