Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

一键退役失败 #4410

Open
4 tasks done
Mosy135 opened this issue Dec 4, 2024 · 4 comments
Open
4 tasks done

一键退役失败 #4410

Mosy135 opened this issue Dec 4, 2024 · 4 comments
Labels
bug / 缺陷 Something isn't working

Comments

@Mosy135
Copy link

Mosy135 commented Dec 4, 2024

在提问之前...

  • 我已经搜索了现有的 issues
  • 我在提问题之前至少花费了 5 分钟来思考和准备
  • 我已经阅读了 Wiki 中的 常见问题(FAQ)
  • 我正在使用最新版的 Alas

描述你的问题

  1. ALAS网页版运行较长时间后,退役舰船时会失败报错,可以多次稳定复现,但我无法定位到出错原因
  2. 期间自己手动退役会延缓BUG出现时间,推测是由于蓝紫舰船过多导致报错

如何复现

  1. 游戏设置一键退役为仅退役R,SR,无,其它选项同推荐设置
  2. ALAS设置退役模式为:强化;强化全部舰船
  3. 运行紧急委托
  4. 数天后出现问题,卡在图示界面

预期行为

正常退役

相关 Logs

────────────────────────────────────────── BATTLE_1 ───────────────────────────────────────────
INFO     11:14:26.140 │ BATTLE_1                                                               
INFO     11:14:26.142 │ Auto search moving                                                     
INFO     11:14:26.146 │ Fleet: 1, fleet_current_index: 1                                       
INFO     11:14:26.210 │ [LevelOcr 0.061s] [31, 0, 0, 100, 0, 0]                                
INFO     11:14:26.214 │ [LEVEL] 31, 0, 0, 100, 0, 0                                            
INFO     11:14:26.243 │ [OCR_OIL 0.027s] 10099                                                 
INFO     11:14:26.278 │ [OCR_COIN 0.031s] 311626                                               
INFO     11:14:33.359 │ Click ( 793,  508) @ POPUP_CONFIRM_IGNORE_LOW_EMOTION                  
INFO     11:14:34.539 │ Click ( 443,  509) @ RETIRE_APPEAR_1                                   
INFO     11:14:36.161 │ <<< RETIREMENT >>>                                                     
INFO     11:14:36.165 │ Using one click retirement.                                            
INFO     11:14:36.167 │ [Favourite_filter] off                                                 
INFO     11:14:36.193 │ Click ( 689,  677) @ ONE_CLICK_RETIREMENT                              
INFO     11:14:38.549 │ Retirement confirm                                                     
INFO     11:14:38.868 │ [RETIRE_CONFIRM_SCROLL_AREA] 0.00 (25.0-25.5)/(478-51)                 
INFO     11:14:38.872 │ RETIRE_CONFIRM_SCROLL_AREA set to 0.096                                
INFO     11:14:38.874 │ [RETIRE_CONFIRM_SCROLL_AREA] 0.00 (25.0-25.5)/(478-51)                 
INFO     11:14:38.877 │ Swipe (1092,  147) -> (1094,  177)                                     
INFO     11:14:39.528 │ [RETIRE_CONFIRM_SCROLL_AREA] 0.01 (17.88888888888889-13.5)/(478-27)    
INFO     11:14:39.902 │ [RETIRE_CONFIRM_SCROLL_AREA] 0.06 (50.90196078431372-25.5)/(478-51)    
INFO     11:14:40.177 │ [RETIRE_CONFIRM_SCROLL_AREA] 0.06 (50.90196078431372-25.5)/(478-51)    
INFO     11:14:40.181 │ [RETIRE_CONFIRM_SCROLL_AREA] 0.06 (50.90196078431372-25.5)/(478-51)    
INFO     11:14:40.184 │ RETIRE_CONFIRM_SCROLL_AREA set to 0.155                                
INFO     11:14:40.186 │ [RETIRE_CONFIRM_SCROLL_AREA] 0.06 (50.90196078431372-25.5)/(478-51)    
INFO     11:14:40.189 │ Swipe (1094,  147) -> (1094,  202)                                     
INFO     11:14:40.812 │ [RETIRE_CONFIRM_SCROLL_AREA] 0.22 (114.0-17.5)/(478-35)                
INFO     11:14:41.186 │ [RETIRE_CONFIRM_SCROLL_AREA] 0.20 (106.3170731707317-20.5)/(478-41)    
INFO     11:14:41.465 │ [RETIRE_CONFIRM_SCROLL_AREA] 0.20 (106.3170731707317-20.5)/(478-41)    
INFO     11:14:41.469 │ Scroll bar disappeared, stop                                           
INFO     11:14:41.472 │ Click (1004,  658) @ SHIP_CONFIRM_2                                    
INFO     11:14:42.209 │ [RETIRE_CONFIRM_SCROLL_AREA] 0.19 (105.5-26.0)/(478-52)                
INFO     11:14:42.212 │ RETIRE_CONFIRM_SCROLL_AREA set to 0.284                                
INFO     11:14:42.215 │ [RETIRE_CONFIRM_SCROLL_AREA] 0.19 (105.5-26.0)/(478-52)                
INFO     11:14:42.218 │ Swipe (1093,  227) -> (1093,  259)                                     
INFO     11:14:42.851 │ [RETIRE_CONFIRM_SCROLL_AREA] 0.00 (nan-0.0)/(478-0)                    
INFO     11:14:43.216 │ [RETIRE_CONFIRM_SCROLL_AREA] 0.19 (105.5-26.0)/(478-52)                
INFO     11:14:43.589 │ [RETIRE_CONFIRM_SCROLL_AREA] 0.19 (105.5-26.0)/(478-52)                
INFO     11:14:43.952 │ [RETIRE_CONFIRM_SCROLL_AREA] 0.19 (105.5-26.0)/(478-52)                
INFO     11:14:43.955 │ Swipe (1093,  201) -> (1093,  256)                                     
INFO     11:14:44.559 │ [RETIRE_CONFIRM_SCROLL_AREA] 0.19 (105.11764705882354-25.5)/(478-51)   
INFO     11:14:44.924 │ [RETIRE_CONFIRM_SCROLL_AREA] 0.31 (158.0-26.5)/(478-53)                
INFO     11:14:45.207 │ [RETIRE_CONFIRM_SCROLL_AREA] 0.31 (158.0-26.5)/(478-53)                
INFO     11:14:45.211 │ [RETIRE_CONFIRM_SCROLL_AREA] 0.31 (158.0-26.5)/(478-53)                
INFO     11:14:45.214 │ RETIRE_CONFIRM_SCROLL_AREA set to 0.409                                
INFO     11:14:45.217 │ [RETIRE_CONFIRM_SCROLL_AREA] 0.31 (158.0-26.5)/(478-53)                
INFO     11:14:45.221 │ Swipe (1093,  274) -> (1092,  313)                                     
INFO     11:14:45.858 │ [RETIRE_CONFIRM_SCROLL_AREA] 0.32 (158.0-13.0)/(478-26)                
INFO     11:14:46.228 │ [RETIRE_CONFIRM_SCROLL_AREA] 0.36 (179.0-26.5)/(478-53)                
INFO     11:14:46.601 │ [RETIRE_CONFIRM_SCROLL_AREA] 0.36 (179.0-26.5)/(478-53)                
INFO     11:14:46.605 │ Swipe (1094,  288) -> (1093,  316)                                     
INFO     11:14:47.196 │ [RETIRE_CONFIRM_SCROLL_AREA] 0.44 (212.0-26.5)/(478-53)                
INFO     11:14:47.476 │ [RETIRE_CONFIRM_SCROLL_AREA] 0.44 (212.0-26.5)/(478-53)                
INFO     11:14:47.480 │ [RETIRE_CONFIRM_SCROLL_AREA] 0.44 (212.0-26.5)/(478-53)                
INFO     11:14:47.482 │ RETIRE_CONFIRM_SCROLL_AREA set to 0.536                                
INFO     11:14:47.485 │ [RETIRE_CONFIRM_SCROLL_AREA] 0.44 (212.0-26.5)/(478-53)                
INFO     11:14:47.488 │ Swipe (1093,  313) -> (1094,  367)                                     
INFO     11:14:48.113 │ [RETIRE_CONFIRM_SCROLL_AREA] 0.45 (217.66666666666666-12.0)/(478-24)   
INFO     11:14:48.533 │ [RETIRE_CONFIRM_SCROLL_AREA] 0.59 (277.95454545454544-11.0)/(478-22)   
INFO     11:14:48.817 │ [RETIRE_CONFIRM_SCROLL_AREA] 0.59 (277.95454545454544-11.0)/(478-22)   
INFO     11:14:48.821 │ Scroll bar disappeared, stop                                           
INFO     11:14:48.823 │ Click (1015,  655) @ SHIP_CONFIRM_2                                    
INFO     11:14:49.533 │ [RETIRE_CONFIRM_SCROLL_AREA] 0.56 (266.0-26.5)/(478-53)                
INFO     11:14:49.536 │ RETIRE_CONFIRM_SCROLL_AREA set to 0.663                                
INFO     11:14:49.538 │ [RETIRE_CONFIRM_SCROLL_AREA] 0.56 (266.0-26.5)/(478-53)                
INFO     11:14:49.542 │ Swipe (1092,  358) -> (1094,  420)                                     
INFO     11:14:50.173 │ [RETIRE_CONFIRM_SCROLL_AREA] 0.00 (nan-0.0)/(478-0)                    
INFO     11:14:50.546 │ [RETIRE_CONFIRM_SCROLL_AREA] 0.00 (nan-0.0)/(478-0)                    
INFO     11:14:50.966 │ [RETIRE_CONFIRM_SCROLL_AREA] 0.56 (266.0-26.5)/(478-53)                
INFO     11:14:51.335 │ [RETIRE_CONFIRM_SCROLL_AREA] 0.56 (266.0-26.5)/(478-53)                
INFO     11:14:51.761 │ [RETIRE_CONFIRM_SCROLL_AREA] 0.56 (266.0-26.5)/(478-53)                
INFO     11:14:51.765 │ Swipe (1092,  378) -> (1092,  420)                                     
INFO     11:14:52.366 │ [RETIRE_CONFIRM_SCROLL_AREA] 0.60 (282.0-26.5)/(478-53)                
INFO     11:14:52.750 │ [RETIRE_CONFIRM_SCROLL_AREA] 0.60 (282.0-26.5)/(478-53)                
INFO     11:14:53.146 │ [RETIRE_CONFIRM_SCROLL_AREA] 0.60 (282.0-26.5)/(478-53)                
INFO     11:14:53.150 │ Swipe (1094,  393) -> (1092,  425)                                     
INFO     11:14:53.766 │ [RETIRE_CONFIRM_SCROLL_AREA] 0.57 (272.25-4.0)/(478-8)                 
INFO     11:14:54.142 │ [RETIRE_CONFIRM_SCROLL_AREA] 0.69 (320.0-26.5)/(478-53)                
INFO     11:14:54.437 │ [RETIRE_CONFIRM_SCROLL_AREA] 0.69 (320.0-26.5)/(478-53)                
INFO     11:14:54.441 │ [RETIRE_CONFIRM_SCROLL_AREA] 0.69 (320.0-26.5)/(478-53)                
INFO     11:14:54.444 │ RETIRE_CONFIRM_SCROLL_AREA set to 0.79                                 
INFO     11:14:54.446 │ [RETIRE_CONFIRM_SCROLL_AREA] 0.69 (320.0-26.5)/(478-53)                
INFO     11:14:54.449 │ Swipe (1092,  449) -> (1092,  476)                                     
INFO     11:14:55.051 │ [RETIRE_CONFIRM_SCROLL_AREA] 0.68 (320.3529411764706-8.5)/(478-17)     
INFO     11:14:55.419 │ [RETIRE_CONFIRM_SCROLL_AREA] 0.73 (338.0-26.5)/(478-53)                
INFO     11:14:55.787 │ [RETIRE_CONFIRM_SCROLL_AREA] 0.73 (338.0-26.5)/(478-53)                
INFO     11:14:55.791 │ Function calls:                                                        
                        gui.py   L76 <module>                                                  
                    process.py  L112 start()                                                   
                    context.py  L223 _Popen()                                                  
                    context.py  L277 _Popen()                                                  
                 popen_fork.py   L20 __init__()                                                
                 popen_fork.py   L74 _launch()                                                 
                    process.py  L297 _bootstrap()                                              
                    process.py   L99 run()                                                     
                        gui.py   L67 func()                                                    
                       main.py  L463 run()                                                     
                     server.py   L60 run()                                                     
                    runners.py   L43 run()                                                     
                         on.py   L84 main()                                                    
              proxy_headers.py   L75 __call__()                                                
               applications.py  L112 __call__()                                                
                     errors.py  L146 __call__()                                                
                       base.py   L21 __call__()                                                
                 exceptions.py   L58 __call__()                                                
                    routing.py  L569 __call__()                                                
                    routing.py  L540 lifespan()                                                
                    routing.py  L481 default_lifespan()                                        
                    routing.py  L518 startup()                                                 
                        app.py L1469 <lambda>                                                  
            process_manager.py  L223 restart_processes()                                       
            process_manager.py   L52 start()                                                   
                    process.py  L112 start()                                                   
                    context.py  L223 _Popen()                                                  
                    context.py  L277 _Popen()                                                  
                 popen_fork.py   L20 __init__()                                                
                 popen_fork.py   L74 _launch()                                                 
                    process.py  L297 _bootstrap()                                              
                    process.py   L99 run()                                                     
            process_manager.py  L162 run_process()                                             
                       alas.py  L537 loop()                                                    
                       alas.py   L69 run()                                                     
                       alas.py  L396 gems_farming()                                            
               gems_farming.py  L409 run()                                                     
                        run.py  L396 run()                                                     
              campaign_base.py  L143 run()                                                     
              campaign_base.py  L177 auto_search_execute_a_battle()                            
         auto_search_combat.py  L189 auto_search_moving()                                      
                 retirement.py  L348 handle_retirement()                                       
                 retirement.py  L404 _retire_handler()                                         
                 retirement.py  L212 retire_ships_one_click()                                  
                 retirement.py  L121 _retirement_confirm()                                     
                 retirement.py  L526 keep_one_common_cv()                                      
                 retirement.py  L515 retirement_get_common_rarity_cv()                         
                     scroll.py  L196 next_page()                                               
                     scroll.py  L193 drag_page()                                               
                     scroll.py  L164 set()                                                     
                    control.py   L89 swipe()                                                   
                     device.py  L250 handle_control_check()                                    
                     device.py  L286 click_record_check()                                      
                     device.py   L43 show_function_call()                                      
