AzurLaneAutoScript
AzurLaneAutoScript copied to clipboard
【云手机】大世界遇明石商店有概率卡住
描述你的问题
设备:星界链云手机Alas版本 40 元档,其他设备未测试。 几个月前便观察到有这一问题,每日/隐秘/侵蚀一都有概率,触发不稳定。
以下是在刷侵蚀一时报错:
相关日志
INFO 18:57:11.304 │ [homo_loca] [52 77]
INFO 18:57:11.679 │ tile_center: 0.953 (good match)
INFO 18:57:11.695 │ 0.079s edge_lines: 0 hori, 1 vert
INFO 18:57:11.698 │ Edges: / homo_loca: ( 52, 62)
INFO 18:57:11.707 │ center_loca: (1, 4)
INFO 18:57:11.709 │ [homo_loca] [52 62]
INFO 18:57:12.098 │ tile_center: 0.937 (good match)
INFO 18:57:12.118 │ 0.083s edge_lines: 0 hori, 1 vert
INFO 18:57:12.121 │ Edges: / homo_loca: ( 53, 58)
INFO 18:57:12.132 │ center_loca: (1, 4)
INFO 18:57:12.136 │ [homo_loca] [53 58]
INFO 18:57:12.444 │ [Story_options] 2
INFO 18:57:12.801 │ [Story_options] 2
INFO 18:57:12.803 │ Click ( 709, 295) @ STORY_OPTION_1_OF_2
INFO 18:57:14.275 │ tile_center: 0.937 (good match)
INFO 18:57:14.292 │ 0.078s edge_lines: 0 hori, 1 vert
INFO 18:57:14.294 │ Edges: / homo_loca: ( 53, 58)
INFO 18:57:14.300 │ center_loca: (1, 4)
INFO 18:57:14.302 │ [homo_loca] [53 58]
INFO 18:57:14.670 │ tile_center: 0.935 (good match)
INFO 18:57:14.685 │ 0.065s edge_lines: 0 hori, 1 vert
INFO 18:57:14.688 │ Edges: / homo_loca: ( 54, 58)
INFO 18:57:14.694 │ center_loca: (1, 4)
INFO 18:57:14.696 │ [homo_loca] [54 58]
INFO 18:57:15.049 │ tile_center: 0.935 (good match)
INFO 18:57:15.071 │ 0.068s edge_lines: 0 hori, 1 vert
INFO 18:57:15.073 │ Edges: / homo_loca: ( 54, 58)
INFO 18:57:15.079 │ center_loca: (1, 4)
INFO 18:57:15.081 │ [homo_loca] [54 58]
INFO 18:57:15.082 │ Walk stabled, result: event
INFO 18:57:15.084 │ Screenshot interval set to 0.2s
INFO 18:57:15.085 │ <<< MAP RESCAN E10 >>>
INFO 18:57:15.087 │ Focus to: E10
INFO 18:57:15.088 │ Map swipe: (0, 3)
INFO 18:57:15.090 │ Swipe ( 622, 468) -> ( 622, 232)
WARNING 18:57:15.984 │ Image to detect is not in_map
WARNING 18:57:16.018 │ Perspective error caused by akashi shop
INFO 18:57:16.021 │ Click ( 42, 54) @ BACK_ARROW
WARNING 18:57:16.367 │ Image to detect is not in_map
WARNING 18:57:16.379 │ Perspective error caused by akashi shop
INFO 18:57:16.381 │ Click ( 64, 44) @ BACK_ARROW
WARNING 18:57:16.731 │ Image to detect is not in_map
WARNING 18:57:16.746 │ Perspective error caused by akashi shop
INFO 18:57:16.749 │ Click ( 59, 39) @ BACK_ARROW
WARNING 18:57:17.093 │ Image to detect is not in_map
INFO 18:57:17.455 │ tile_center: 0.935 (good match)
INFO 18:57:17.472 │ 0.067s edge_lines: 0 hori, 1 vert
INFO 18:57:17.474 │ Edges: / homo_loca: ( 54, 58)
INFO 18:57:17.480 │ center_loca: (1, 4)
INFO 18:57:17.481 │ Camera: E10
INFO 18:57:17.483 │ camera_corrected: E10 -> B10
INFO 18:57:17.484 │ Camera: B10
INFO 18:57:17.526 │ 0.040s predict: 59
INFO 18:57:17.528 │ -- -- -- -- -- -- -- --
INFO 18:57:17.529 │ -- -- -- -- -- -- -- --
INFO 18:57:17.531 │ -- -- -- -- -- -- -- --
INFO 18:57:17.532 │ -- -- -- -- -- -- -- ..
INFO 18:57:17.533 │ -- FL -- -- -- -- -- ..
INFO 18:57:17.535 │ -- AK -- -- -- -- -- ..
INFO 18:57:17.536 │ -- -- -- -- -- -- -- ..
INFO 18:57:17.537 │ -- -- -- -- -- -- -- ..
INFO 18:57:17.539 │ Map swipe: (3, 0)
INFO 18:57:17.541 │ Swipe ( 824, 380) -> ( 490, 381)
WARNING 18:57:18.487 │ Image to detect is not in_map
INFO 18:57:18.492 │ Click ( 785, 513) @ POPUP_CONFIRM_STORY_SKIP
WARNING 18:57:18.545 │ Perspective error caused by story
INFO 18:57:18.547 │ Ensure no story
WARNING 18:57:21.863 │ Image to detect is not in_map
WARNING 18:57:22.182 │ Image to detect is not in_map
WARNING 18:57:22.499 │ Image to detect is not in_map
WARNING 18:57:22.862 │ Image to detect is not in_map
WARNING 18:57:23.194 │ Image to detect is not in_map
WARNING 18:57:23.517 │ Image to detect is not in_map
WARNING 18:57:23.840 │ Image to detect is not in_map
WARNING 18:57:24.165 │ Image to detect is not in_map
WARNING 18:57:24.490 │ Image to detect is not in_map
WARNING 18:57:24.818 │ Image to detect is not in_map
WARNING 18:57:25.143 │ Image to detect is not in_map
WARNING 18:57:25.456 │ Image to detect is not in_map
WARNING 18:57:25.790 │ Image to detect is not in_map
WARNING 18:57:26.121 │ Image to detect is not in_map
WARNING 18:57:26.444 │ Image to detect is not in_map
WARNING 18:57:26.764 │ Image to detect is not in_map
ERROR 18:57:26.781 │ MapDetectionError: Image to detect is not in_map
╭───────────────────────────── Traceback (most recent call last) ─────────────────────────────╮
│ │
│ /home/Alas/AzurLaneAutoScript/alas.py:68 in run │
│ │
│ 66 │ │ try: │
│ 67 │ │ │ self.device.screenshot() │
│ ❱ 68 │ │ │ self.__getattribute__(command)() │
│ 69 │ │ │ return True │
│ 70 │ │ except TaskEnd: │
│ │
│ ╭─────────────────────────── locals ───────────────────────────╮ │
│ │ command = 'opsi_hazard1_leveling' │ │
│ │ e = MapDetectionError('Image to detect is not in_map') │ │
│ │ self = <alas.AzurLaneAutoScript object at 0x7fe6767fb210> │ │
│ ╰──────────────────────────────────────────────────────────────╯ │
│ /home/Alas/AzurLaneAutoScript/alas.py:334 in opsi_hazard1_leveling │
│ │
│ 332 │ def opsi_hazard1_leveling(self): │
│ 333 │ │ from module.campaign.os_run import OSCampaignRun │
│ ❱ 334 │ │ OSCampaignRun(config=self.config, device=self.device).opsi_hazard1_leveling() │
│ 335 │ │
│ 336 │ def opsi_cross_month(self): │
│ │
│ ╭────────────────────────────── locals ──────────────────────────────╮ │
│ │ OSCampaignRun = <class 'module.campaign.os_run.OSCampaignRun'> │ │
│ │ self = <alas.AzurLaneAutoScript object at 0x7fe6767fb210> │ │
│ ╰────────────────────────────────────────────────────────────────────╯ │
│ │
│ /home/Alas/AzurLaneAutoScript/module/campaign/os_run.py:72 in opsi_hazard1_leveling │
│ │
│ 70 │ │ try: │
│ 71 │ │ │ self.load_campaign() │
│ ❱ 72 │ │ │ self.campaign.os_hazard1_leveling() │
│ 73 │ │ except ActionPointLimit: │
│ 74 │ │ │ self.config.task_delay(server_update=True) │
│ │
│ ╭──────────────────────────────── locals ────────────────────────────────╮ │
│ │ self = <module.campaign.os_run.OSCampaignRun object at 0x7fe62c170150> │ │
│ ╰────────────────────────────────────────────────────────────────────────╯ │
│ │
│ /home/Alas/AzurLaneAutoScript/module/os/operation_siren.py:439 in os_hazard1_leveling │
│ │
│ 437 │ │ │ │ self.globe_goto(self.name_to_zone(zone), types='SAFE', refresh=True) │
│ 438 │ │ │ self.fleet_set(self.config.OpsiFleet_Fleet) │
│ ❱ 439 │ │ │ self.run_strategic_search() │
│ 440 │ │ │ │
│ 441 │ │ │ self.handle_after_auto_search() │
│ │
│ ╭─────────────────────────────────────── locals ────────────────────────────────────────╮ │
│ │ keep_current_ap = True │ │
│ │ self = <module.os.operation_siren.OperationSiren object at 0x7fe5cd792d10> │ │
│ │ zone = 22 │ │
│ ╰───────────────────────────────────────────────────────────────────────────────────────╯ │
│ │
│ /home/Alas/AzurLaneAutoScript/module/os/map.py:730 in run_strategic_search │
│ │
│ 728 │ │ self._solved_fleet_mechanism = False │
│ 729 │ │ self.clear_question() │
│ ❱ 730 │ │ self.map_rescan() │
│ 731 │ │
│ 732 │ def map_rescan_current(self, drop=None): │
│ │
│ ╭────────────────────────────────── locals ──────────────────────────────────╮ │
│ │ self = <module.os.operation_siren.OperationSiren object at 0x7fe5cd792d10> │ │
│ ╰────────────────────────────────────────────────────────────────────────────╯ │
│ │
│ /home/Alas/AzurLaneAutoScript/module/os/map.py:883 in map_rescan │
│ │
│ 881 │ │ │ │ self.fleet_set(self.config.OpsiFleet_Fleet) │
│ 882 │ │ │ │ return False │
│ ❱ 883 │ │ │ result = self.map_rescan_once(rescan_mode=rescan_mode, drop=drop) │
│ 884 │ │ │ if not result: │
│ 885 │ │ │ │ logger.attr('Solved_map_event', self._solved_map_event) │
│ │
│ ╭───────────────────────────────────── locals ──────────────────────────────────────╮ │
│ │ _ = 0 │ │
│ │ drop = None │ │
│ │ rescan_mode = 'full' │ │
│ │ self = <module.os.operation_siren.OperationSiren object at 0x7fe5cd792d10> │ │
│ ╰───────────────────────────────────────────────────────────────────────────────────╯ │
│ │
│ /home/Alas/AzurLaneAutoScript/module/os/map.py:857 in map_rescan_once │
│ │
│ 855 │ │ │ │ logger.hr(f'Map rescan {queue[0]}') │
│ 856 │ │ │ │ queue = queue.sort_by_camera_distance(self.camera) │
│ ❱ 857 │ │ │ │ self.focus_to(queue[0], swipe_limit=(6, 5)) │
│ 858 │ │ │ │ self.focus_to_grid_center(0.25) │
│ 859 │
│ │
│ ╭───────────────────────────────────── locals ──────────────────────────────────────╮ │
│ │ drop = None │ │
│ │ queue = <module.map.map_grids.SelectedGrids object at 0x7fe6503dc710> │ │
│ │ rescan_mode = 'full' │ │
│ │ result = False │ │
│ │ self = <module.os.operation_siren.OperationSiren object at 0x7fe5cd792d10> │ │
│ ╰───────────────────────────────────────────────────────────────────────────────────╯ │
│ │
│ /home/Alas/AzurLaneAutoScript/module/map/camera.py:346 in focus_to │
│ │
│ 344 │ │ │ vector = np.array(location) - self.camera │
│ 345 │ │ │ swipe = tuple(np.min([np.abs(vector), swipe_limit], axis=0) * │
│ np.sign(vector)) │
│ ❱ 346 │ │ │ has_swiped = self.map_swipe(swipe) │
│ 347 │ │ │ │
│ 348 │ │ │ if not has_swiped: │
│ │
│ ╭───────────────────────────────────── locals ──────────────────────────────────────╮ │
│ │ has_swiped = True │ │
│ │ location = (4, 9) │ │
│ │ self = <module.os.operation_siren.OperationSiren object at 0x7fe5cd792d10> │ │
│ │ swipe = (3, 0) │ │
│ │ swipe_limit = (6, 5) │ │
│ │ vector = array([3, 0]) │ │
│ ╰───────────────────────────────────────────────────────────────────────────────────╯ │
│ │
│ /home/Alas/AzurLaneAutoScript/module/map/camera.py:84 in map_swipe │
│ │
│ 82 │ │ vector = np.array(vector) │
│ 83 │ │ vector = np.array([0.5, 0.5]) - self.view.center_offset + vector │
│ ❱ 84 │ │ return self._map_swipe(vector) │
│ 85 │ │
│ 86 │ def focus_to_grid_center(self, tolerance=None): │
│ │
│ ╭─────────────────────────────────── locals ───────────────────────────────────╮ │
│ │ self = <module.os.operation_siren.OperationSiren object at 0x7fe5cd792d10> │ │
│ │ vector = array([ 2.99824243, -0.00640643]) │ │
│ ╰──────────────────────────────────────────────────────────────────────────────╯ │
│ │
│ /home/Alas/AzurLaneAutoScript/module/os/camera.py:20 in _map_swipe │
│ │
│ 18 │ │
│ 19 │ def _map_swipe(self, vector, box=(239, 128, 993, 628)): │
│ ❱ 20 │ │ return super()._map_swipe(vector, box=box) │
│ 21 │ │
│ 22 │ def _view_init(self): │
│ │
│ ╭──────────────────────────────────── locals ─────────────────────────────────────╮ │
│ │ __class__ = <class 'module.os.camera.OSCamera'> │ │
│ │ box = (239, 128, 993, 628) │ │
│ │ self = <module.os.operation_siren.OperationSiren object at 0x7fe5cd792d10> │ │
│ │ vector = array([ 2.99824243, -0.00640643]) │ │
│ ╰─────────────────────────────────────────────────────────────────────────────────╯ │
│ │
│ /home/Alas/AzurLaneAutoScript/module/map/camera.py:61 in _map_swipe │
│ │
│ 59 │ │ │ self.device.swipe_vector(vector, name=name, box=box, │
│ whitelist_area=whitelist, blacklist_area=blacklist) │
│ 60 │ │ │ self.device.sleep(0.3) │
│ ❱ 61 │ │ │ self.update() │
│ 62 │ │ │ return True │
│ 63 │ │ else: │
│ │
│ ╭──────────────────────────────────── locals ─────────────────────────────────────╮ │
│ │ blacklist = [(581, 391, 699, 479), (256, 392, 383, 480)] │ │
│ │ box = (239, 128, 993, 628) │ │
│ │ distance = array([111.31900453, 78.94993086]) │ │
│ │ name = 'MAP_SWIPE_3_0' │ │
│ │ self = <module.os.operation_siren.OperationSiren object at 0x7fe5cd792d10> │ │
│ │ vector = array([-333.76136261, 0.50578687]) │ │
│ │ whitelist = [] │ │
│ ╰─────────────────────────────────────────────────────────────────────────────────╯ │
│ │
│ /home/Alas/AzurLaneAutoScript/module/map/camera.py:265 in update │
│ │
│ 263 │ │ while 1: │
│ 264 │ │ │ try: │
│ ❱ 265 │ │ │ │ success = self._update(camera=camera) │
│ 266 │ │ │ │ if success: │
│ 267 │ │ │ │ │ break │
│ │
│ ╭────────────────────────────────────── locals ───────────────────────────────────────╮ │
│ │ allow_error = False │ │
│ │ camera = True │ │
│ │ confirm_timer = Timer(limit=5.712/5, count=16/10) │ │
│ │ self = <module.os.operation_siren.OperationSiren object at 0x7fe5cd792d10> │ │
│ │ success = False │ │
│ ╰─────────────────────────────────────────────────────────────────────────────────────╯ │
│ │
│ /home/Alas/AzurLaneAutoScript/module/map/camera.py:203 in _update │
│ │
│ 201 │ │ │ │ │ return False │
│ 202 │ │ │ │ else: │
│ ❱ 203 │ │ │ │ │ raise e │
│ 204 │ │ │ elif 'Camera outside map' in str(e): │
│ 205 │ │ │ │ string = str(e) │
│ │
│ ╭─────────────────────────────────── locals ───────────────────────────────────╮ │
│ │ camera = True │ │
│ │ self = <module.os.operation_siren.OperationSiren object at 0x7fe5cd792d10> │ │
│ ╰──────────────────────────────────────────────────────────────────────────────╯ │
│ │
│ /home/Alas/AzurLaneAutoScript/module/map/camera.py:124 in _update │
│ │
│ 122 │ │ │ │ │ and not self.is_in_strategy_submarine_move(): │
│ 123 │ │ │ │ logger.warning('Image to detect is not in_map') │
│ ❱ 124 │ │ │ │ raise MapDetectionError('Image to detect is not in_map') │
│ 125 │ │ │ self.view.load(self.device.image) │
│ 126 │ │ except MapDetectionError as e: │
│ │
│ ╭─────────────────────────────────── locals ───────────────────────────────────╮ │
│ │ camera = True │ │
│ │ self = <module.os.operation_siren.OperationSiren object at 0x7fe5cd792d10> │ │
│ ╰──────────────────────────────────────────────────────────────────────────────╯ │
╰─────────────────────────────────────────────────────────────────────────────────────────────╯
MapDetectionError: Image to detect is not in_map
INFO 18:57:28.543 │ Push notify success