From ff60964a0da7e9ff6da19f529f1090b36e5a80fe Mon Sep 17 00:00:00 2001 From: LmeSzinc <37934724+LmeSzinc@users.noreply.github.com> Date: Tue, 26 Dec 2023 23:44:20 +0800 Subject: [PATCH 1/5] Add: Dialogue clicker --- assets/share/base/daemon/CHAT_CLOSE.png | Bin 0 -> 6832 bytes .../share/base/daemon/CHAT_OPTION.BUTTON.png | Bin 0 -> 10423 bytes assets/share/base/daemon/CHAT_OPTION.png | Bin 0 -> 5977 bytes .../share/base/daemon/STORY_NEXT.BUTTON.png | Bin 0 -> 19203 bytes assets/share/base/daemon/STORY_NEXT.png | Bin 0 -> 6006 bytes .../share/base/daemon/STORY_OPTION.BUTTON.png | Bin 0 -> 23255 bytes assets/share/base/daemon/STORY_OPTION.png | Bin 0 -> 6359 bytes tasks/base/assets/assets_base_daemon.py | 45 ++++++++++++++ tasks/base/daemon.py | 58 ++++++++++++++++++ tasks/base/ui.py | 5 +- 10 files changed, 106 insertions(+), 2 deletions(-) create mode 100644 assets/share/base/daemon/CHAT_CLOSE.png create mode 100644 assets/share/base/daemon/CHAT_OPTION.BUTTON.png create mode 100644 assets/share/base/daemon/CHAT_OPTION.png create mode 100644 assets/share/base/daemon/STORY_NEXT.BUTTON.png create mode 100644 assets/share/base/daemon/STORY_NEXT.png create mode 100644 assets/share/base/daemon/STORY_OPTION.BUTTON.png create mode 100644 assets/share/base/daemon/STORY_OPTION.png create mode 100644 tasks/base/assets/assets_base_daemon.py create mode 100644 tasks/base/daemon.py diff --git a/assets/share/base/daemon/CHAT_CLOSE.png b/assets/share/base/daemon/CHAT_CLOSE.png new file mode 100644 index 0000000000000000000000000000000000000000..6d177e680fdfb72fb0d15e66c3b9b8e8889d7653 GIT binary patch literal 6832 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 literal 0 HcmV?d00001 diff --git a/assets/share/base/daemon/CHAT_OPTION.BUTTON.png b/assets/share/base/daemon/CHAT_OPTION.BUTTON.png new file mode 100644 index 0000000000000000000000000000000000000000..4a0f4255882ed4cd25bea58b14eaa71a648ab7ee GIT binary patch literal 10423 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 literal 0 HcmV?d00001 diff --git a/assets/share/base/daemon/STORY_NEXT.BUTTON.png b/assets/share/base/daemon/STORY_NEXT.BUTTON.png new file mode 100644 index 0000000000000000000000000000000000000000..4b4a8e0d644b21e335966ca3031a38fc0032143b GIT binary patch literal 19203 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