WARNING  11:14:55.812 │ Too many click for a button: RETIRE_CONFIRM_SCROLL_AREA                
WARNING  11:14:55.815 │ History click: ['ONE_CLICK_RETIREMENT', 'RETIRE_CONFIRM_SCROLL_AREA',  
         'RETIRE_CONFIRM_SCROLL_AREA', 'SHIP_CONFIRM_2', 'RETIRE_CONFIRM_SCROLL_AREA',         
         'RETIRE_CONFIRM_SCROLL_AREA', 'RETIRE_CONFIRM_SCROLL_AREA',                           
         'RETIRE_CONFIRM_SCROLL_AREA', 'RETIRE_CONFIRM_SCROLL_AREA', 'SHIP_CONFIRM_2',         
         'RETIRE_CONFIRM_SCROLL_AREA', 'RETIRE_CONFIRM_SCROLL_AREA',                           
         'RETIRE_CONFIRM_SCROLL_AREA', 'RETIRE_CONFIRM_SCROLL_AREA',                           
         'RETIRE_CONFIRM_SCROLL_AREA']                                                         
ERROR    11:14:55.819 │ GameTooManyClickError: Too many click for a button:                    
         RETIRE_CONFIRM_SCROLL_AREA                                                            
WARNING  11:14:55.821 │ Game stuck, com.bilibili.azurlane will be restarted in 10 seconds      
WARNING  11:14:55.824 │ If you are playing by hand, please stop Alas                           
INFO     11:14:55.826 │ Task call: Restart                                                     
INFO     11:14:55.844 │ Bind task ['General', 'Alas', 'TaskBalancer', 'EventGeneral',          
         'GemsFarming']                                                                        
