LmeSzinc / AzurLaneAutoScript

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

刷緊急委託 換船時不限制船在哪個艦隊 #4258

Closed FlYiNGPoTAToChiP closed 4 days ago

FlYiNGPoTAToChiP commented 5 days ago

你的功能请求是否与问题有关?

幾乎全船120+已經沒有船等級小於等於70 除了用來刷委託的白皮DD

委託自動推薦會找船塢中 等級>1 等級最低 的船 導致這些70級的船都被送去委託無法使用

解決方法 把船編成在任意艦隊中就不會被送去委託

問題是 vanguard_change_execute get_common_rarity_dd 會排除在其它編隊中的船 (如果我沒理解錯的話)

def get_common_rarity_dd(self):
    scanner = ShipScanner(level=(max_level, max_level), emotion=(10, 150),
                          fleet=self.fleet_to_attack, status='free')
    scanner.disable('rarity')
    scanner.set_limitation(fleet=0)

fleet=0: 不在任何隊伍

不是很理解為什麼會有這個限制

有重要原因是否可以加個選項不檢查在哪個艦隊

解决方案

scanner = ShipScanner(level=(max_level, max_level), emotion=(10, 150),
                      fleet=(0, 6), status='free')
# or
scanner.disable('fleet')

其他内容

INFO 07:22:16.959 │ <<< FINDING VANGUARD >>>
INFO 07:22:16.960 │ Limitaions set to {'level': (70, 70), 'emotion': (10, 150), 'rarity': 'any', 'fleet': 3, 'status': 'free'}
INFO 07:22:16.962 │ [Dork_sorting] Descending
INFO 07:22:17.107 │ [DOCK_LEVEL_OCR 0.143s] [0, 70, 70, 70, 70, 70, 0, 0, 0, 0, 0, 0, 0, 0]
INFO 07:22:17.234 │ [DOCK_EMOTION_OCR 0.125s] [0, 150, 119, 0, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0]
INFO 07:22:17.486 │ Ship(rarity=None, level=0, emotion=0, fleet=0,
status='free', button=CARD_0_0)
INFO 07:22:17.489 │ Ship(rarity=None, level=70, emotion=150, fleet=6,
status='free', button=CARD_1_0)
INFO 07:22:17.491 │ Ship(rarity=None, level=70, emotion=119, fleet=5,
status='free', button=CARD_2_0)
INFO 07:22:17.492 │ Ship(rarity=None, level=70, emotion=0, fleet=3,
status='free', button=CARD_3_0)
INFO 07:22:17.493 │ Ship(rarity=None, level=70, emotion=150, fleet=6,
status='free', button=CARD_4_0)
INFO 07:22:17.494 │ Ship(rarity=None, level=70, emotion=150, fleet=5,
status='free', button=CARD_5_0)
INFO 07:22:17.496 │ Ship(rarity=None, level=0, emotion=0, fleet=0,
status='free', button=CARD_6_0)
INFO 07:22:17.498 │ Ship(rarity=None, level=0, emotion=0, fleet=0,
status='free', button=CARD_0_1)
INFO 07:22:17.499 │ Ship(rarity=None, level=0, emotion=0, fleet=0,
status='free', button=CARD_1_1)
INFO 07:22:17.500 │ Ship(rarity=None, level=0, emotion=0, fleet=0,
status='free', button=CARD_2_1)
INFO 07:22:17.501 │ Ship(rarity=None, level=0, emotion=0, fleet=0,
status='free', button=CARD_3_1)
INFO 07:22:17.502 │ Ship(rarity=None, level=0, emotion=0, fleet=0,
status='free', button=CARD_4_1)
INFO 07:22:17.504 │ Ship(rarity=None, level=0, emotion=0, fleet=0,
status='free', button=CARD_5_1)
INFO 07:22:17.506 │ Ship(rarity=None, level=0, emotion=0, fleet=0,
status='free', button=CARD_6_1)
INFO 07:22:17.508 │ Limitaions set to {'level': (70, 70), 'emotion': (10, 150), 'rarity': 'any', 'fleet': 0, 'status': 'free'}
INFO 07:22:17.509 │ [Favourite_filter] off
INFO 07:22:17.511 │ Click ( 726, 34) @ COMMON_SHIP_FILTER_DISABLE
INFO 07:22:17.697 │ [Favourite_filter] off
INFO 07:22:18.022 │ [Favourite_filter] unknown
INFO 07:22:18.314 │ [Favourite_filter] on
INFO 07:22:19.828 │ [DOCK_LEVEL_OCR 0.156s] [0, 70, 70, 70, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0]
INFO 07:22:19.961 │ [DOCK_EMOTION_OCR 0.132s] [0, 119, 2, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0]
INFO 07:22:20.236 │ Change vanguard ship failed, no DD in common rarity.

FlYiNGPoTAToChiP commented 5 days ago

自行修改後成功換船