6bHLWzk3K)_77Qd97gSX%EVN48YxMo+KDs!T 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ν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 AO#lD@ literal 0 HcmV?d00001 diff --git a/assets/share/base/daemon/STORY_OPTION.BUTTON.png b/assets/share/base/daemon/STORY_OPTION.BUTTON.png new file mode 100644 index 0000000000000000000000000000000000000000..045bfc589d5b8ecc9312d5827314eed850843417 GIT binary patch literal 23255 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 vGXAd&hxyO{_|FRbKU{%3yHB zLlG22dPk&$B1HPb_x&H8Nj5m13;_epr!_c*}HhUc-XtR@@lH7@w&RZ*g7Dd z0N^{CuJ2JmdLQ0chgd+QGMjx}~(G!#-3$L+}MA;n>A&M{rXw z^tSv6PqZ$ywF@6i&I+BT(Es}rjD7DkXo3q z5#Wsl)BH?J=g4C8K~12t~uUJ71qip*<+4bz2|uAw+68E7OV_9ovOlxD#te&+Dm+L)f@n{7svt6D=Y zGuqP3^QR@J3NS;LD75>|1HiF2&~z-P6tlEAKeK4NgdqNE%RYA6aN$?v+nhSCdreLW z81MHJM=ci?hACV-$liN3I2D?KQA1!qwPztcMw4ku`x(6#fs#8^=FZ51b>8N>M0@Vs znvhKv{@PrG;)(Q(%XCEG?y2^847~x|Fv=+y0 zxK2hML2o?h4U_}7#b0xriv^5!GEyiK0Pzib(aNG^pf@>p4uHBJ?B)dt5bbtq0PbWy zz4Bh=?D-}ZY$JVI6IWd$gxvbf9p&?ajkg(9&&&s3qRnDYQn~oBQGSH7>OBQV<^{|Q zV`Y=19Np41lljvXSI8MF_Karsx-c3_l}>7AYd-lG7i^+N`1`0KDN&UC)=-(a;9TD2 z7c39>+dAEI$qQ8-V=bTpTjK64HzUoJ_hZI7d8J+*zN*uZOnCa?0mWBxFXfK~JRGmu zGd%`8Wf&}ild_!#I4Zdnf~&Lh2k!mw@&o~|qTs;;lJvH(zgwHX4p+B&Y0M$q!3JM2 zmNkr)g>xC-@Mh&~%&;a>3zA0!Gp|xVdd}F4coq|*VXSSeRv@%0P{~wFZA26DT(bEe z{`dmjN+C4UUaPN-e0hxVU99jrA2(ly(4&9onJwd?g7jT+^Y>}_gkq#L&uKbA$Drc5 z`nigOj1Fnq!YeVzuE}}o55ZX89(4L~c6n(z5?7xUR`E=r_m=TUu0PU(Dj?VA*5 zirpKAH!cRoS9Y)Xv&MEaCCVonCI%)h6+JZYFi;vo6`gxnY`{?b$S@%9u0aKCu8`&{ zTk%jKm%*pP>!p2qK6=rx{s)#h^_EA^_Th9N!b0z6hCy>4!fVOFh{%RvmUX zq*xJidZS}w_F->T+nefu(_6w%TVKti$QElGYn#64)=Ng;UOv5X^Lv_BA739`pPx8| zxRQAJuw#jBNnpv1QS@m2sLh)D8r#~+DACI`T{&GWeMcTCPx7LvyKq;JI;4hWdKUMTDdre4{4@{=?~w18!jB`AoqD zf_-glt9{OZX3jr2;q`F4IayzbqAk|tk_}d7^2xZnBuJx|aE^@b@tLG9E*YGXRTmJ5zUOnCj*SeM58JU*C*20!$BRfvJERXbUSxDZ! z7y?tWcQQmDng1%^`7N4|xWKVqJ6QE)Cnxn&>Uha_j=1D&g>oLv?z3PhD( z8zkddx1PE5{M7vB?U*HrN8XQ29v$Ghbt}?@Gls7rJI7khrtt(nD|tnQC;NTN6pHPN z1pnFVRqUe33Uv?{!u^B`YBV5HOL zF%OeG;iU`X*&iW`%YB3lpW7y~CNchUp>LRyKPWAP@T$Tj*mW23oprdFx1Ohl>Z;dg zM`k}Lufb{Ej$2GOOx%^5xD}wbZy%<6*Q;HcMpsW16?-x6qrkR~;ho`0Z2xz+@8UNT z(h|~g^ynOtDn-9ts}ZTuwG|bOr<+GDBD*=`!@EiI0(&0YW2}f!?SY(1y;2xGo3=!O zsIM8jnJ*5Chnjwsp0YjuxhHV$8Jj;o<~d?KqGR%q znPJcsNTMay6~(qrT=OkSI9^_v(<1Hp<9M7g5;Un|~HR zm;X3FBmKUT!q=2>6iNFq#mVA<1>R1rKSK%PxvpJfN$T33T#B~XsB`_rPqG;ks<~I9 zP^zF2=z25*Ei-djc|szr8Qm`R{H3#UYk>GAXy37M$m84ZZ&xkeqVUA_Rn8h`;fYH) zq1v6_-n(lMAKG>8aSL>`Z`on}=+V!!`wTyWDv!&bG$N;eTQyqsx0o;x>1o0q9AQ<{g&wjRg>K#M-G2JWqgfQ076KqR1c1GhQ@IR)*EIlsS^*&c1^|dloMqcx0O%<- z@2EWV9bKIuIB^+(j!kI~7pCnZWc;vw4}O5ntSWD$NJRBYLFR8T^*bELY>s^fZw_G^4orATkol%y{4x$fBwLK z*IxpE3H&ASm%v{F|91p3$C+pVF#Iejci5FNQ8GNJ#-QZxYExSqSTOiK@j1H<_OT>G zmT7B>gd!8|^hp{2>F|Me)R1J^fSfPAcX{EwIk{}x7%L2 zWr6dja}4(t?t=ceX>}))e%BEr@3Rb3vOa{73{Ot7=PqueUl3k{% z#h=IIIRphwb+Vd`jty?MgxhjfXjX}*D)6xclbr{!Ei(V6HaCZI@#^)D2c=V%-d{y{rpIio@41(PG5c)x>y2l zyS7+7R*P&FMo2D92!R)7K|m_J}S@z0hDChO)sy$Afk2mSyD z;7_ig5u7;Y9?IywXMR@dxL%HpC*0n9M?S$M!jZ!sQlYKafFHy(^~6}A1=BkNdX?yjiR5t ziQf-qY<~POuBg{rW2E_$s0bcm9caICh{kiPc5eG4R*N-w{ARbykJL4Emx`+Rbl|W5 zjqTkxjMJnH+5(d&+3qtLKwL1gJn%=H+;loK*tagIsY>k-S3vn+ypO6Yad1x=oi8<$ zfd`xU88@$wt#Ywry>}K(F2K2;?VS5#mBu=H%Wt?$i8wS-rgXIG@z0VjiEdc!oj`wu zmYH#%su(TjX`7w_a-6viTl3oz*Yoo2?n{&@1{DlWUU>CBE$j_MGw!iT#>p}XdRn-@ o>o0-71pWsEPDaa4y_}p-fUfVMNP=(<-yf%%>i6%Is#-n!4-_{(egFUf literal 0 HcmV?d00001 diff --git a/tasks/base/assets/assets_base_daemon.py b/tasks/base/assets/assets_base_daemon.py new file mode 100644 index 000000000..390624613 --- /dev/null +++ b/tasks/base/assets/assets_base_daemon.py @@ -0,0 +1,45 @@ +from module.base.button import Button, ButtonWrapper + +# This file was auto-generated, do not modify it manually. To generate: +# ``` python -m dev_tools.button_extract ``` + +CHAT_CLOSE = ButtonWrapper( + name='CHAT_CLOSE', + share=Button( + file='./assets/share/base/daemon/CHAT_CLOSE.png', + area=(1115, 96, 1145, 126), + search=(1095, 76, 1165, 146), + color=(180, 180, 180), + button=(1115, 96, 1145, 126), + ), +) +CHAT_OPTION = ButtonWrapper( + name='CHAT_OPTION', + share=Button( + file='./assets/share/base/daemon/CHAT_OPTION.png', + area=(628, 483, 648, 537), + search=(608, 463, 668, 557), + color=(217, 215, 214), + button=(649, 496, 1129, 525), + ), +) +STORY_NEXT = ButtonWrapper( + name='STORY_NEXT', + share=Button( + file='./assets/share/base/daemon/STORY_NEXT.png', + area=(631, 673, 649, 682), + search=(611, 653, 669, 702), + color=(124, 108, 83), + button=(927, 606, 1219, 693), + ), +) +STORY_OPTION = ButtonWrapper( + name='STORY_OPTION', + share=Button( + file='./assets/share/base/daemon/STORY_OPTION.png', + area=(783, 456, 795, 485), + search=(763, 436, 815, 505), + color=(158, 167, 171), + button=(813, 453, 1069, 488), + ), +) diff --git a/tasks/base/daemon.py b/tasks/base/daemon.py new file mode 100644 index 000000000..6379692c7 --- /dev/null +++ b/tasks/base/daemon.py @@ -0,0 +1,58 @@ +from module.base.timer import Timer +from module.logger import logger +from tasks.base.assets.assets_base_daemon import * +from tasks.base.main_page import MainPage +from tasks.base.page import page_main, page_rogue +from tasks.daily.assets.assets_daily_camera import PICTURE_TAKEN +from tasks.map.assets.assets_map_bigmap import TELEPORT_RIGHT +from tasks.rogue.route.base import RouteBase + + +class Daemon(RouteBase): + def run(self): + # Rebind daemon settings along with rogue settings + self.config.bind('Daemon', func_list=['Rogue']) + self.device.disable_stuck_detection() + + teleport_confirm = Timer(1, count=5) + while 1: + self.device.screenshot() + + # Check lang + if not MainPage._lang_checked and self.ui_page_appear(page_main, interval=5): + self.handle_lang_check(page=page_main) + # Check again + if not MainPage._lang_check_success: + MainPage._lang_checked = False + # Story + if self.appear_then_click(STORY_NEXT, interval=0.7): + self.interval_reset(STORY_OPTION) + continue + if self.appear_then_click(STORY_OPTION, interval=1): + continue + # Story teleport + if self.appear_then_click(TELEPORT_RIGHT, interval=3): + teleport_confirm.reset() + continue + if teleport_confirm.started() and not teleport_confirm.reached(): + if self.handle_popup_confirm(): + logger.info(f'{TELEPORT_RIGHT} -> popup') + continue + # Chat + if self.appear_then_click(CHAT_OPTION, interval=3): + continue + if self.appear_then_click(CHAT_CLOSE, interval=3): + continue + # Popup + if self.handle_reward(interval=1.5): + continue + if self.handle_ui_close(PICTURE_TAKEN, interval=1): + continue + # Rogue + if self.handle_blessing(): + continue + if self.ui_page_appear(page_rogue): + if self.handle_event_continue(): + continue + if self.handle_event_option(): + continue diff --git a/tasks/base/ui.py b/tasks/base/ui.py index 2bf5ed385..09d18db42 100644 --- a/tasks/base/ui.py +++ b/tasks/base/ui.py @@ -18,12 +18,13 @@ class UI(MainPage): ui_current: Page ui_main_confirm_timer = Timer(0.2, count=0) - def ui_page_appear(self, page): + def ui_page_appear(self, page, interval=0): """ Args: page (Page): + interval: """ - return self.appear(page.check_button) + return self.appear(page.check_button, interval=interval) def ui_get_current_page(self, skip_first_screenshot=True): """ From 94e1ad287b6bce2d3e6d9e3edbbc03271655482f Mon Sep 17 00:00:00 2001 From: LmeSzinc <37934724+LmeSzinc@users.noreply.github.com> Date: Tue, 26 Dec 2023 23:45:29 +0800 Subject: [PATCH 2/5] Fix: [ALAS] Height of log-bar in daemon overview --- assets/gui/css/alas.css | 1 + assets/gui/css/dark-alas.css | 7 ++++--- assets/gui/css/light-alas.css | 7 ++++--- module/webui/app.py | 25 +++++++++++++------------ 4 files changed, 22 insertions(+), 18 deletions(-) diff --git a/assets/gui/css/alas.css b/assets/gui/css/alas.css index a0b482c68..91c5649fa 100644 --- a/assets/gui/css/alas.css +++ b/assets/gui/css/alas.css @@ -376,6 +376,7 @@ pre.rich-traceback-code { #pywebio-scope-scheduler-bar, #pywebio-scope-log-bar, #pywebio-scope-log, +#pywebio-scope-daemon-log-bar, #pywebio-scope-daemon-overview #pywebio-scope-groups { font-weight: 500; margin: 0.3125rem; diff --git a/assets/gui/css/dark-alas.css b/assets/gui/css/dark-alas.css index ba011c61e..7cdc1e819 100644 --- a/assets/gui/css/dark-alas.css +++ b/assets/gui/css/dark-alas.css @@ -133,12 +133,13 @@ pre.rich-traceback-code { color: #c9d1d9; } -#pywebio-scope-scheduler-bar, -#pywebio-scope-log-bar, -#pywebio-scope-log, #pywebio-scope-running, #pywebio-scope-pending, #pywebio-scope-waiting, +#pywebio-scope-scheduler-bar, +#pywebio-scope-log-bar, +#pywebio-scope-log, +#pywebio-scope-daemon-log-bar, #pywebio-scope-daemon-overview #pywebio-scope-groups { background-color: #2f3136; border: 1px solid #21262d; diff --git a/assets/gui/css/light-alas.css b/assets/gui/css/light-alas.css index 12651e918..ed295b88b 100644 --- a/assets/gui/css/light-alas.css +++ b/assets/gui/css/light-alas.css @@ -133,12 +133,13 @@ pre.rich-traceback-code { border: 1px solid lightgrey; } -#pywebio-scope-scheduler-bar, -#pywebio-scope-log-bar, -#pywebio-scope-log, #pywebio-scope-running, #pywebio-scope-pending, #pywebio-scope-waiting, +#pywebio-scope-scheduler-bar, +#pywebio-scope-log-bar, +#pywebio-scope-log, +#pywebio-scope-daemon-log-bar, #pywebio-scope-daemon-overview #pywebio-scope-groups { background-color: white; border: 1px solid lightgrey; diff --git a/module/webui/app.py b/module/webui/app.py index 01d44a555..1aebe46e7 100644 --- a/module/webui/app.py +++ b/module/webui/app.py @@ -617,7 +617,7 @@ class AlasGUI(Frame): [ put_scope("scheduler-bar"), put_scope("groups"), - put_scope("log-bar"), + put_scope("daemon-log-bar"), put_scope("log", [put_html("")]), ], ) @@ -631,7 +631,7 @@ class AlasGUI(Frame): [ put_scope( "_daemon_upper", - [put_scope("scheduler-bar"), put_scope("log-bar")], + [put_scope("scheduler-bar"), put_scope("daemon-log-bar")], ), put_scope("groups"), put_scope("log", [put_html("")]), @@ -660,16 +660,17 @@ class AlasGUI(Frame): scope="scheduler_btn", ) - with use_scope("log-bar"): - put_text(t("Gui.Overview.Log")).style( - "font-size: 1.25rem; margin: auto .5rem auto;" - ) - put_scope( - "log-bar-btns", - [ - put_scope("log_scroll_btn"), - ], - ) + with use_scope("daemon-log-bar"): + with use_scope("log-title"): + put_text(t("Gui.Overview.Log")).style( + "font-size: 1.25rem; margin: auto .5rem auto;" + ) + put_scope( + "log-bar-btns", + [ + put_scope("log_scroll_btn"), + ], + ) switch_log_scroll = BinarySwitchButton( label_on=t("Gui.Button.ScrollON"), From 9ddd26ba6a2e04c45b1c8aab7a1c63a6460f73ec Mon Sep 17 00:00:00 2001 From: LmeSzinc <37934724+LmeSzinc@users.noreply.github.com> Date: Tue, 26 Dec 2023 23:52:54 +0800 Subject: [PATCH 3/5] Fix: AzurLaneConfig.bind() should receive a func_list not a set --- module/config/config.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/module/config/config.py b/module/config/config.py index 465306142..028a2c541 100644 --- a/module/config/config.py +++ b/module/config/config.py @@ -129,13 +129,17 @@ class AzurLaneConfig(ConfigUpdater, ManualConfig, GeneratedConfig, ConfigWatcher """ Args: func (str, Function): Function to run - func_list (set): Set of tasks to be bound + func_list (list[str]): List of tasks to be bound """ - if func_list is None: - func_list = ["Alas"] if isinstance(func, Function): func = func.command - func_list.append(func) + # func_list: ["Alas", , *func_list] + if func_list is None: + func_list = [] + if func not in func_list: + func_list.insert(0, func) + if "Alas" not in func_list: + func_list.insert(0, "Alas") logger.info(f"Bind task {func_list}") # Bind arguments From 20de15e0115c594706a8f707fe0c5add28ca94c5 Mon Sep 17 00:00:00 2001 From: LmeSzinc <37934724+LmeSzinc@users.noreply.github.com> Date: Wed, 27 Dec 2023 00:56:15 +0800 Subject: [PATCH 4/5] Add: Dialogue clicker settings --- config/template.json | 5 +++++ module/config/argument/args.json | 14 ++++++++++++++ module/config/argument/argument.yaml | 10 ++++++++++ module/config/argument/menu.json | 7 +++++++ module/config/argument/task.yaml | 10 ++++++++++ module/config/config_generated.py | 3 +++ module/config/i18n/en-US.json | 19 +++++++++++++++++++ module/config/i18n/es-ES.json | 21 ++++++++++++++++++++- module/config/i18n/ja-JP.json | 19 +++++++++++++++++++ module/config/i18n/zh-CN.json | 19 +++++++++++++++++++ module/config/i18n/zh-TW.json | 21 ++++++++++++++++++++- module/webui/process_manager.py | 4 ++++ 12 files changed, 150 insertions(+), 2 deletions(-) diff --git a/config/template.json b/config/template.json index 953863a6d..88a76434d 100644 --- a/config/template.json +++ b/config/template.json @@ -194,5 +194,10 @@ "RogueDebug": { "DebugMode": false } + }, + "Daemon": { + "Daemon": { + "Enable": true + } } } \ No newline at end of file diff --git a/module/config/argument/args.json b/module/config/argument/args.json index bde713911..d382f09f1 100644 --- a/module/config/argument/args.json +++ b/module/config/argument/args.json @@ -1291,5 +1291,19 @@ "value": false } } + }, + "Daemon": { + "Daemon": { + "Enable": { + "type": "state", + "value": true, + "option": [ + true + ], + "option_bold": [ + true + ] + } + } } } \ No newline at end of file diff --git a/module/config/argument/argument.yaml b/module/config/argument/argument.yaml index 2d2e0c2e0..7b029707a 100644 --- a/module/config/argument/argument.yaml +++ b/module/config/argument/argument.yaml @@ -252,3 +252,13 @@ RogueBlessing: RogueDebug: DebugMode: false + +# ==================== Tool ==================== + +Daemon: + Enable: + type: state + value: true + option: [ true ] + option_bold: [ true, ] + diff --git a/module/config/argument/menu.json b/module/config/argument/menu.json index 1d51b5eec..1d71e0235 100644 --- a/module/config/argument/menu.json +++ b/module/config/argument/menu.json @@ -26,5 +26,12 @@ "Weekly", "Rogue" ] + }, + "Tool": { + "menu": "list", + "page": "tool", + "tasks": [ + "Daemon" + ] } } \ No newline at end of file diff --git a/module/config/argument/task.yaml b/module/config/argument/task.yaml index a235be9a7..2067b574a 100644 --- a/module/config/argument/task.yaml +++ b/module/config/argument/task.yaml @@ -44,6 +44,7 @@ Daily: Freebies: - Scheduler - SupportReward + # ==================== Weekly ==================== Weekly: @@ -60,3 +61,12 @@ Weekly: - RogueCurio - RoguePath - RogueDebug + +# ==================== Tool ==================== + +Tool: + menu: 'list' + page: 'tool' + tasks: + Daemon: + - Daemon diff --git a/module/config/config_generated.py b/module/config/config_generated.py index 990e0d471..480990676 100644 --- a/module/config/config_generated.py +++ b/module/config/config_generated.py @@ -136,3 +136,6 @@ class GeneratedConfig: # Group `RogueDebug` RogueDebug_DebugMode = False + + # Group `Daemon` + Daemon_Enable = True # True diff --git a/module/config/i18n/en-US.json b/module/config/i18n/en-US.json index abfd647db..bb91a64dd 100644 --- a/module/config/i18n/en-US.json +++ b/module/config/i18n/en-US.json @@ -11,6 +11,10 @@ "Weekly": { "name": "Weekly", "help": "" + }, + "Tool": { + "name": "Tools", + "help": "" } }, "Task": { @@ -53,6 +57,10 @@ "Rogue": { "name": "Simulated Universe", "help": "" + }, + "Daemon": { + "name": "Dialogue Clicker", + "help": "" } }, "Scheduler": { @@ -884,6 +892,17 @@ "help": "No stop conditions, no error handling, stop when encountering an error. Please report errors according to the doc: https://github.com/LmeSzinc/StarRailCopilot/wiki/RogueMap_cn" } }, + "Daemon": { + "_info": { + "name": "Dialogue Clicker", + "help": "Tools need to stop the scheduler and then run independently" + }, + "Enable": { + "name": "Dialogue Clicker", + "help": "Monitor game, automatically click dialogue, phone chatting, and blessing in simulated universe (follow the simulated universe task settings)", + "True": "Enabled" + } + }, "Gui": { "Aside": { "Install": "Install", diff --git a/module/config/i18n/es-ES.json b/module/config/i18n/es-ES.json index 27e73a77b..8c8574ecc 100644 --- a/module/config/i18n/es-ES.json +++ b/module/config/i18n/es-ES.json @@ -11,6 +11,10 @@ "Weekly": { "name": "Semanario", "help": "" + }, + "Tool": { + "name": "útiles", + "help": "" } }, "Task": { @@ -53,6 +57,10 @@ "Rogue": { "name": "Universo Simulado", "help": "" + }, + "Daemon": { + "name": "Clic de diálogo", + "help": "" } }, "Scheduler": { @@ -63,7 +71,7 @@ "Enable": { "name": "Activar tarea", "help": "Añadir tarea al Planificador.", - "True": "Verdadero", + "True": "Activado", "False": "Falso" }, "NextRun": { @@ -884,6 +892,17 @@ "help": "Sin condiciones de parada, sin manejo de errores, deténgase cuando encuentre un error. Informe el error de acuerdo con el documento: https://github.com/LmeSzinc/StarRailCopilot/wiki/RogueMap_cn" } }, + "Daemon": { + "_info": { + "name": "Clic de diálogo", + "help": "Las herramientas necesitan detener el programador y luego ejecutarlo de forma independiente" + }, + "Enable": { + "name": "Clic de diálogo", + "help": "Monitorear el juego, hacer clic automáticamente en el diálogo, chatear por teléfono y bendecir en el universo simulado (sigue la configuración de tareas del universo simulado)", + "True": "Activado" + } + }, "Gui": { "Aside": { "Install": "Instalar", diff --git a/module/config/i18n/ja-JP.json b/module/config/i18n/ja-JP.json index 572f9ae5f..fd1d223f9 100644 --- a/module/config/i18n/ja-JP.json +++ b/module/config/i18n/ja-JP.json @@ -11,6 +11,10 @@ "Weekly": { "name": "Menu.Weekly.name", "help": "Menu.Weekly.help" + }, + "Tool": { + "name": "Menu.Tool.name", + "help": "Menu.Tool.help" } }, "Task": { @@ -53,6 +57,10 @@ "Rogue": { "name": "Task.Rogue.name", "help": "Task.Rogue.help" + }, + "Daemon": { + "name": "Task.Daemon.name", + "help": "Task.Daemon.help" } }, "Scheduler": { @@ -884,6 +892,17 @@ "help": "RogueDebug.DebugMode.help" } }, + "Daemon": { + "_info": { + "name": "Daemon._info.name", + "help": "Daemon._info.help" + }, + "Enable": { + "name": "Daemon.Enable.name", + "help": "Daemon.Enable.help", + "True": "True" + } + }, "Gui": { "Aside": { "Install": "インストール", diff --git a/module/config/i18n/zh-CN.json b/module/config/i18n/zh-CN.json index 779e35086..7664e11c0 100644 --- a/module/config/i18n/zh-CN.json +++ b/module/config/i18n/zh-CN.json @@ -11,6 +11,10 @@ "Weekly": { "name": "每周", "help": "" + }, + "Tool": { + "name": "工具", + "help": "" } }, "Task": { @@ -53,6 +57,10 @@ "Rogue": { "name": "模拟宇宙", "help": "" + }, + "Daemon": { + "name": "剧情连点器", + "help": "" } }, "Scheduler": { @@ -884,6 +892,17 @@ "help": "无停止条件,无异常处理,遇错误即停止,请按文档上报异常:https://github.com/LmeSzinc/StarRailCopilot/wiki/RogueMap_cn" } }, + "Daemon": { + "_info": { + "name": "剧情连点器", + "help": "工具需要停止调度器再单独运行" + }, + "Enable": { + "name": "剧情连点器", + "help": "监听画面自动点击剧情、手机聊天、模拟宇宙祝福(遵循模拟宇宙任务设置)", + "True": "已启用" + } + }, "Gui": { "Aside": { "Install": "安装", diff --git a/module/config/i18n/zh-TW.json b/module/config/i18n/zh-TW.json index 94471e287..de1d41ff5 100644 --- a/module/config/i18n/zh-TW.json +++ b/module/config/i18n/zh-TW.json @@ -11,6 +11,10 @@ "Weekly": { "name": "每週", "help": "" + }, + "Tool": { + "name": "工具", + "help": "" } }, "Task": { @@ -53,6 +57,10 @@ "Rogue": { "name": "模擬宇宙", "help": "" + }, + "Daemon": { + "name": "劇情連點器", + "help": "" } }, "Scheduler": { @@ -881,7 +889,18 @@ }, "DebugMode": { "name": "開發模式", - "help": "無停止條件,無異常處理,遇錯誤即停止,請依文件回報異常:https://github.com/LmeSzinc/StarRailCopilot/wiki/RogueMap_cn" + "help": "無停止條件,無異常處理,遇錯誤即停止,請依檔案回報異常:https://github.com/LmeSzinc/StarRailCopilot/wiki/RogueMap_cn" + } + }, + "Daemon": { + "_info": { + "name": "劇情連點器", + "help": "工具需要停止調度器再單獨運作" + }, + "Enable": { + "name": "劇情連點器", + "help": "監聽畫面自動點擊劇情、手機聊天、模擬宇宙祝福(遵循模擬宇宙任務設定)", + "True": "已啟用" } }, "Gui": { diff --git a/module/webui/process_manager.py b/module/webui/process_manager.py index bad0db104..f414654f8 100644 --- a/module/webui/process_manager.py +++ b/module/webui/process_manager.py @@ -147,6 +147,10 @@ class ProcessManager: if e is not None: AzurLaneAutoScript.stop_event = e StarRailCopilot(config_name=config_name).loop() + elif func == "Daemon": + from tasks.base.daemon import Daemon + + Daemon(config=config_name, task="Daemon").run() else: logger.critical(f"No function matched: {func}") logger.info(f"[{config_name}] exited. Reason: Finish\n") From 24625a6dc2afa561415f720ef8ed42b212164199 Mon Sep 17 00:00:00 2001 From: LmeSzinc <37934724+LmeSzinc@users.noreply.github.com> Date: Wed, 27 Dec 2023 10:20:33 +0800 Subject: [PATCH 5/5] Fix: No tracking screenshot if save error disabled (#229) --- module/base/base.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/module/base/base.py b/module/base/base.py index 36587b662..7ecfff3c0 100644 --- a/module/base/base.py +++ b/module/base/base.py @@ -298,6 +298,9 @@ class ModuleBase: """ Add a tracking image, image will be saved """ + if not self.config.Error_SaveError: + return + logger.info('screenshot_tracking_add') data = self.device.screenshot_deque[-1] image = data['image']