INFO     11:14:55.847 │ Save config ./config/alas.json,                                        
         Restart.Scheduler.NextRun=datetime.datetime(2024, 12, 4, 11, 14, 55),                 
         Restart.Scheduler.Enable=True                                                         
INFO     11:15:05.858 │ Scheduler: End task `GemsFarming`                                      
CRITICAL 11:15:05.861 │ Task `GemsFarming` failed 3 or more times.                             
CRITICAL 11:15:05.863 │ Possible reason #1: You haven't used it correctly. Please read the help
         text of the options.                                                                  
CRITICAL 11:15:05.866 │ Possible reason #2: There is a problem with this task. Please contact  
         developers or try to fix it yourself.                                                 
CRITICAL 11:15:05.869 │ Request human takeover                                                 
INFO     11:15:05.925 │ No provider specified, skip sending

截图

如下

还有别的吗?

No response

@Mosy135 Mosy135 added the bug / 缺陷 Something isn't working label Dec 4, 2024
@Mosy135
Copy link
Author

Mosy135 commented Dec 4, 2024

Snipaste_2024-12-04_16-06-25

@Shane-Xue
Copy link
Contributor

应该就是因为蓝船太多。这里过去15次点击是在试图找到白皮航母并且将其保留,以期继续执行紧急委托。但是显然他没有找到白皮航母也没有到底所以以为是游戏卡了。我猜想,你会在你的log里面看见,alas很多次因为你没有白皮轻航而推迟GemsFarming任务。

