diff --git a/assets/cn/storage/BOX_USE.png b/assets/cn/storage/BOX_USE.png index 15fd9fa99..e50d24f17 100644 Binary files a/assets/cn/storage/BOX_USE.png and b/assets/cn/storage/BOX_USE.png differ diff --git a/assets/cn/storage/BOX_USE_ENSURE.png b/assets/cn/storage/BOX_USE_ENSURE.png new file mode 100644 index 000000000..f1b5b4b4b Binary files /dev/null and b/assets/cn/storage/BOX_USE_ENSURE.png differ diff --git a/assets/cn/storage/BOX_USE_PAGE.png b/assets/cn/storage/BOX_USE_PAGE.png new file mode 100644 index 000000000..1257f00b0 Binary files /dev/null and b/assets/cn/storage/BOX_USE_PAGE.png differ diff --git a/assets/cn/storage/BOX_USE_QUIT.png b/assets/cn/storage/BOX_USE_QUIT.png new file mode 100644 index 000000000..b1b74df85 Binary files /dev/null and b/assets/cn/storage/BOX_USE_QUIT.png differ diff --git a/assets/cn/storage/BOX_USE_QUIT_ENSURE.png b/assets/cn/storage/BOX_USE_QUIT_ENSURE.png new file mode 100644 index 000000000..181d2fced Binary files /dev/null and b/assets/cn/storage/BOX_USE_QUIT_ENSURE.png differ diff --git a/module/storage/assets.py b/module/storage/assets.py index c8c630cd4..696a7f14c 100644 --- a/module/storage/assets.py +++ b/module/storage/assets.py @@ -4,7 +4,11 @@ from module.base.template import Template # This file was automatically generated by dev_tools/button_extract.py. # Don't modify it manually. -BOX_USE = Button(area={'cn': (768, 486, 834, 522), 'en': (784, 497, 843, 523), 'jp': (827, 491, 918, 528), 'tw': (768, 486, 834, 522)}, color={'cn': (141, 173, 212), 'en': (156, 184, 220), 'jp': (128, 168, 219), 'tw': (141, 173, 212)}, button={'cn': (756, 480, 916, 528), 'en': (750, 483, 919, 535), 'jp': (755, 483, 919, 537), 'tw': (756, 480, 916, 528)}, file={'cn': './assets/cn/storage/BOX_USE.png', 'en': './assets/en/storage/BOX_USE.png', 'jp': './assets/jp/storage/BOX_USE.png', 'tw': './assets/cn/storage/BOX_USE.png'}) +BOX_USE = Button(area={'cn': (747, 488, 826, 532), 'en': (784, 497, 843, 523), 'jp': (827, 491, 918, 528), 'tw': (747, 488, 826, 532)}, color={'cn': (127, 166, 214), 'en': (156, 184, 220), 'jp': (128, 168, 219), 'tw': (127, 166, 214)}, button={'cn': (756, 480, 916, 528), 'en': (750, 483, 919, 535), 'jp': (755, 483, 919, 537), 'tw': (756, 480, 916, 528)}, file={'cn': './assets/cn/storage/BOX_USE.png', 'en': './assets/en/storage/BOX_USE.png', 'jp': './assets/jp/storage/BOX_USE.png', 'tw': './assets/cn/storage/BOX_USE.png'}) +BOX_USE_ENSURE = Button(area={'cn': (752, 600, 927, 660), 'en': (752, 600, 927, 660), 'jp': (752, 600, 927, 660), 'tw': (752, 600, 927, 660)}, color={'cn': (84, 130, 187), 'en': (84, 130, 187), 'jp': (84, 130, 187), 'tw': (84, 130, 187)}, button={'cn': (752, 600, 927, 660), 'en': (752, 600, 927, 660), 'jp': (752, 600, 927, 660), 'tw': (752, 600, 927, 660)}, file={'cn': './assets/cn/storage/BOX_USE_ENSURE.png', 'en': './assets/cn/storage/BOX_USE_ENSURE.png', 'jp': './assets/cn/storage/BOX_USE_ENSURE.png', 'tw': './assets/cn/storage/BOX_USE_ENSURE.png'}) +BOX_USE_PAGE = Button(area={'cn': (587, 419, 694, 526), 'en': (587, 419, 694, 526), 'jp': (587, 419, 694, 526), 'tw': (587, 419, 694, 526)}, color={'cn': (131, 146, 178), 'en': (131, 146, 178), 'jp': (131, 146, 178), 'tw': (131, 146, 178)}, button={'cn': (587, 419, 694, 526), 'en': (587, 419, 694, 526), 'jp': (587, 419, 694, 526), 'tw': (587, 419, 694, 526)}, file={'cn': './assets/cn/storage/BOX_USE_PAGE.png', 'en': './assets/cn/storage/BOX_USE_PAGE.png', 'jp': './assets/cn/storage/BOX_USE_PAGE.png', 'tw': './assets/cn/storage/BOX_USE_PAGE.png'}) +BOX_USE_QUIT = Button(area={'cn': (768, 576, 922, 628), 'en': (768, 576, 922, 628), 'jp': (768, 576, 922, 628), 'tw': (768, 576, 922, 628)}, color={'cn': (196, 118, 108), 'en': (196, 118, 108), 'jp': (196, 118, 108), 'tw': (196, 118, 108)}, button={'cn': (768, 576, 922, 628), 'en': (768, 576, 922, 628), 'jp': (768, 576, 922, 628), 'tw': (768, 576, 922, 628)}, file={'cn': './assets/cn/storage/BOX_USE_QUIT.png', 'en': './assets/cn/storage/BOX_USE_QUIT.png', 'jp': './assets/cn/storage/BOX_USE_QUIT.png', 'tw': './assets/cn/storage/BOX_USE_QUIT.png'}) +BOX_USE_QUIT_ENSURE = Button(area={'cn': (703, 481, 878, 541), 'en': (703, 481, 878, 541), 'jp': (703, 481, 878, 541), 'tw': (703, 481, 878, 541)}, color={'cn': (101, 147, 203), 'en': (101, 147, 203), 'jp': (101, 147, 203), 'tw': (101, 147, 203)}, button={'cn': (703, 481, 878, 541), 'en': (703, 481, 878, 541), 'jp': (703, 481, 878, 541), 'tw': (703, 481, 878, 541)}, file={'cn': './assets/cn/storage/BOX_USE_QUIT_ENSURE.png', 'en': './assets/cn/storage/BOX_USE_QUIT_ENSURE.png', 'jp': './assets/cn/storage/BOX_USE_QUIT_ENSURE.png', 'tw': './assets/cn/storage/BOX_USE_QUIT_ENSURE.png'}) DISASSEMBLE = Button(area={'cn': (357, 666, 456, 690), 'en': (346, 668, 467, 684), 'jp': (357, 663, 456, 691), 'tw': (357, 666, 456, 690)}, color={'cn': (191, 192, 192), 'en': (193, 193, 194), 'jp': (169, 170, 170), 'tw': (191, 192, 192)}, button={'cn': (348, 661, 466, 696), 'en': (346, 659, 467, 698), 'jp': (349, 657, 468, 700), 'tw': (348, 661, 466, 696)}, file={'cn': './assets/cn/storage/DISASSEMBLE.png', 'en': './assets/en/storage/DISASSEMBLE.png', 'jp': './assets/jp/storage/DISASSEMBLE.png', 'tw': './assets/cn/storage/DISASSEMBLE.png'}) DISASSEMBLE_CANCEL = Button(area={'cn': (900, 659, 973, 690), 'en': (881, 659, 993, 684), 'jp': (899, 658, 971, 691), 'tw': (900, 659, 973, 690)}, color={'cn': (186, 186, 187), 'en': (192, 192, 193), 'jp': (167, 167, 168), 'tw': (186, 186, 187)}, button={'cn': (863, 649, 1015, 700), 'en': (854, 649, 1021, 699), 'jp': (860, 647, 1021, 704), 'tw': (863, 649, 1015, 700)}, file={'cn': './assets/cn/storage/DISASSEMBLE_CANCEL.png', 'en': './assets/en/storage/DISASSEMBLE_CANCEL.png', 'jp': './assets/jp/storage/DISASSEMBLE_CANCEL.png', 'tw': './assets/cn/storage/DISASSEMBLE_CANCEL.png'}) DISASSEMBLE_CONFIRM = Button(area={'cn': (1108, 657, 1183, 690), 'en': (1063, 658, 1230, 681), 'jp': (1108, 657, 1185, 691), 'tw': (1108, 657, 1183, 690)}, color={'cn': (202, 149, 143), 'en': (204, 152, 145), 'jp': (198, 134, 126), 'tw': (202, 149, 143)}, button={'cn': (1067, 650, 1225, 698), 'en': (1063, 651, 1230, 697), 'jp': (1070, 645, 1230, 704), 'tw': (1067, 650, 1225, 698)}, file={'cn': './assets/cn/storage/DISASSEMBLE_CONFIRM.png', 'en': './assets/en/storage/DISASSEMBLE_CONFIRM.png', 'jp': './assets/jp/storage/DISASSEMBLE_CONFIRM.png', 'tw': './assets/cn/storage/DISASSEMBLE_CONFIRM.png'}) diff --git a/module/storage/storage.py b/module/storage/storage.py index b13d4c67d..e74ab8605 100644 --- a/module/storage/storage.py +++ b/module/storage/storage.py @@ -1,3 +1,4 @@ +import time import numpy as np from module.base.button import ButtonGrid @@ -67,8 +68,11 @@ class StorageHandler(StorageUI): GET_ITEMS_2, EQUIPMENT_FULL, ]) - + appearQUIT_ENSURE = False + used_button = Button(area=(712,308,716,312),color=(0,0,0),button=(712,308,716,312)) + click_count=0 while 1: + logger.info("in _storage_use_one_box") if skip_first_screenshot: skip_first_screenshot = False else: @@ -79,25 +83,43 @@ class StorageHandler(StorageUI): continue # 75 is a magic number to distinguish `use 1` and `use 10` # See https://github.com/LmeSzinc/AzurLaneAutoScript/pull/1529#issuecomment-1221315455 - if self.appear_then_click(BOX_USE, offset=(-75, -20, 10, 20), interval=5): + # if self.appear_then_click(BOX_USE, offset=(-75, -20, 10, 20), interval=5): + # used = 10 + # self.interval_reset(MATERIAL_CHECK) + # continue + # if self.appear_then_click(BOX_USE, offset=(-330, -20, -75, 20), interval=5): + # used = 1 + # self.interval_reset(MATERIAL_CHECK) + # continue + if self.appear_then_click(BOX_USE, offset=(5, 5), interval=5): used = 10 self.interval_reset(MATERIAL_CHECK) continue - if self.appear_then_click(BOX_USE, offset=(-330, -20, -75, 20), interval=5): - used = 1 - self.interval_reset(MATERIAL_CHECK) - continue if self.appear(GET_ITEMS_1, offset=(5, 5), interval=5): self.device.click(MATERIAL_ENTER) self.interval_reset(MATERIAL_CHECK) - success = True + # success = True continue if self.appear(GET_ITEMS_2, offset=(5, 5), interval=5): self.device.click(MATERIAL_ENTER) self.interval_reset(MATERIAL_CHECK) - success = True + # success = True continue - + if self.appear(BOX_USE_PAGE, offset=(5, 5), interval=5): + while click_count <= 10: + click_count += 1 + self.device.click(used_button,control_check=False) + time.sleep(0.5) + if self.appear_then_click(BOX_USE_ENSURE, offset=(5, 5), interval=5): + continue + continue + if self.appear_then_click(BOX_USE_QUIT, offset=(5, 5), interval=5): + appearQUIT_ENSURE = True + continue + if appearQUIT_ENSURE: + if self.appear_then_click(BOX_USE_QUIT_ENSURE, offset=(5, 5), interval=5): + success = True + continue # Storage full if self.appear(EQUIPMENT_FULL, offset=(20, 20)): logger.info('Storage full') @@ -180,14 +202,14 @@ class StorageHandler(StorageUI): MATERIAL_SCROLL.set_top(main=self) while amount > used: - logger.hr('Use boxes in page') + logger.hr('Use boxes in page1') used += self._storage_use_box_in_page(rarity=rarity, amount=amount - used) if MATERIAL_SCROLL.at_bottom(main=self): logger.info('Scroll bar reached end, stop') break MATERIAL_SCROLL.next_page(main=self) else: - logger.hr('Use boxes in page') + logger.hr('Use boxes in page2') used += self._storage_use_box_in_page(rarity=rarity, amount=amount) return used @@ -263,7 +285,7 @@ class StorageHandler(StorageUI): # Probably because no item is selected, # _storage_disassemble_equipment_execute() will retry selecting logger.warning('Failed to confirm disassemble after 3 trial') - disassembled = 0 + # disassembled = disassembled break if self.appear_then_click(DISASSEMBLE_CONFIRM, offset=(20, 20), interval=5):