AzurLaneAutoScript
AzurLaneAutoScript copied to clipboard
Feature: Dashboard update for further features
把以前写的仪表盘代码修正了一些,删除dashboard.yaml以及修改config_updater使仪表盘不会出现在菜单中
已完成
暂时没时间进行修改,此pr先挂着
似乎目前活动图物资平衡有点问题,deep_get获取当前物资数量会返回None:
2023-08-19 08:08:25.149 | INFO | Bind task {'Event2', 'TaskBalancer', 'EventGeneral', 'General', 'Alas'}
2023-08-19 08:08:25.151 | INFO | Save config ./config\alas.json, Event2.Emotion.Fleet1Value=144,
Event2.Emotion.Fleet1Record=datetime.datetime(2023, 8, 19, 8, 8, 25), Event2.Emotion.Fleet2Value=119,
Event2.Emotion.Fleet2Record=datetime.datetime(2023, 8, 19, 8, 8, 25)
2023-08-19 08:08:25.166 | INFO | [Emotion fleet_1] 144
2023-08-19 08:08:25.168 | INFO | [Emotion fleet_2] 119
2023-08-19 08:08:25.169 | INFO | Combat execute
2023-08-19 08:08:31.153 | INFO | Combat auto check timer reached
2023-08-19 08:08:53.340 | INFO | Click (1020, 659) @ BATTLE_STATUS_S
2023-08-19 08:08:53.393 | INFO | Screenshot interval set to 0.3s
2023-08-19 08:08:53.393 | INFO | Combat status
2023-08-19 08:08:53.396 | INFO | [expected_end] in_stage
2023-08-19 08:08:53.972 | INFO | Click (1029, 637) @ BATTLE_STATUS_S
2023-08-19 08:08:54.592 | INFO | Click (1032, 678) @ BATTLE_STATUS_S
2023-08-19 08:08:54.832 | INFO | Click (1035, 651) @ GET_ITEMS_1
2023-08-19 08:08:55.815 | INFO | Click (1173, 641) @ EXP_INFO_S
2023-08-19 08:08:56.690 | INFO | Click (1181, 641) @ EXP_INFO_S
2023-08-19 08:08:57.400 | INFO | Click (1163, 641) @ EXP_INFO_S
2023-08-19 08:09:03.397 | INFO | In stage.
2023-08-19 08:09:04.849 | INFO | <<< CAMPAIGN END >>>
2023-08-19 08:09:04.882 | INFO | Pending tasks: ['Event2']
2023-08-19 08:09:04.884 | INFO | [Task] Event2 (Enable, 2022-12-24 12:00:00)
2023-08-19 08:09:04.886 | INFO | Continue task `Event2 (Enable, 2022-12-24 12:00:00)`
═════════════════════════════════════════════════════════ C1 ══════════════════════════════════════════════════════════
2023-08-19 08:09:04.888 | INFO | C1
2023-08-19 08:09:04.889 | INFO | Count: 1
2023-08-19 08:09:04.893 | INFO | UI get current page
2023-08-19 08:09:04.902 | INFO | [UI] page_event
2023-08-19 08:09:04.903 | INFO | Already at page_event
2023-08-19 08:09:04.907 | INFO | [Mode_switch_2] ex
2023-08-19 08:09:04.909 | INFO | [Mode_switch_1] normal
2023-08-19 08:09:04.911 | INFO | <<< UI ENSURE INDEX >>>
2023-08-19 08:09:04.951 | INFO | No event_20230817_story
2023-08-19 08:09:05.049 | INFO | [campaign 0.031s] C1
2023-08-19 08:09:05.051 | INFO | [Chapter] c
2023-08-19 08:09:05.053 | INFO | [Stage] c1
2023-08-19 08:09:05.055 | INFO | [Index] 1
2023-08-19 08:09:05.128 | INFO | [SHOP_GEMS 0.065s] 1271
2023-08-19 08:09:05.206 | INFO | Bind task {'Event2', 'TaskBalancer', 'EventGeneral', 'General', 'Alas'}
2023-08-19 08:09:05.213 | INFO | Save config ./config\alas.json, Resource.Coin.Value=1271,
Resource.Coin.Record=datetime.datetime(2023, 8, 19, 8, 9, 5)
2023-08-19 08:09:05.303 | INFO | [OCR_COIN 0.072s] 39336
2023-08-19 08:09:05.377 | INFO | [OCR_COIN_LIMIT 0.072s] 96000
2023-08-19 08:09:05.424 | INFO | Bind task {'Event2', 'TaskBalancer', 'EventGeneral', 'General', 'Alas'}
2023-08-19 08:09:05.426 | INFO | Save config ./config\alas.json, Resource.Coin.Value=39336,
Resource.Coin.Record=datetime.datetime(2023, 8, 19, 8, 9, 5)
2023-08-19 08:09:05.481 | INFO | [OCR_OIL 0.041s] 9984
2023-08-19 08:09:05.553 | INFO | [OCR_OIL_LIMIT 0.069s] 16000
2023-08-19 08:09:05.602 | INFO | Bind task {'Event2', 'TaskBalancer', 'EventGeneral', 'General', 'Alas'}
2023-08-19 08:09:05.603 | INFO | Save config ./config\alas.json, Resource.Oil.Value=9984,
Resource.Oil.Record=datetime.datetime(2023, 8, 19, 8, 9, 5)
2023-08-19 08:09:05.661 | INFO | [OCR_EVENT_PT 0.043s] X3130
2023-08-19 08:09:05.663 | INFO | [Event_PT] 3130
2023-08-19 08:09:05.710 | INFO | Bind task {'Event2', 'TaskBalancer', 'EventGeneral', 'General', 'Alas'}
2023-08-19 08:09:05.712 | INFO | Save config ./config\alas.json, Resource.Pt.Value=3130,
Resource.Pt.Record=datetime.datetime(2023, 8, 19, 8, 9, 5)
2023-08-19 08:09:05.727 | INFO | [Event_PT_limit] 3130/100000
2023-08-19 08:09:05.727 | INFO | [Coin Count] None
2023-08-19 08:09:05.729 | ERROR | TypeError: '<' not supported between instances of 'NoneType' and 'int'
┌───────────────────────────────────────── Traceback (most recent call last) ─────────────────────────────────────────┐
│ │
│ C:\Users\Administrator\Downloads\AzurLaneAutoScript\alas.py:68 in run │
│ │
│ 65 │ def run(self, command): │
│ 66 │ │ try: │
│ 67 │ │ │ self.device.screenshot() │
│ > 68 │ │ │ self.__getattribute__(command)() │
│ 69 │ │ │ return True │
│ 70 │ │ except TaskEnd: │
│ 71 │ │ │ return True │
│ │
│ ┌────────────────────────────────────── locals ──────────────────────────────────────┐ │
│ │ command = 'event2' │ │
│ │ e = TypeError("'<' not supported between instances of 'NoneType' and 'int'") │ │
│ │ self = <alas.AzurLaneAutoScript object at 0x0000000B9454FE88> │ │
│ └────────────────────────────────────────────────────────────────────────────────────┘ │
│ C:\Users\Administrator\Downloads\AzurLaneAutoScript\alas.py:363 in event2 │
│ │
│ 360 │ def event2(self): │
│ 361 │ │ from module.campaign.run import CampaignRun │
│ 362 │ │ CampaignRun(config=self.config, device=self.device).run( │
│ > 363 │ │ │ name=self.config.Campaign_Name, folder=self.config.Campaign_Event, │
│ mode=self.config.Campaign_Mode) │
│ 364 │ │
│ 365 │ def raid(self): │
│ 366 │ │ from module.raid.run import RaidRun │
│ │
│ ┌─────────────────────────────── locals ───────────────────────────────┐ │
│ │ CampaignRun = <class 'module.campaign.run.CampaignRun'> │ │
│ │ self = <alas.AzurLaneAutoScript object at 0x0000000B9454FE88> │ │
│ └──────────────────────────────────────────────────────────────────────┘ │
│ │
│ C:\Users\Administrator\Downloads\AzurLaneAutoScript\module\campaign\run.py:366 in run │
│ │
│ 363 │ │ │ │ │ break │
│ 364 │ │ │ │
│ 365 │ │ │ # End │
│ > 366 │ │ │ if self.triggered_stop_condition(oil_check=not │
│ self.campaign.is_in_auto_search_menu()): │
│ 367 │ │ │ │ break │
│ 368 │ │ │ │
│ 369 │ │ │ # Update config │
│ │
│ ┌──────────────────────────────── locals ─────────────────────────────────┐ │
│ │ folder = 'event_20230817_cn' │ │
│ │ mode = 'normal' │ │
│ │ name = 'c1' │ │
│ │ self = <module.campaign.run.CampaignRun object at 0x0000000BA1865048> │ │
│ │ total = 0 │ │
│ └─────────────────────────────────────────────────────────────────────────┘ │
│ │
│ C:\Users\Administrator\Downloads\AzurLaneAutoScript\module\campaign\run.py:133 in triggered_stop_condition │
│ │
│ 130 │ │ │ return True │
│ 131 │ │ # TaskBalancer │
│ 132 │ │ if oil_check and self.run_count >= 1: │
│ > 133 │ │ │ if self.config.TaskBalancer_Enable and self.triggered_task_balancer(): │
│ 134 │ │ │ │ logger.hr('Triggered stop condition: Coin limit') │
│ 135 │ │ │ │ self.handle_task_balancer() │
│ 136 │ │ │ │ return True │
│ │
│ ┌────────────────────────────────── locals ──────────────────────────────────┐ │
│ │ oil_check = True │ │
│ │ self = <module.campaign.run.CampaignRun object at 0x0000000BA1865048> │ │
│ └────────────────────────────────────────────────────────────────────────────┘ │
│ │
│ C:\Users\Administrator\Downloads\AzurLaneAutoScript\module\campaign\campaign_event.py:108 in │
│ triggered_task_balancer │
│ │
│ 105 │ │ │ return False │
│ 106 │ │ else: │
│ 107 │ │ │ if self.is_balancer_task(): │
│ > 108 │ │ │ │ if coin < limit: │
│ 109 │ │ │ │ │ logger.hr('Reach Coin limit') │
│ 110 │ │ │ │ │ return True │
│ 111 │ │ │ │ else: │
│ │
│ ┌───────────────────────────────── locals ──────────────────────────────────┐ │
│ │ coin = None │ │
│ │ deep_get = <function deep_get at 0x0000000B94B6CAF8> │ │
│ │ limit = 30000 │ │
│ │ self = <module.campaign.run.CampaignRun object at 0x0000000BA1865048> │ │
│ └───────────────────────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
TypeError: '<' not supported between instances of 'NoneType' and 'int'
2023-08-19 08:09:06.052 | WARNING | Saving error: ./log/error/1692403746052
似乎目前活动图物资平衡有点问题,
deep_get获取当前物资数量会返回None:2023-08-19 08:08:25.149 | INFO | Bind task {'Event2', 'TaskBalancer', 'EventGeneral', 'General', 'Alas'} 2023-08-19 08:08:25.151 | INFO | Save config ./config\alas.json, Event2.Emotion.Fleet1Value=144, Event2.Emotion.Fleet1Record=datetime.datetime(2023, 8, 19, 8, 8, 25), Event2.Emotion.Fleet2Value=119, Event2.Emotion.Fleet2Record=datetime.datetime(2023, 8, 19, 8, 8, 25) 2023-08-19 08:08:25.166 | INFO | [Emotion fleet_1] 144 2023-08-19 08:08:25.168 | INFO | [Emotion fleet_2] 119 2023-08-19 08:08:25.169 | INFO | Combat execute 2023-08-19 08:08:31.153 | INFO | Combat auto check timer reached 2023-08-19 08:08:53.340 | INFO | Click (1020, 659) @ BATTLE_STATUS_S 2023-08-19 08:08:53.393 | INFO | Screenshot interval set to 0.3s 2023-08-19 08:08:53.393 | INFO | Combat status 2023-08-19 08:08:53.396 | INFO | [expected_end] in_stage 2023-08-19 08:08:53.972 | INFO | Click (1029, 637) @ BATTLE_STATUS_S 2023-08-19 08:08:54.592 | INFO | Click (1032, 678) @ BATTLE_STATUS_S 2023-08-19 08:08:54.832 | INFO | Click (1035, 651) @ GET_ITEMS_1 2023-08-19 08:08:55.815 | INFO | Click (1173, 641) @ EXP_INFO_S 2023-08-19 08:08:56.690 | INFO | Click (1181, 641) @ EXP_INFO_S 2023-08-19 08:08:57.400 | INFO | Click (1163, 641) @ EXP_INFO_S 2023-08-19 08:09:03.397 | INFO | In stage. 2023-08-19 08:09:04.849 | INFO | <<< CAMPAIGN END >>> 2023-08-19 08:09:04.882 | INFO | Pending tasks: ['Event2'] 2023-08-19 08:09:04.884 | INFO | [Task] Event2 (Enable, 2022-12-24 12:00:00) 2023-08-19 08:09:04.886 | INFO | Continue task `Event2 (Enable, 2022-12-24 12:00:00)` ═════════════════════════════════════════════════════════ C1 ══════════════════════════════════════════════════════════ 2023-08-19 08:09:04.888 | INFO | C1 2023-08-19 08:09:04.889 | INFO | Count: 1 2023-08-19 08:09:04.893 | INFO | UI get current page 2023-08-19 08:09:04.902 | INFO | [UI] page_event 2023-08-19 08:09:04.903 | INFO | Already at page_event 2023-08-19 08:09:04.907 | INFO | [Mode_switch_2] ex 2023-08-19 08:09:04.909 | INFO | [Mode_switch_1] normal 2023-08-19 08:09:04.911 | INFO | <<< UI ENSURE INDEX >>> 2023-08-19 08:09:04.951 | INFO | No event_20230817_story 2023-08-19 08:09:05.049 | INFO | [campaign 0.031s] C1 2023-08-19 08:09:05.051 | INFO | [Chapter] c 2023-08-19 08:09:05.053 | INFO | [Stage] c1 2023-08-19 08:09:05.055 | INFO | [Index] 1 2023-08-19 08:09:05.128 | INFO | [SHOP_GEMS 0.065s] 1271 2023-08-19 08:09:05.206 | INFO | Bind task {'Event2', 'TaskBalancer', 'EventGeneral', 'General', 'Alas'} 2023-08-19 08:09:05.213 | INFO | Save config ./config\alas.json, Resource.Coin.Value=1271, Resource.Coin.Record=datetime.datetime(2023, 8, 19, 8, 9, 5) 2023-08-19 08:09:05.303 | INFO | [OCR_COIN 0.072s] 39336 2023-08-19 08:09:05.377 | INFO | [OCR_COIN_LIMIT 0.072s] 96000 2023-08-19 08:09:05.424 | INFO | Bind task {'Event2', 'TaskBalancer', 'EventGeneral', 'General', 'Alas'} 2023-08-19 08:09:05.426 | INFO | Save config ./config\alas.json, Resource.Coin.Value=39336, Resource.Coin.Record=datetime.datetime(2023, 8, 19, 8, 9, 5) 2023-08-19 08:09:05.481 | INFO | [OCR_OIL 0.041s] 9984 2023-08-19 08:09:05.553 | INFO | [OCR_OIL_LIMIT 0.069s] 16000 2023-08-19 08:09:05.602 | INFO | Bind task {'Event2', 'TaskBalancer', 'EventGeneral', 'General', 'Alas'} 2023-08-19 08:09:05.603 | INFO | Save config ./config\alas.json, Resource.Oil.Value=9984, Resource.Oil.Record=datetime.datetime(2023, 8, 19, 8, 9, 5) 2023-08-19 08:09:05.661 | INFO | [OCR_EVENT_PT 0.043s] X3130 2023-08-19 08:09:05.663 | INFO | [Event_PT] 3130 2023-08-19 08:09:05.710 | INFO | Bind task {'Event2', 'TaskBalancer', 'EventGeneral', 'General', 'Alas'} 2023-08-19 08:09:05.712 | INFO | Save config ./config\alas.json, Resource.Pt.Value=3130, Resource.Pt.Record=datetime.datetime(2023, 8, 19, 8, 9, 5) 2023-08-19 08:09:05.727 | INFO | [Event_PT_limit] 3130/100000 2023-08-19 08:09:05.727 | INFO | [Coin Count] None 2023-08-19 08:09:05.729 | ERROR | TypeError: '<' not supported between instances of 'NoneType' and 'int' ┌───────────────────────────────────────── Traceback (most recent call last) ─────────────────────────────────────────┐ │ │ │ C:\Users\Administrator\Downloads\AzurLaneAutoScript\alas.py:68 in run │ │ │ │ 65 │ def run(self, command): │ │ 66 │ │ try: │ │ 67 │ │ │ self.device.screenshot() │ │ > 68 │ │ │ self.__getattribute__(command)() │ │ 69 │ │ │ return True │ │ 70 │ │ except TaskEnd: │ │ 71 │ │ │ return True │ │ │ │ ┌────────────────────────────────────── locals ──────────────────────────────────────┐ │ │ │ command = 'event2' │ │ │ │ e = TypeError("'<' not supported between instances of 'NoneType' and 'int'") │ │ │ │ self = <alas.AzurLaneAutoScript object at 0x0000000B9454FE88> │ │ │ └────────────────────────────────────────────────────────────────────────────────────┘ │ │ C:\Users\Administrator\Downloads\AzurLaneAutoScript\alas.py:363 in event2 │ │ │ │ 360 │ def event2(self): │ │ 361 │ │ from module.campaign.run import CampaignRun │ │ 362 │ │ CampaignRun(config=self.config, device=self.device).run( │ │ > 363 │ │ │ name=self.config.Campaign_Name, folder=self.config.Campaign_Event, │ │ mode=self.config.Campaign_Mode) │ │ 364 │ │ │ 365 │ def raid(self): │ │ 366 │ │ from module.raid.run import RaidRun │ │ │ │ ┌─────────────────────────────── locals ───────────────────────────────┐ │ │ │ CampaignRun = <class 'module.campaign.run.CampaignRun'> │ │ │ │ self = <alas.AzurLaneAutoScript object at 0x0000000B9454FE88> │ │ │ └──────────────────────────────────────────────────────────────────────┘ │ │ │ │ C:\Users\Administrator\Downloads\AzurLaneAutoScript\module\campaign\run.py:366 in run │ │ │ │ 363 │ │ │ │ │ break │ │ 364 │ │ │ │ │ 365 │ │ │ # End │ │ > 366 │ │ │ if self.triggered_stop_condition(oil_check=not │ │ self.campaign.is_in_auto_search_menu()): │ │ 367 │ │ │ │ break │ │ 368 │ │ │ │ │ 369 │ │ │ # Update config │ │ │ │ ┌──────────────────────────────── locals ─────────────────────────────────┐ │ │ │ folder = 'event_20230817_cn' │ │ │ │ mode = 'normal' │ │ │ │ name = 'c1' │ │ │ │ self = <module.campaign.run.CampaignRun object at 0x0000000BA1865048> │ │ │ │ total = 0 │ │ │ └─────────────────────────────────────────────────────────────────────────┘ │ │ │ │ C:\Users\Administrator\Downloads\AzurLaneAutoScript\module\campaign\run.py:133 in triggered_stop_condition │ │ │ │ 130 │ │ │ return True │ │ 131 │ │ # TaskBalancer │ │ 132 │ │ if oil_check and self.run_count >= 1: │ │ > 133 │ │ │ if self.config.TaskBalancer_Enable and self.triggered_task_balancer(): │ │ 134 │ │ │ │ logger.hr('Triggered stop condition: Coin limit') │ │ 135 │ │ │ │ self.handle_task_balancer() │ │ 136 │ │ │ │ return True │ │ │ │ ┌────────────────────────────────── locals ──────────────────────────────────┐ │ │ │ oil_check = True │ │ │ │ self = <module.campaign.run.CampaignRun object at 0x0000000BA1865048> │ │ │ └────────────────────────────────────────────────────────────────────────────┘ │ │ │ │ C:\Users\Administrator\Downloads\AzurLaneAutoScript\module\campaign\campaign_event.py:108 in │ │ triggered_task_balancer │ │ │ │ 105 │ │ │ return False │ │ 106 │ │ else: │ │ 107 │ │ │ if self.is_balancer_task(): │ │ > 108 │ │ │ │ if coin < limit: │ │ 109 │ │ │ │ │ logger.hr('Reach Coin limit') │ │ 110 │ │ │ │ │ return True │ │ 111 │ │ │ │ else: │ │ │ │ ┌───────────────────────────────── locals ──────────────────────────────────┐ │ │ │ coin = None │ │ │ │ deep_get = <function deep_get at 0x0000000B94B6CAF8> │ │ │ │ limit = 30000 │ │ │ │ self = <module.campaign.run.CampaignRun object at 0x0000000BA1865048> │ │ │ └───────────────────────────────────────────────────────────────────────────┘ │ └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ TypeError: '<' not supported between instances of 'NoneType' and 'int' 2023-08-19 08:09:06.052 | WARNING | Saving error: ./log/error/1692403746052
代码没修,在改