(我个人认为)使用端的解决方案有两种值得尝试的方案。
第一是不使用强化而是使用退役:因为这里的问题是,在强化的时候并不会试图保留普通稀有度的CV。如果你看你的log应该会发现选择退役的时候会有Keep one common CV 的log,但是在强化的时候并没有这一行,因为自动退役保留白船是对退役单独实现的,无法运用在强化模式下。这样就不会积攒如此之多的蓝船,从而允许alas快速找到一艘白皮轻航。
第二是试试看传统退役有没有用。这里可能涉及到紫布里的问题,我不清楚。

代码层面你也可以稍微tweak一下来满足你这个需求;Lme在五天前的更新中似乎address了这个内容。具体来讲,你可这样做:

  1. module/retire/retirement.py:540 左右的位置更改threshold值使之符合您的需求;
  2. 搜索Too many click,这样做应该会把你带到可以设置全局点击次数限制的地方。然后你可以改那个threshold;
  3. 更改同一文件下储存点击次数的click_record deque的最大长度,使之符合您的需求;
  4. 请不要忘记在config/deploy.yaml中更改KeepLocalChanges为True。

请注意:我自己并没有实践过这个方法,因为我没有那么多船坞,这个完全是我根据代码结构推断出来的可能办法,请您在仔细思考后决定是否采纳。此外,这是更改某些运行参数的行为,可能会带来奇怪的后果,这些后果不一定在修理范围内,也不一定受到鼓励,如果您不熟悉代码结构或者有所顾虑,请谨慎考虑这一方法。

