Merge branch 'master' into dev

This commit is contained in:
LmeSzinc 2023-10-30 02:40:36 +08:00
commit 103f3b6fbe
15 changed files with 43 additions and 10 deletions

View File

@ -18,7 +18,7 @@ Star Rail Instant Tea, a bot for Honkai: Star Rail, based on the next generation
## Install [![](https://img.shields.io/github/downloads/LmeSzinc/StarRailCopilot/total?color=4e4c97)](https://github.com/LmeSzinc/StarRailCopilot/releases)
Refers to [Installation tutorial](https://github.com/LmeSzinc/StarRailCopilot/wiki/Installation_cn), including easy-installer manual, use manual, manual installation tutorial.
Refers to [Installation tutorial](https://github.com/LmeSzinc/StarRailCopilot/wiki/Installation_en), including easy-installer manual, use manual, manual installation tutorial.
> **Why use emulators?** If you run a bot on the desktop client, game windows must stay at front. I guess you don't wanna baby-sit there without being able to move the mouse and keyboard while running the bot, so use the emulators.
@ -28,7 +28,7 @@ Refers to [Installation tutorial](https://github.com/LmeSzinc/StarRailCopilot/wi
## Development
Discord https://discord.gg/aJkt3mKDEr QQ Group 752620927
Discord https://discord.gg/aJkt3mKDEr
- [Minimap Tracking](https://github.com/LmeSzinc/StarRailCopilot/wiki/MinimapTracking)

View File

@ -12,14 +12,14 @@ Star Rail Copilot, un bot para Honkai: Star Rail, basado en la siguiente generac
- **Farmeo automático AFK**: El bot lo hace todo de manera automática, abre los emuladores, completa las misiones y realiza las tareas diarias.
## Instalación [![](https://img.shields.io/github/downloads/LmeSzinc/StarRailCopilot/total?color=4e4c97)](https://github.com/LmeSzinc/StarRailCopilot/releases)
Dirígete a la [Guía de Instalación](https://github.com/LmeSzinc/StarRailCopilot/wiki/Installation_cn) para consultar cómo hacer la instalación automática, el manual de uso, etc.
Dirígete a la [Guía de Instalación](https://github.com/LmeSzinc/StarRailCopilot/wiki/Installation_en) para consultar cómo hacer la instalación automática, el manual de uso, etc.
> **¿Por qué usar un emulador?** Si ejecutas el bot en la versión de escritorio, la ventana debe de estar al frente. Imagino que no quieres quedarte esperando sin poder mover el ratón y teclado mientras el bot se ejecuta. Por esto se usa emulador.
> **¿Cómo es el rendimiento?** Con un 8700k + 1080 Ti y usando el emulador MuMu12 con los gráficos en Muy Alto, se obtienen 40 FPS. No debería ser un problema ejecutar el juego en gráficos al máximo y tener 60 FPS si tienes un PC más nuevo.
## Desarrollo
Discord: https://discord.gg/aJkt3mKDEr | Grupo de QQ: 752620927
Discord: https://discord.gg/aJkt3mKDEr
- [Seguimiento del Minimapa](https://github.com/LmeSzinc/StarRailCopilot/wiki/MinimapTracking)
- Documentación para desarrolladores (el menú está en la barra lateral): [Wiki de ALAS](https://github.com/LmeSzinc/AzurLaneAutoScript/wiki/1.-Start) (en Chino). Sin embargo, hay un montón de código nuevo, por lo que es recomendado leer el código fuente y el historial de commits.

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 KiB

After

Width:  |  Height:  |  Size: 80 KiB

View File

@ -81,5 +81,11 @@ def release_resources(next_task=''):
# logger.info(f'Release {obj}')
obj.resource_release()
# If no task, check in-game text language again at next run
# cause user may change it
if not next_task:
from tasks.base.main_page import MainPage
MainPage._lang_checked = False
# Useless in most cases, but just call it
# gc.collect()

View File

@ -354,6 +354,7 @@
"DanHengImbibitorLunae",
"FuXuan",
"Gepard",
"Guinaifen",
"Herta",
"Himeko",
"Hook",
@ -373,6 +374,7 @@
"SilverWolf",
"Sushang",
"Tingyun",
"TopazandNumby",
"TrailblazerDestruction",
"TrailblazerPreservation",
"Welt",

View File

@ -53,7 +53,7 @@ class GeneratedConfig:
# Group `DungeonSupport`
DungeonSupport_Use = 'when_daily' # always_use, when_daily, do_not_use
DungeonSupport_Character = 'FirstCharacter' # FirstCharacter, Arlan, Asta, Bailu, Blade, Bronya, Clara, DanHeng, DanHengImbibitorLunae, FuXuan, Gepard, Herta, Himeko, Hook, JingYuan, Jingliu, Kafka, Luka, Luocha, Lynx, March7th, Natasha, Pela, Qingque, Sampo, Seele, Serval, SilverWolf, Sushang, Tingyun, TrailblazerDestruction, TrailblazerPreservation, Welt, Yanqing, Yukong
DungeonSupport_Character = 'FirstCharacter' # FirstCharacter, Arlan, Asta, Bailu, Blade, Bronya, Clara, DanHeng, DanHengImbibitorLunae, FuXuan, Gepard, Guinaifen, Herta, Himeko, Hook, JingYuan, Jingliu, Kafka, Luka, Luocha, Lynx, March7th, Natasha, Pela, Qingque, Sampo, Seele, Serval, SilverWolf, Sushang, Tingyun, TopazandNumby, TrailblazerDestruction, TrailblazerPreservation, Welt, Yanqing, Yukong
# Group `DungeonStorage`
DungeonStorage_TrailblazePower = {}

View File

@ -91,7 +91,7 @@ class ConfigGenerator:
options=[dungeon.name for dungeon in DungeonList.instances.values() if dungeon.is_Echo_of_War])
# Insert characters
from tasks.character.keywords import CharacterList
unsupported_characters = ["Guinaifen", "TopazandNumby"]
unsupported_characters = []
characters = [character.name for character in CharacterList.instances.values()
if character.name not in unsupported_characters]
option_add(keys='DungeonSupport.Character.option', options=characters)
@ -604,7 +604,8 @@ class ConfigUpdater:
value = deep_get(old, keys=keys, default=data['value'])
typ = data['type']
display = data.get('display')
if is_template or value is None or value == '' or typ == 'lock' or (display == 'hide' and typ != 'stored'):
if is_template or value is None or value == '' \
or typ in ['lock', 'state'] or (display == 'hide' and typ != 'stored'):
value = data['value']
value = parse_value(value, data=data)
deep_set(new, keys=keys, value=value)

View File

@ -366,6 +366,7 @@
"DanHengImbibitorLunae": "Dan Heng • Imbibitor Lunae",
"FuXuan": "Fu Xuan",
"Gepard": "Gepard",
"Guinaifen": "Guinaifen",
"Herta": "Herta",
"Himeko": "Himeko",
"Hook": "Hook",
@ -385,6 +386,7 @@
"SilverWolf": "Silver Wolf",
"Sushang": "Sushang",
"Tingyun": "Tingyun",
"TopazandNumby": "Topaz and Numby",
"TrailblazerDestruction": "Trailblazer Destruction",
"TrailblazerPreservation": "Trailblazer Preservation",
"Welt": "Welt",

View File

@ -366,6 +366,7 @@
"DanHengImbibitorLunae": "Dan Heng - Imbibitor Lunae",
"FuXuan": "Fu Xuan",
"Gepard": "Gepard",
"Guinaifen": "Guinaifen",
"Herta": "Herta",
"Himeko": "Himeko",
"Hook": "Hook",
@ -385,6 +386,7 @@
"SilverWolf": "Silver Wolf",
"Sushang": "Sushang",
"Tingyun": "Tingyun",
"TopazandNumby": "Topaz y Conti",
"TrailblazerDestruction": "Trailblazer de Destrucción",
"TrailblazerPreservation": "Trailblazer de Conservación",
"Welt": "Welt",

View File

@ -366,6 +366,7 @@
"DanHengImbibitorLunae": "丹恒・飲月",
"FuXuan": "符玄",
"Gepard": "ジェパード",
"Guinaifen": "桂乃芬",
"Herta": "ヘルタ",
"Himeko": "姫子",
"Hook": "フック",
@ -385,6 +386,7 @@
"SilverWolf": "銀狼",
"Sushang": "素裳",
"Tingyun": "停雲",
"TopazandNumby": "トパーズ&カブ",
"TrailblazerDestruction": "開拓者・壊滅",
"TrailblazerPreservation": "開拓者・存護",
"Welt": "ヴェルト",

View File

@ -366,6 +366,7 @@
"DanHengImbibitorLunae": "丹恒•饮月",
"FuXuan": "符玄",
"Gepard": "杰帕德",
"Guinaifen": "桂乃芬",
"Herta": "黑塔",
"Himeko": "姬子",
"Hook": "虎克",
@ -385,6 +386,7 @@
"SilverWolf": "银狼",
"Sushang": "素裳",
"Tingyun": "停云",
"TopazandNumby": "托帕&账账",
"TrailblazerDestruction": "开拓者•毁灭",
"TrailblazerPreservation": "开拓者•存护",
"Welt": "瓦尔特",

View File

@ -366,6 +366,7 @@
"DanHengImbibitorLunae": "丹恆•飲月",
"FuXuan": "符玄",
"Gepard": "傑帕德",
"Guinaifen": "桂乃芬",
"Herta": "黑塔",
"Himeko": "姬子",
"Hook": "虎克",
@ -385,6 +386,7 @@
"SilverWolf": "銀狼",
"Sushang": "素裳",
"Tingyun": "停雲",
"TopazandNumby": "托帕&帳帳",
"TrailblazerDestruction": "開拓者•毀滅",
"TrailblazerPreservation": "開拓者•存護",
"Welt": "瓦爾特",

View File

@ -8,6 +8,7 @@ from tasks.base.assets.assets_base_page import MAP_EXIT
from tasks.base.main_page import MainPage
from tasks.base.page import Page, page_main
from tasks.combat.assets.assets_combat_finish import COMBAT_EXIT
from tasks.combat.assets.assets_combat_interact import MAP_LOADING
from tasks.combat.assets.assets_combat_prepare import COMBAT_PREPARE
from tasks.daily.assets.assets_daily_trial import INFO_CLOSE
from tasks.login.assets.assets_login import LOGIN_CONFIRM
@ -79,6 +80,19 @@ class UI(MainPage):
if self.ui_additional():
timeout.reset()
continue
if self.handle_popup_single():
timeout.reset()
continue
if self.handle_popup_confirm():
timeout.reset()
continue
if self.appear_then_click(LOGIN_CONFIRM, interval=5):
timeout.reset()
continue
if self.appear(MAP_LOADING, interval=5):
logger.info('Map loading')
timeout.reset()
continue
app_check()
minicap_check()
@ -138,13 +152,13 @@ class UI(MainPage):
continue
# Additional
if self.ui_additional():
continue
if self.handle_popup_single():
continue
if self.handle_popup_confirm():
continue
if self.ui_additional():
continue
if self.appear_then_click(LOGIN_CONFIRM):
if self.appear_then_click(LOGIN_CONFIRM, interval=5):
continue
# Reset connection