From 2cdab92ba90dba8ff5d2b5e8fc384e879f515e82 Mon Sep 17 00:00:00 2001 From: aeon0 Date: Mon, 8 Nov 2021 23:43:58 +0100 Subject: [PATCH] feat(bot): Go shopping! --- assets/templates/repair_btn.png | Bin 0 -> 14402 bytes assets/templates/tp_tomb.png | Bin 0 -> 16316 bytes src/bot.py | 15 +++++++++ src/pather.py | 4 +-- src/template_finder.py | 2 ++ src/ui_manager.py | 53 +++++++++++++++++++++++++++++++- ui.ini | 5 +++ 7 files changed, 76 insertions(+), 3 deletions(-) create mode 100644 assets/templates/repair_btn.png create mode 100644 assets/templates/tp_tomb.png diff --git a/assets/templates/repair_btn.png b/assets/templates/repair_btn.png new file mode 100644 index 0000000000000000000000000000000000000000..72fba98e75887ee00746323e7e17c71ba3a7572f GIT binary patch literal 14402 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ʻR&- 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 IM6N<$f@NaXm;e9( literal 0 HcmV?d00001 diff --git a/assets/templates/tp_tomb.png b/assets/templates/tp_tomb.png new file mode 100644 index 0000000000000000000000000000000000000000..5f5bfe81411cdb2e85f38e1cef5a40fb999c0e0b GIT binary patch literal 16316 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⪙V13`v_F)`Dp(ov`ZLcZvEFZEb*PPw`Ud9udzkI?bGkR0CUKdyz6`pH zBk`CmR5$}Lv=^!PeMcnBKaoX?|p9oP4%D-VmrW_?9M`&HF zxw5n~KD7^xu9sBlYyPqcvG654_|S85%vVMEhmXHc1pDJ&Ai{u@UwEmsegBh6gw#mg z1)+>EU?uD?Mg_^REE8)vNs?0v*1ANBZBbZmQF_s|n7$(_%f;(viO(1%KBb>H(QC>D z67@$N8m0G$b4`>!lru?!R@Aq+*_f1R5{z?{m35JqnIXqgA`?~u;Y(`wf!WKRdw~eg zJ-iTI{iX3eK>OoPs<#H1f*4b z4v0FRa9OBB1*6P8Jb&dM0QUg>G8kp6q+0k3!Vy!J5-SDz*dx!76qkWE-A8V2kYZmO z8M+!Y*-h#n8>J=dNJ=gtF2P51teJ=?GcgfK96S(98+c<>9)$O!L$;S0~o_k39j{{{Kpmt^~jJPxmtSB45eIgxTg z_xJY!?Vt4fhbAVU{H)I{ME_M|KOOhCht-2B>$@L(@Ff{airhbx=M=*ge*BR7`2O*- zIv#rPRoT8OTgA&Lzgnr9ia7ERg_An zSKeFht0d&BkngL&ZwgQ$-=!R*Qr=TnT2Di1Bh@7}l(|Bb$@eIqsqj_Fv1@4zHmaYk zm3b(iQQjYNhrg#%j#V#@i!Ei+yp_*XQdKO+muH(@t>S?ZMp*qkY%Ak$b3K^B{w8(yiyPBp@Gxh5G>ZtTqt0$pF-cu)&t@6o1+;T8+ zm?2lC`cu+!<#qXNQ$?!)uM~&cET5?s08Q$5)R#5UTHPVXY85aI)XRL7<2F?^i){%5 yRp!(rb8QSY$@9vbn`tg@4e!fy%6El475qQm|5v+ZF}1`10000 bool: + """ + Repair and fills up TP buy selling tomb and buying. Vendor inventory needs to be open! + :return: Bool if success + """ + found, pos_repair_abs = self._template_finder.search_and_wait("REPAIR_BTN", roi=self._config.ui_roi["repair_btn"], time_out=4) + if not found: + return False + x, y = self._screen.convert_screen_to_monitor(pos_repair_abs) + mouse.move(x, y, randomize=7) + wait(0.1, 0.15) + mouse.click(button="left") + wait(0.1, 0.15) + x, y = self._screen.convert_screen_to_monitor((self._config.ui_pos["vendor_misc_x"], self._config.ui_pos["vendor_misc_y"])) + mouse.move(x, y, randomize=5) + wait(0.1, 0.15) + mouse.click(button="left") + wait(0.5, 0.6) + found, pos_tp_inventory = self._template_finder.search_and_wait("TP_TOMB", roi=self._config.ui_roi["inventory"], time_out=4) + if not found: + return False + x, y = self._screen.convert_screen_to_monitor(pos_tp_inventory) + keyboard.send('ctrl', do_release=False) + mouse.move(x, y, randomize=4) + wait(0.1, 0.15) + mouse.press(button="left") + wait(0.25, 0.35) + mouse.release(button="left") + wait(0.5, 0.6) + keyboard.send('ctrl', do_press=False) + found, pos_tp_inventory = self._template_finder.search_and_wait("TP_TOMB", roi=self._config.ui_roi["vendor_stash"], time_out=4) + if not found: + return False + x, y = self._screen.convert_screen_to_monitor(pos_tp_inventory) + keyboard.send('ctrl', do_release=False) + mouse.move(x, y, randomize=4) + wait(0.1, 0.15) + mouse.click(button="right") + wait(0.1, 0.15) + keyboard.send('ctrl', do_press=False) + if close_when_done: + wait(0.1, 0.2) + keyboard.send("esc") + # just in case also bring cursor to center and click + x, y = self._screen.convert_screen_to_monitor((self._config.ui_pos["center_x"], self._config.ui_pos["center_y"])) + mouse.move(x, y, randomize=20) + mouse.click(button="left") + return True + # Testing: Move to whatever ui to test and run if __name__ == "__main__": @@ -343,7 +392,9 @@ if __name__ == "__main__": screen = Screen(config.general["monitor"]) template_finder = TemplateFinder(screen) ui_manager = UiManager(screen, template_finder) - ui_manager.start_hell_game() + ui_manager.repair_and_fill_up_tp() + wait(0.1, 0.2) + keyboard.send("esc") # ui_manager.stash_all_items(6) # ui_manager.use_wp(4, 1) # ui_manager.fill_up_belt_from_inventory(10) diff --git a/ui.ini b/ui.ini index e641f87..7ffc4f9 100644 --- a/ui.ini +++ b/ui.ini @@ -38,6 +38,8 @@ slot_height=57 stash_personal_btn_x=120 stash_personal_btn_y=115 stash_btn_width=145 +vendor_misc_x=556 +vendor_misc_y=111 ; health, mana, pots health_top=915 health_left=463 @@ -96,3 +98,6 @@ merc_icon=0,0,150,150 loading_left_black=0,0,500,1080 death=770,290,380,75 tp_search=530,180,820,600 +repair_btn=477,709,135,120 +inventory=1290,515,591,247 +vendor_stash=44,126,600,600