希望能够帮助您解决目前的问题。

@Mosy135
Copy link
Author

Mosy135 commented Dec 15, 2024

应该就是因为蓝船太多。这里过去15次点击是在试图找到白皮航母并且将其保留,以期继续执行紧急委托。但是显然他没有找到白皮航母也没有到底所以以为是游戏卡了。我猜想,你会在你的log里面看见,alas很多次因为你没有白皮轻航而推迟GemsFarming任务。

(我个人认为)使用端的解决方案有两种值得尝试的方案。 第一是不使用强化而是使用退役:因为这里的问题是,在强化的时候并不会试图保留普通稀有度的CV。如果你看你的log应该会发现选择退役的时候会有Keep one common CV 的log,但是在强化的时候并没有这一行,因为自动退役保留白船是对退役单独实现的,无法运用在强化模式下。这样就不会积攒如此之多的蓝船,从而允许alas快速找到一艘白皮轻航。 第二是试试看传统退役有没有用。这里可能涉及到紫布里的问题,我不清楚。

代码层面你也可以稍微tweak一下来满足你这个需求;Lme在五天前的更新中似乎address了这个内容。具体来讲,你可这样做:

  1. module/retire/retirement.py:540 左右的位置更改threshold值使之符合您的需求;
  2. 搜索Too many click,这样做_应该_会把你带到可以设置全局点击次数限制的地方。然后你可以改那个threshold;
  3. 更改同一文件下储存点击次数的click_record deque的最大长度,使之符合您的需求;
  4. 请不要忘记在config/deploy.yaml中更改KeepLocalChanges为True。

请注意:我自己并没有实践过这个方法,因为我没有那么多船坞,这个完全是我根据代码结构推断出来的可能办法,请您在_仔细思考后_决定是否采纳。此外,这是更改某些运行参数的行为,可能会带来奇怪的后果,这些后果不一定在修理范围内,也不一定受到鼓励,如果您不熟悉代码结构或者有所顾虑,请谨慎考虑这一方法。

希望能够帮助您解决目前的问题。

了解,我是为了试图将所有白船用于强化而修改了一键退役的设置,进而导致退役时只有蓝紫船导致alas无法识别到白航母报错,目前我重新勾选了退役时的白船选项,应该不会出现这个问题了

@Shane-Xue
Copy link
Contributor

不好意思,看了一下,上周在retirement.py里面的更新应该已经解决了这个问题……现在找7层还找不到的话就会放弃寻找并跳出。所以你不管也行,但是刷委托仍然可能因为没有替换的白皮卡住(

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug / 缺陷 Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants