LmeSzinc / AzurLaneAutoScript

Azur Lane bot (CN/EN/JP/TW) 碧蓝航线脚本 | 无缝委托科研,全自动大世界
https://alas.azurlane.cloud
GNU General Public License v3.0
6.9k stars 825 forks source link

活动图开荒报错walk_out_of_step #3699

Open YatsukiRenka opened 6 months ago

YatsukiRenka commented 6 months ago

在提问之前...

描述你的问题

从SP1开始就无法正常推图了, 自己手动推了两章之后SP3仍然没法正常推图, 活动图设置中步长已设置为2, 错误log显示walk_out_of_step

如何复现

  1. 前往 '...'
  2. 点击 '....'
  3. 滑动到 '....'
  4. 出现问题

预期行为

No response

相关 Logs

WARNING  16:07:37.873 │ Map walk out of step.                                      
ERROR    16:07:40.684 │ MapWalkError: walk_out_of_step                             
         ╭────────────────── Traceback (most recent call last) ───────────────────╮
         │                                                                        │
         │ D:\App\AzurLaneAutoScript\module\map\fleet.py:497 in goto              │
         │                                                                        │
         │    495 │   │   │   │   │   │   self._goto(grids[0], expected='')       │
         │    496 │   │   │   │   try:                                            │
         │ ❱  497 │   │   │   │   │   self._goto(node, expected=expected if node  │
         │    498 │   │   │   │   except MapWalkError:                            │
         │    499 │   │   │   │   │   logger.warning('Map walk error.')           │
         │                                                                        │
         │ ╭────────────────────────────── locals ──────────────────────────────╮ │
         │ │ expected = 'combat'                                                │ │
         │ │ location = (0, 2)                                                  │ │
         │ │     node = (2, 4)                                                  │ │
         │ │    node_ = (2, 4)                                                  │ │
         │ │    nodes = [(2, 4), (1, 3), (0, 3), (0, 2)]                        │ │
         │ │   nodes_ = [(2, 4)]                                                │ │
         │ │ optimize = True                                                    │ │
         │ │     self = <campaign.event_20240425_cn.sp3.Campaign object at      │ │
         │ │            0x000001A3F6397E48>                                     │ │
         │ ╰────────────────────────────────────────────────────────────────────╯ │
         │ D:\App\AzurLaneAutoScript\module\map\fleet.py:379 in _goto             │
         │                                                                        │
         │    377 │   │   │   │                                                   │
         │    378 │   │   │   │   if self.handle_walk_out_of_step():              │
         │ ❱  379 │   │   │   │   │   raise MapWalkError('walk_out_of_step')      │
         │    380 │   │   │   │                                                   │
         │    381 │   │   │   │   # Arrive                                        │
         │                                                                        │
         │ ╭────────────────────────────── locals ──────────────────────────────╮ │
         │ │          ambushed_retry = Timer(limit=0.0/0.5, count=2/2)          │ │
         │ │          arrive_checker = False                                    │ │
         │ │          arrive_predict = ''                                       │ │
         │ │            arrive_timer = Timer(limit=0.0/0.5, count=2/2)          │ │
         │ │ arrive_unexpected_timer = Timer(limit=0.0/1.5, count=6/6)          │ │
         │ │                 arrived = False                                    │ │
         │ │                expected = ''                                       │ │
         │ │                   extra = 0                                        │ │
         │ │                    grid = C4                                       │ │
         │ │               is_portal = False                                    │ │
         │ │                location = (2, 4)                                   │ │
         │ │      may_submarine_icon = False                                    │ │
         │ │                 mystery = False                                    │ │
         │ │                  result = 'nothing'                                │ │
         │ │          result_mystery = ''                                       │ │
         │ │                    self = <campaign.event_20240425_cn.sp3.Campaign │ │
         │ │                           object at 0x000001A3F6397E48>            │ │
         │ │            walk_timeout = Timer(limit=13.411/20, count=6/0)        │ │
         │ ╰────────────────────────────────────────────────────────────────────╯ │
         ╰────────────────────────────────────────────────────────────────────────╯
         MapWalkError: walk_out_of_step                                            

         During handling of the above exception, another exception occurred:       

         ╭────────────────── Traceback (most recent call last) ───────────────────╮
         │                                                                        │
         │ D:\App\AzurLaneAutoScript\alas.py:68 in run                            │
         │                                                                        │
         │    66 │   │   try:                                                     │
         │    67 │   │   │   self.device.screenshot()                             │
         │ ❱  68 │   │   │   self.__getattribute__(command)()                     │
         │    69 │   │   │   return True                                          │
         │    70 │   │   except TaskEnd:                                          │
         │                                                                        │
         │ ╭───────────────────────────── locals ─────────────────────────────╮   │
         │ │ command = 'event'                                                │   │
         │ │       e = MapWalkError('walk_out_of_step')                       │   │
         │ │    self = <alas.AzurLaneAutoScript object at 0x000001A3B64C01C8> │   │
         │ ╰──────────────────────────────────────────────────────────────────╯   │
         │ D:\App\AzurLaneAutoScript\alas.py:358 in event                         │
         │                                                                        │
         │   356 │   │   from module.campaign.run import CampaignRun              │
         │   357 │   │   CampaignRun(config=self.config, device=self.device).run( │
         │ ❱ 358 │   │   │   name=self.config.Campaign_Name, folder=self.config.C │
         │       mode=self.config.Campaign_Mode)                                  │
         │   359 │                                                                │
         │   360 │   def event2(self):                                            │
         │                                                                        │
         │ ╭────────────────────────────── locals ──────────────────────────────╮ │
         │ │ CampaignRun = <class 'module.campaign.run.CampaignRun'>            │ │
         │ │        self = <alas.AzurLaneAutoScript object at                   │ │
         │ │               0x000001A3B64C01C8>                                  │ │
         │ ╰────────────────────────────────────────────────────────────────────╯ │
         │                                                                        │
         │ D:\App\AzurLaneAutoScript\module\campaign\run.py:387 in run            │
         │                                                                        │
         │   385 │   │   │   self.device.click_record_clear()                     │
         │   386 │   │   │   try:                                                 │
         │ ❱ 387 │   │   │   │   self.campaign.run()                              │
         │   388 │   │   │   except ScriptEnd as e:                               │
         │   389 │   │   │   │   logger.hr('Script end')                          │
         │                                                                        │
         │ ╭────────────────────────────── locals ──────────────────────────────╮ │
         │ │ folder = 'event_20240425_cn'                                       │ │
         │ │   mode = 'normal'                                                  │ │
         │ │   name = 'sp3'                                                     │ │
         │ │   self = <module.campaign.run.CampaignRun object at                │ │
         │ │          0x000001A3F694BEC8>                                       │ │
         │ │  total = 0                                                         │ │
         │ ╰────────────────────────────────────────────────────────────────────╯ │
         │                                                                        │
         │ D:\App\AzurLaneAutoScript\module\campaign\campaign_base.py:141 in run  │
         │                                                                        │
         │   139 │   │   │   try:                                                 │
         │   140 │   │   │   │   if not self.map_is_auto_search:                  │
         │ ❱ 141 │   │   │   │   │   self.execute_a_battle()                      │
         │   142 │   │   │   │   else:                                            │
         │   143 │   │   │   │   │   self.auto_search_execute_a_battle()          │
         │                                                                        │
         │ ╭────────────────────────────── locals ──────────────────────────────╮ │
         │ │    _ = 2                                                           │ │
         │ │ self = <campaign.event_20240425_cn.sp3.Campaign object at          │ │
         │ │        0x000001A3F6397E48>                                         │ │
         │ ╰────────────────────────────────────────────────────────────────────╯ │
         │                                                                        │
         │ D:\App\AzurLaneAutoScript\module\campaign\campaign_base.py:100 in      │
         │ execute_a_battle                                                       │
         │                                                                        │
         │    98 │   │   for _ in range(10):                                      │
         │    99 │   │   │   try:                                                 │
         │ ❱ 100 │   │   │   │   result = self.battle_function()                  │
         │   101 │   │   │   │   break                                            │
         │   102 │   │   │   except MapEnemyMoved:                                │
         │                                                                        │
         │ ╭────────────────────────────── locals ──────────────────────────────╮ │
         │ │      _ = 1                                                         │ │
         │ │   prev = 1                                                         │ │
         │ │ result = False                                                     │ │
         │ │   self = <campaign.event_20240425_cn.sp3.Campaign object at        │ │
         │ │          0x000001A3F6397E48>                                       │ │
         │ ╰────────────────────────────────────────────────────────────────────╯ │
         │                                                                        │
         │ D:\App\AzurLaneAutoScript\module\base\decorator.py:70 in wrapper       │
         │                                                                        │
         │    68 │   │   │   │   │   │   continue                                 │
         │    69 │   │   │   │   │                                                │
         │ ❱  70 │   │   │   │   │   return record['func'](self, *args, **kwargs) │
         │    71 │   │   │   │                                                    │
         │    72 │   │   │   │   logger.warning(f'No option fits for {name}, usin │
         │       func.')                                                          │
         │                                                                        │
         │ ╭────────────────────────────── locals ──────────────────────────────╮ │
         │ │   args = ()                                                        │ │
         │ │    cls = <class 'module.base.decorator.Config'>                    │ │
         │ │   flag = [True]                                                    │ │
         │ │   func = <function CampaignBase.battle_function at                 │ │
         │ │          0x000001A3F764C168>                                       │ │
         │ │ kwargs = {}                                                        │ │
         │ │ logger = <Logger alas (INFO)>                                      │ │
         │ │   name = 'battle_function'                                         │ │
         │ │ record = {                                                         │ │
         │ │          │   'options': {'MAP_CLEAR_ALL_THIS_TIME': True},         │ │
         │ │          │   'func': <function CampaignBase.battle_function at     │ │
         │ │          0x000001A3F764C1F8>                                       │ │
         │ │          }                                                         │ │
         │ │   self = <campaign.event_20240425_cn.sp3.Campaign object at        │ │
         │ │          0x000001A3F6397E48>                                       │ │
         │ ╰────────────────────────────────────────────────────────────────────╯ │
         │                                                                        │
         │ D:\App\AzurLaneAutoScript\module\campaign\campaign_base.py:74 in       │
         │ battle_function                                                        │
         │                                                                        │
         │    72 │   │   │   │   │   return True                                  │
         │    73 │   │   │   │   self.clear_mechanism()                           │
         │ ❱  74 │   │   │   │   return self.battle_default()                     │
         │    75 │   │   else:                                                    │
         │    76 │   │   │   result = self.battle_boss()                          │
         │                                                                        │
         │ ╭────────────────────────────── locals ──────────────────────────────╮ │
         │ │ remain = <module.map.map_grids.SelectedGrids object at             │ │
         │ │          0x000001A3F6AA81C8>                                       │ │
         │ │   self = <campaign.event_20240425_cn.sp3.Campaign object at        │ │
         │ │          0x000001A3F6397E48>                                       │ │
         │ ╰────────────────────────────────────────────────────────────────────╯ │
         │                                                                        │
         │ D:\App\AzurLaneAutoScript\module\campaign\campaign_base.py:15 in       │
         │ battle_default                                                         │
         │                                                                        │
         │    13 │                                                                │
         │    14 │   def battle_default(self):                                    │
         │ ❱  15 │   │   if self.clear_enemy():                                   │
         │    16 │   │   │   return True                                          │
         │    17                                                                  │
         │                                                                        │
         │ ╭────────────────────────────── locals ──────────────────────────────╮ │
         │ │ self = <campaign.event_20240425_cn.sp3.Campaign object at          │ │
         │ │        0x000001A3F6397E48>                                         │ │
         │ ╰────────────────────────────────────────────────────────────────────╯ │
         │                                                                        │
         │ D:\App\AzurLaneAutoScript\module\map\map.py:206 in clear_enemy         │
         │                                                                        │
         │   204 │   │   │   logger.hr('Clear enemy')                             │
         │   205 │   │   │   self.show_select_grids(grids, **kwargs)              │
         │ ❱ 206 │   │   │   self.clear_chosen_enemy(grids[0])                    │
         │   207 │   │   │   return True                                          │
         │   208                                                                  │
         │                                                                        │
         │ ╭────────────────────────────── locals ──────────────────────────────╮ │
         │ │  grids = <module.map.map_grids.SelectedGrids object at             │ │
         │ │          0x000001A3973901C8>                                       │ │
         │ │ kwargs = {'strongest': True}                                       │ │
         │ │   self = <campaign.event_20240425_cn.sp3.Campaign object at        │ │
         │ │          0x000001A3F6397E48>                                       │ │
         │ │ target = 'default_mode'                                            │ │
         │ ╰────────────────────────────────────────────────────────────────────╯ │
         │                                                                        │
         │ D:\App\AzurLaneAutoScript\module\map\map.py:27 in clear_chosen_enemy   │
         │                                                                        │
         │    25 │   │   if self.emotion.is_calculate and self.config.Campaign_Us │
         │    26 │   │   │   self.emotion.wait(fleet_index=self.fleet_current_ind │
         │ ❱  27 │   │   self.goto(grid, expected=expected)                       │
         │    28 │   │                                                            │
         │    29 │   │   self.full_scan()                                         │
         │                                                                        │
         │ ╭────────────────────────────── locals ──────────────────────────────╮ │
         │ │ expected = 'combat'                                                │ │
         │ │     grid = A3                                                      │ │
         │ │     self = <campaign.event_20240425_cn.sp3.Campaign object at      │ │
         │ │            0x000001A3F6397E48>                                     │ │
         │ ╰────────────────────────────────────────────────────────────────────╯ │
         │                                                                        │
         │ D:\App\AzurLaneAutoScript\module\map\fleet.py:504 in goto              │
         │                                                                        │
         │    502 │   │   │   │   │   nodes_ = self.map.find_path(node, step=1)   │
         │    503 │   │   │   │   │   for node_ in nodes_:                        │
         │ ❱  504 │   │   │   │   │   │   self._goto(node_, expected=expected if  │
         │        '')                                                             │
         │    505 │   │   else:                                                   │
         │    506 │   │   │   self._goto(location, expected=expected)             │
         │                                                                        │
         │ ╭────────────────────────────── locals ──────────────────────────────╮ │
         │ │ expected = 'combat'                                                │ │
         │ │ location = (0, 2)                                                  │ │
         │ │     node = (2, 4)                                                  │ │
         │ │    node_ = (2, 4)                                                  │ │
         │ │    nodes = [(2, 4), (1, 3), (0, 3), (0, 2)]                        │ │
         │ │   nodes_ = [(2, 4)]                                                │ │
         │ │ optimize = True                                                    │ │
         │ │     self = <campaign.event_20240425_cn.sp3.Campaign object at      │ │
         │ │            0x000001A3F6397E48>                                     │ │
         │ ╰────────────────────────────────────────────────────────────────────╯ │
         │                                                                        │
         │ D:\App\AzurLaneAutoScript\module\map\fleet.py:379 in _goto             │
         │                                                                        │
         │    377 │   │   │   │                                                   │
         │    378 │   │   │   │   if self.handle_walk_out_of_step():              │
         │ ❱  379 │   │   │   │   │   raise MapWalkError('walk_out_of_step')      │
         │    380 │   │   │   │                                                   │
         │    381 │   │   │   │   # Arrive                                        │
         │                                                                        │
         │ ╭────────────────────────────── locals ──────────────────────────────╮ │
         │ │          ambushed_retry = Timer(limit=0.0/0.5, count=2/2)          │ │
         │ │          arrive_checker = False                                    │ │
         │ │          arrive_predict = ''                                       │ │
         │ │            arrive_timer = Timer(limit=0.0/0.5, count=2/2)          │ │
         │ │ arrive_unexpected_timer = Timer(limit=0.0/1.5, count=6/6)          │ │
         │ │                 arrived = False                                    │ │
         │ │                expected = ''                                       │ │
         │ │                   extra = 0                                        │ │
         │ │                    grid = C4                                       │ │
         │ │               is_portal = False                                    │ │
         │ │                location = (2, 4)                                   │ │
         │ │      may_submarine_icon = False                                    │ │
         │ │                 mystery = False                                    │ │
         │ │                  result = 'nothing'                                │ │
         │ │          result_mystery = ''                                       │ │
         │ │                    self = <campaign.event_20240425_cn.sp3.Campaign │ │
         │ │                           object at 0x000001A3F6397E48>            │ │
         │ │            walk_timeout = Timer(limit=3.269/20, count=4/0)         │ │
         │ ╰────────────────────────────────────────────────────────────────────╯ │
         ╰────────────────────────────────────────────────────────────────────────╯
         MapWalkError: walk_out_of_step                                            
WARNING  16:07:40.981 │ Saving error: ./log/error/1714291660981                    
INFO     16:07:41.173 │ No provider specified, skip sending

截图

QQ图片20240428160851

还有别的吗?

No response

YatsukiRenka commented 6 months ago

补充一下活动图设置, 此前未出现类似问题 模拟器是mumu12, 模拟器和alas均更新到最新

QQ图片20240428161317

qyyxxx407 commented 6 months ago

同一个问题,星界alas版和模拟器都没办法正常开荒

LmeSzinc commented 6 months ago

上传 ./log/error/1714291660981

YatsukiRenka commented 6 months ago

上传 ./log/error/1714291660981

1714291660981.zip

手动推到SP4就可以开荒了, 但是前面SP1和SP3都不行

hotaru-hoshizora commented 6 months ago

ALAS_SP5error.txt image 我在SP5手动开荒也遇到类似问题,而SP1-SP4正常开荒。 但是ALAS没有抛出error log。

1289183863 commented 5 months ago

请问这类问题你解决了吗?