INFO 08:28:03.738 │ <<< FINDING VANGUARD >>>
INFO 08:28:03.739 │ Limitaions set to {'level': (70, 70), 'emotion': (10, 150), 'rarity': 'any', 'fleet': 0, 'status': 'free'}
INFO 08:28:03.741 │ [Dork_sorting] Descending
INFO 08:28:03.882 │ [DOCK_LEVEL_OCR 0.140s] [0, 70, 70, 70, 70, 70, 0, 0, 0, 0, 0, 0, 0, 0]
INFO 08:28:03.988 │ [DOCK_EMOTION_OCR 0.103s] [0, 150, 119, 0, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0]
INFO 08:28:04.196 │ Ship(rarity=None, level=0, emotion=0, fleet=None,
status='free', button=CARD_0_0)
INFO 08:28:04.197 │ Ship(rarity=None, level=70, emotion=150, fleet=None,
status='free', button=CARD_1_0)
INFO 08:28:04.198 │ Ship(rarity=None, level=70, emotion=119, fleet=None,
status='free', button=CARD_2_0)
INFO 08:28:04.199 │ Ship(rarity=None, level=70, emotion=0, fleet=None,
status='free', button=CARD_3_0)
INFO 08:28:04.200 │ Ship(rarity=None, level=70, emotion=150, fleet=None,
status='free', button=CARD_4_0)
INFO 08:28:04.202 │ Ship(rarity=None, level=70, emotion=150, fleet=None,
status='free', button=CARD_5_0)
INFO 08:28:04.204 │ Ship(rarity=None, level=0, emotion=0, fleet=None,
status='free', button=CARD_6_0)
INFO 08:28:04.205 │ Ship(rarity=None, level=0, emotion=0, fleet=None,
status='free', button=CARD_0_1)
INFO 08:28:04.206 │ Ship(rarity=None, level=0, emotion=0, fleet=None,
status='free', button=CARD_1_1)
INFO 08:28:04.208 │ Ship(rarity=None, level=0, emotion=0, fleet=None,
status='free', button=CARD_2_1)
INFO 08:28:04.209 │ Ship(rarity=None, level=0, emotion=0, fleet=None,
status='free', button=CARD_3_1)
INFO 08:28:04.210 │ Ship(rarity=None, level=0, emotion=0, fleet=None,
status='free', button=CARD_4_1)
INFO 08:28:04.212 │ Ship(rarity=None, level=0, emotion=0, fleet=None,
status='free', button=CARD_5_1)
INFO 08:28:04.213 │ Ship(rarity=None, level=0, emotion=0, fleet=None,
status='free', button=CARD_6_1)
INFO 08:28:04.240 │ [DOCK_SELECTED 0.026s] 0/1
INFO 08:28:04.244 │ Click ( 309, 179) @ CARD_1_0
INFO 08:28:04.448 │ [DOCK_SELECTED 0.017s] 0/1
INFO 08:28:04.766 │ [DOCK_SELECTED 0.034s] 1/1
INFO 08:28:04.767 │ <<< UI CLICK >>>
INFO 08:28:04.773 │ Click (1114, 26) @ DOCK_FILTER
INFO 08:28:05.323 │ Setting options DOCK,
INFO 08:28:05.336 │ [DOCK] sort/level, index/dd, faction/all, rarity/common,
extra/can_limit_break
INFO 08:28:05.347 │ Click ( 281, 157) @ FILTER_INDEX_0_0
INFO 08:28:05.400 │ Click ( 306, 413) @ FILTER_RARITY_0_0
INFO 08:28:05.473 │ Click ( 277, 497) @ FILTER_EXTRA_0_0
INFO 08:28:05.668 │ [DOCK] sort/level, index/all, faction/all, rarity/common,
extra/can_limit_break
INFO 08:28:05.982 │ [DOCK] sort/level, index/all, faction/all, rarity/all,
extra/no_limit
INFO 08:28:05.993 │ Setting options DOCK, sort='level', index='all',
faction='all', rarity='all', extra='no_limit'
INFO 08:28:06.009 │ [DOCK] sort/level, index/all, faction/all, rarity/all,
extra/no_limit
INFO 08:28:06.023 │ <<< UI CLICK >>>
INFO 08:28:06.028 │ Click ( 802, 641) @ DOCK_FILTER_CONFIRM
INFO 08:28:07.980 │ [Favourite_filter] off
INFO 08:28:07.982 │ [Dork_sorting] Descending
INFO 08:28:07.995 │ Click ( 970, 660) @ SHIP_CONFIRM
INFO 08:28:08.592 │ Click ( 788, 508) @ POPUP_CONFIRM_DOCK_SELECT_CONFIRM
INFO 08:28:09.500 │ Change vanguard ship success

Air111 commented 5 days ago

这个限制是为了不影响其他出击任务(主线图、活动图等),它们需要计算心情。

你先这么用着,也许以后会加个选项之类的,来处理这种情况

FlYiNGPoTAToChiP commented 4 days ago

發現問題了...沒限制的話 1隊卡辛 出擊 2隊備用也有卡辛 換隊時會觸發同隊不能有一樣的船的警告(雖然能選 不像加船時會直接變黑不能選) 用不同的白皮可以解決

其它解法

3044

不鎖定船就不會被抓去委託 但這樣存在意外分解/餵掉的風險 (雖然一鍵退役 一鍵強化 測試不會選擇等級>1的船

直接設定為不更換 強制紅臉出擊