SevCrane / AlasGG

GNU General Public License v3.0
6 stars 4 forks source link

紧急委托换船bug #1

Open dmsxj3 opened 2 months ago

dmsxj3 commented 2 months ago

在提问之前...

描述你的问题

活动图刷完后,换船,截图过快导致的bug,试了试Lme的官方版,手动开启gg,并没有换船bug, 截图方式由nemu_ipc改成DroidCast_raw依旧无法正常换船 挂机的机器是笔记本9300h+1660ti+32g内存 模拟器MuMu12(3.8.13)

如何复现

  1. 前往 '主界面'
  2. 点击 '编队'
  3. 滑动到 ''
  4. 出现问题

预期行为

正常换船

相关 Logs

BATTLE_6 ───────────────────────────────────────────────────────
2024-08-23 19:23:57.550 | INFO | BATTLE_6                                                                              
2024-08-23 19:23:57.552 | INFO | Auto search moving                                                                    
2024-08-23 19:23:57.555 | INFO | Fleet: 1, fleet_current_index: 1                                                      
2024-08-23 19:23:57.642 | INFO | [LevelOcr 0.083s] [32, 0, 0, 100, 0, 0]                                               
2024-08-23 19:23:57.645 | INFO | [LEVEL] 32, 0, 0, 100, 0, 0                                                           
2024-08-23 19:23:57.647 | INFO | Position 0 LV.32 Reached                                                              
2024-08-23 19:23:57.691 | INFO | [OCR_OIL 0.042s] 12516                                                                
2024-08-23 19:23:57.758 | INFO | [OCR_OIL_LIMIT 0.065s] 17600                                                          
2024-08-23 19:23:57.811 | INFO | [OCR_COIN 0.045s] 113278                                                              
2024-08-23 19:23:57.889 | INFO | [OCR_COIN_LIMIT 0.075s] 108600                                                        
2024-08-23 19:23:58.994 | INFO | <<< CAMPAIGN END >>>                                                                  
2024-08-23 19:23:58.996 | INFO | Updating config for dashboard                                                         
2024-08-23 19:23:59.019 | INFO | Bind task ['General', 'Alas', 'TaskBalancer', 'EventGeneral', 'GemsFarming']          
2024-08-23 19:23:59.021 | INFO | Save config ./config\MuMu12华为碧蓝.json, Dashboard.Oil.Value=12516,                  
Dashboard.Oil.Record=datetime.datetime(2024, 8, 23, 19, 23, 57), Dashboard.Coin.Value=113278,                          
Dashboard.Coin.Record=datetime.datetime(2024, 8, 23, 19, 23, 57)                                                       
2024-08-23 19:23:59.042 | INFO | <<< TRIGGERED LV32 LIMIT >>>                                                          
2024-08-23 19:23:59.051 | INFO | Click ( 425,  627) @ AUTO_SEARCH_MENU_EXIT                                            
═══════════════════════════════════════════════════ CHANGE FLAGSHIP ═══════════════════════════════════════════════════
2024-08-23 19:23:59.450 | INFO | CHANGE FLAGSHIP                                                                       
2024-08-23 19:23:59.453 | INFO | [ChangeFlagship] ship                                                                 
─────────────────────────────────────────────────── CHANGE FLAGSHIP ───────────────────────────────────────────────────
2024-08-23 19:23:59.455 | INFO | CHANGE FLAGSHIP                                                                       
2024-08-23 19:23:59.456 | INFO | <<< UI ENSURE >>>                                                                     
2024-08-23 19:23:59.458 | INFO | UI get current page                                                                   
2024-08-23 19:23:59.469 | INFO | [UI] page_event                                                                       
2024-08-23 19:23:59.471 | INFO | Goto page_fleet                                                                       
2024-08-23 19:23:59.474 | INFO | <<< UI GOTO PAGE_FLEET >>>                                                            
2024-08-23 19:23:59.486 | INFO | Page switch: page_event -> page_main                                                  
2024-08-23 19:23:59.489 | INFO | Click (1241,   39) @ GOTO_MAIN                                                        
2024-08-23 19:24:00.419 | INFO | Page switch: page_main_white -> page_fleet                                            
2024-08-23 19:24:00.421 | INFO | Click (1080,  476) @ MAIN_GOTO_FLEET_WHITE                                            
2024-08-23 19:24:01.048 | INFO | Page arrive: page_fleet                                                               
2024-08-23 19:24:01.050 | INFO | <<< UI ENSURE INDEX >>>                                                               
2024-08-23 19:24:01.067 | INFO | [OCR_FLEET_INDEX 0.016s] 1                                                            
2024-08-23 19:24:01.069 | INFO | [Index] 1                                                                             
2024-08-23 19:24:01.070 | ERROR | AttributeError: 'GemsFarming' object has no attribute 'hard_mode'                    
┌───────────────────────────────────────── Traceback (most recent call last) ─────────────────────────────────────────┐
│                                                                                                                     │
│ D:\game\AlasGG\alas.py:73 in run                                                                                    │
│                                                                                                                     │
│    70 │   │   try:                                                                                                  │
│    71 │   │   │   if not skip_first_screenshot:                                                                     │
│    72 │   │   │   │   self.device.screenshot()                                                                      │
│ >  73 │   │   │   self.__getattribute__(command)()                                                                  │
│    74 │   │   │   return True                                                                                       │
│    75 │   │   except TaskEnd:                                                                                       │
│    76 │   │   │   return True                                                                                       │
│                                                                                                                     │
│ ┌────────────────────────────────────────── locals ───────────────────────────────────────────┐                     │
│ │               command = 'gems_farming'                                                      │                     │
│ │                     e = AttributeError("'GemsFarming' object has no attribute 'hard_mode'") │                     │
│ │                  self = <alas.AzurLaneAutoScript object at 0x000002C0FA321C48>              │                     │
│ │ skip_first_screenshot = False                                                               │                     │
│ └─────────────────────────────────────────────────────────────────────────────────────────────┘                     │
│ D:\game\AlasGG\alas.py:413 in gems_farming                                                                          │
│                                                                                                                     │
│   410 │   def gems_farming(self):                                                                                   │
│   411 │   │   from module.campaign.gems_farming import GemsFarming                                                  │
│   412 │   │   GemsFarming(config=self.config, device=self.device).run(                                              │
│ > 413 │   │   │   name=self.config.Campaign_Name, folder=self.config.Campaign_Event,                                │
│       mode=self.config.Campaign_Mode)                                                                               │
│   414 │                                                                                                             │
│   415 │   def wait_until(self, future):                                                                             │
│   416 │   │   """                                                                                                   │
│                                                                                                                     │
│ ┌─────────────────────────────── locals ───────────────────────────────┐                                            │
│ │ GemsFarming = <class 'module.campaign.gems_farming.GemsFarming'>     │                                            │
│ │        self = <alas.AzurLaneAutoScript object at 0x000002C0FA321C48> │                                            │
│ └──────────────────────────────────────────────────────────────────────┘                                            │
│                                                                                                                     │
│ D:\game\AlasGG\module\campaign\gems_farming.py:557 in run                                                           │
│                                                                                                                     │
│   554 │   │   │   if self._trigger_lv32 or self._trigger_emotion:                                                   │
│   555 │   │   │   │   success = True                                                                                │
│   556 │   │   │   │   if self.change_flagship:                                                                      │
│ > 557 │   │   │   │   │   success = self.flagship_change()                                                          │
│   558 │   │   │   │   if self.change_vanguard:                                                                      │
│   559 │   │   │   │   │   success = success and self.vanguard_change()                                              │
│   560                                                                                                               │
│                                                                                                                     │
│ ┌────────────────────────────────────── locals ───────────────────────────────────────┐                             │
│ │ __class__ = <class 'module.campaign.gems_farming.GemsFarming'>                      │                             │
│ │    folder = 'campaign_main'                                                         │                             │
│ │  is_limit = 0                                                                       │                             │
│ │      mode = 'normal'                                                                │                             │
│ │      name = 'B3'                                                                    │                             │
│ │      self = <module.campaign.gems_farming.GemsFarming object at 0x000002C0AB572A08> │                             │
│ │   success = True                                                                    │                             │
│ │     total = 0                                                                       │                             │
│ └─────────────────────────────────────────────────────────────────────────────────────┘                             │
│                                                                                                                     │
│ D:\game\AlasGG\module\campaign\gems_farming.py:207 in flagship_change                                               │
│                                                                                                                     │
│   204 │   │                                                                                                         │
│   205 │   │   logger.hr('Change flagship', level=2)                                                                 │
│   206 │   │   self._fleet_detail_enter()                                                                            │
│ > 207 │   │   success = self.flagship_change_execute()                                                              │
│   208 │   │                                                                                                         │
│   209 │   │   if self.change_flagship_equip:                                                                        │
│   210 │   │   │   logger.hr('Equip flagship equipment', level=2)                                                    │
│                                                                                                                     │
│ ┌─────────────────────────────────────── locals ───────────────────────────────────────┐                            │
│ │ index_list = range(3, 5)                                                             │                            │
│ │       self = <module.campaign.gems_farming.GemsFarming object at 0x000002C0AB572A08> │                            │
│ └──────────────────────────────────────────────────────────────────────────────────────┘                            │
│                                                                                                                     │
│ D:\game\AlasGG\module\campaign\gems_farming.py:421 in flagship_change_execute                                       │
│                                                                                                                     │
│   418 │   │   │   in: page_fleet                                                                                    │
│   419 │   │   │   out: page_fleet                                                                                   │
│   420 │   │   """                                                                                                   │
│ > 421 │   │   self.solve_hard_flagship_black()                                                                      │
│   422 │   │   self.ui_click(self.FLEET_ENTER_FLAGSHIP,                                                              │
│   423 │   │   │   │   │     appear_button=self.page_fleet_check_button,                                             │
│       check_button=DOCK_CHECK, skip_first_screenshot=True)                                                          │
│   424 │   │   self.dock_filter_set(                                                                                 │
│                                                                                                                     │
│ ┌──────────────────────────────────── locals ────────────────────────────────────┐                                  │
│ │ self = <module.campaign.gems_farming.GemsFarming object at 0x000002C0AB572A08> │                                  │
│ └────────────────────────────────────────────────────────────────────────────────┘                                  │
│                                                                                                                     │
│ D:\game\AlasGG\module\campaign\gems_farming.py:399 in solve_hard_flagship_black                                     │
│                                                                                                                     │
│   396 │   │   │   raise ScriptError(f'Invalid CommonDD setting: {common_dd}')                                       │
│   397 │                                                                                                             │
│   398 │   def solve_hard_flagship_black(self):                                                                      │
│ > 399 │   │   if self.hard_mode:                                                                                    │
│   400 │   │   │   self.ui_click(self.FLEET_ENTER_FLAGSHIP,                                                          │
│   401 │   │   │   │   │   │     appear_button=self.page_fleet_check_button,                                         │
│       check_button=DOCK_CHECK,                                                                                      │
│   402 │   │   │   │   │   │     skip_first_screenshot=True)                                                         │
│                                                                                                                     │
│ ┌──────────────────────────────────── locals ────────────────────────────────────┐                                  │
│ │ self = <module.campaign.gems_farming.GemsFarming object at 0x000002C0AB572A08> │                                  │
│ └────────────────────────────────────────────────────────────────────────────────┘                                  │
└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
AttributeError: 'GemsFarming' object has no attribute 'hard_mode'                                                      
2024-08-23 19:24:01.735 | WARNING | Saving error: ./log/error/1724412241735

截图

2024-08-23_19-24-00-847999 2024-08-23_19-24-01-045274

还有别的吗?

log.txt

dmsxj3 commented 2 months ago

紧急委托刷的是B3

SevCrane commented 2 months ago

你可以尝试一下自己拉取官方项目到本地,和GG合并。因为我目前不在家,没有办法更新项目,估计要等到九月之后,而且我也只是负责把两个项目合并一下,自己本身并没有多少代码能力,见谅😢

dmsxj3 commented 2 months ago

你可以尝试一下自己拉取官方项目到本地,和GG合并。因为我目前不在家,没有办法更新项目,估计要等到九月之后,而且我也只是负责把两个项目合并一下,自己本身并没有多少代码能力,见谅😢

好吧

ReDawn2020 commented 5 days ago

目前这个bug还存在,解决思路有人是这么解决的

---原始邮件--- 发件人: "Bye Good"[SayaGoodBye@outlook.com](mailto:SayaGoodBye@outlook.com) 发送时间: 2024年8月2日(周五) 下午3:55 收件人: "727299658"[727299658@qq.com](mailto:727299658@qq.com); 主题: 回复: 回复:Alas-with-Dashboard-ReDawn强化时报错,稳定复现

刚才尝试了module\retire\enhancement.py里self.equip都改为self.ship就不会在强化的时候报错了。 我刚刚手动把船坞刷满,让alas来强化或者退役,目前看它强化了几次都没有问题。 但是我这边还没轮到退役,不知道退役会不会有问题。目前它在继续运行,我想看看在需要退役的时候会不会报错。 等到出现报错或者过一段时间我发现退役恢复正常的话我会再发一封邮件。

因为我看到alas官版这个问题的第二次修复也是这么操作的。https://github.com/LmeSzinc/AzurLaneAutoScript/pull/3665

所以具体修改只有四个部分: self.equip_enter改为self.ship_info_enter if not self.equip_side_navbar_ensure(bottom=4):改为if not self.ship_side_navbar_ensure(bottom=4): if self.equip_view_next(check_button=ENHANCE_RECOMMEND):改为if self.ship_view_next(check_button=ENHANCE_RECOMMEND): while self.device.click_record[-1] in ['ENHANCE_RECOMMEND', 'EQUIP_SWIPE']:改为while self.device.click_record[-1] in ['ENHANCE_RECOMMEND', 'SHIP_SWIPE']:

SevCrane commented 5 days ago

已进行修改,其实可能出现的问题是我在合并的时候没有完全合并导致有部分代码和lme的著主代码不一致,直接对不一致的文件进行替换即可

ReDawn2020 commented 5 days ago

希望能够解决,没问题我就不需要更新了= = 另外我能找过来是因为DISCORD里其他人说有人在咸鱼卖自己合的ALASGG,但是最近有更新的库就那么几个,如果不是您卖的最好加个声明

SevCrane commented 5 days ago

好的