From 2e97ee07b8edd04336874a3ec1b298027c1e6920 Mon Sep 17 00:00:00 2001 From: Thaloria Date: Thu, 5 May 2022 21:27:38 +0200 Subject: [PATCH] refactor equipemnt fix digging overlay --- config_file.py | 4 +- dig_overlay.py | 15 +- digging_main2.py | 14 +- equipment_main.py | 411 +++++++++++++++++++++++++--------------------- 4 files changed, 242 insertions(+), 202 deletions(-) diff --git a/config_file.py b/config_file.py index 0350035..82e4cca 100644 --- a/config_file.py +++ b/config_file.py @@ -71,7 +71,7 @@ class UserConfigs: def returnEquipmentWindowPos(self): if self.user == self.THALOUSER: - return [1800, 1150, 0, 0] + return [1800, 1150, 250, 250] elif self.user == self.ADWAUSER: return [740, 450, 1625, 985] elif self.user == self.EDDIEUSER: @@ -79,7 +79,7 @@ class UserConfigs: else: pass - def returnEnemyPlayerOverlayPos(self): + def returnDiggingOverlayPos(self): if self.user == self.THALOUSER: return '1440x1150+570+22' elif self.user == self.ADWAUSER: diff --git a/dig_overlay.py b/dig_overlay.py index b80a909..6768999 100644 --- a/dig_overlay.py +++ b/dig_overlay.py @@ -4,31 +4,30 @@ import tkinter as tk class DiggingOverlay(threading.Thread): - EMPTYENEMYLABELNAME = "no enemy selected" def __init__(self, config): threading.Thread.__init__(self) self.root = tk.Tk self.EnemyLabel = tk.Label - self.TkPosition = config.returnEnemyPlayerOverlayPos() + self.TkPosition = config.returnDiggingOverlayPos() self.start() + def callback(self): + self.root.quit() + def run(self): self.root = tk.Tk() - #self.EnemyLabel = tk.Label(self.root, text = "this", borderwidth=6, relief="solid") - #self.EnemyLabel.pack() - self.root.geometry(self.TkPosition) self.root.overrideredirect(1) # fenster ohne aussen rum :-) self.root.attributes('-alpha', 0.5) # fenster transparent self.root.attributes('-topmost', 1) # fenster immer im vordergrund self.root.resizable(False, False) - #self.root.attributes('-borderwith', 6) # fenster immer im vordergrund self.root.wm_attributes("-disabled", True) - #self.root.configure(background='black') + self.root.configure(background='black') self.root.mainloop() def hide_window(self): self.root.attributes('-alpha', 0.0) + def show_window(self): - self.root.attributes('-alpha', 0.2) \ No newline at end of file + self.root.attributes('-alpha', 0.2) diff --git a/digging_main2.py b/digging_main2.py index 406f631..3a2c8f5 100644 --- a/digging_main2.py +++ b/digging_main2.py @@ -21,7 +21,7 @@ def run(): width = 32 depth = 24 - plot_size = 47 + plot_size = 45 DIG_TIME = 150 while True: @@ -38,13 +38,13 @@ def run(): continue dig_overlay.hide_window() - if level == 3: - width = 30 - if level == 17: - DIG_TIME = 150 + if level == 21: + DIG_TIME = 850 + if level == 24: + DIG_TIME = 1850 + if level % 2 == 0: + plot_size = plot_size - 1 - if level % 3 == 0: - plot_size = plot_size - level diff --git a/equipment_main.py b/equipment_main.py index d14751b..e245a25 100644 --- a/equipment_main.py +++ b/equipment_main.py @@ -11,17 +11,18 @@ import pydirectinput import keyboard from tresh_util import super_tresh_main, super_tresh_needle +EMITTER_MAIN = "main" +EMITTER_MUSH = "mushroom" +EMITTER_AMU = "amulett" +EMITTER_SWORD = "sword" + def run(): + EMITTER_TO_USE = EMITTER_MAIN + # initialize the user-class config = UserConfigs() - EMITTER_MAIN = "main" - EMITTER_MUSH = "mushroom" - EMITTER_AMU = "amulett" - - EMITTER_TO_USE = EMITTER_MAIN - # initialize the StunWindowCapture class try: capture_window = WindowCapture( @@ -35,13 +36,33 @@ def run(): # initialize the StunVision class vision_stun = Vision() - # initialize the StunOverlay class - hsv_filter = HsvFilter(0, 0, 124, 15, 255, 168, 0, 255, 0, 0) loop_time = time() - event_time = 0.0 - pointstore = [] - max_results = 0 + + needles = [] + hsv = [] + if EMITTER_TO_USE == EMITTER_MUSH: + include_books(needles, hsv) + include_mushs(needles, hsv) + include_pots(needles, hsv) + include_bags(needles, hsv) + elif EMITTER_TO_USE == EMITTER_AMU: + include_books(needles, hsv) + include_amus(needles, hsv) + include_bags(needles, hsv) + elif EMITTER_TO_USE == EMITTER_MAIN: + include_books(needles, hsv) + include_chests(needles, hsv) + include_keys(needles, hsv) + include_pots(needles, hsv) + include_bags(needles, hsv) + include_coins(needles, hsv) + include_runes(needles, hsv) + elif EMITTER_TO_USE == EMITTER_SWORD: + include_books(needles, hsv) + include_swords(needles, hsv) + include_bags(needles, hsv) + pause = True while True: if keyboard.is_pressed('p') == True: @@ -70,164 +91,25 @@ def run(): # cv.waitKey(150) # continue - if EMITTER_TO_USE == EMITTER_MUSH: - spawn_1 = vision_stun.find(screenshot, cv.imread("equip/mush_e2_32.jpg", cv.IMREAD_UNCHANGED), 0.4, 1) - elif EMITTER_TO_USE == EMITTER_AMU: - spawn_1 = vision_stun.find(screenshot, cv.imread("equip/amu_e2_32.jpg", cv.IMREAD_UNCHANGED), 0.4, 1) - elif EMITTER_TO_USE == EMITTER_MAIN: - spawn_1 = vision_stun.find(screenshot, cv.imread("equip/main_e2_32.jpg", cv.IMREAD_UNCHANGED), 0.7, 1) - else: - break - #spawn_1 = vision_stun.find(screenshot, cv.imread("equip/main_e2_32.jpg", cv.IMREAD_UNCHANGED), 0.4, 1) + spawn_1 = (EMITTER_TO_USE, vision_stun, screenshot, 1) if len(spawn_1) == 1: spawn_button_active = True points = vision_stun.get_click_points(spawn_1) for i in range(0, 15, 1): - pydirectinput.moveTo(points[0][0], points[0][1]) - pydirectinput.mouseDown() - w = random.randint(1, 50) - cv.waitKey(30 + w) - pydirectinput.mouseUp() - if keyboard.is_pressed('p') == True: + click_point(config, points[0][0], points[0][1]) + if keyboard.is_pressed('p') == True or pause == True: pause = True - print('q pressed') break else: - if EMITTER_TO_USE == EMITTER_MUSH: - spawn_0 = vision_stun.find(screenshot, cv.imread("equip/mush_e_32.jpg", cv.IMREAD_UNCHANGED), 0.7, 1) - elif EMITTER_TO_USE == EMITTER_AMU: - spawn_0 = vision_stun.find(screenshot, cv.imread("equip/amu_e_32.jpg", cv.IMREAD_UNCHANGED), 0.7, 1) - elif EMITTER_TO_USE == EMITTER_MAIN: - spawn_0 = vision_stun.find(screenshot, cv.imread("equip/main_e1_32.jpg", cv.IMREAD_UNCHANGED), 0.8, 1) - else: - break + spawn_0 = (EMITTER_TO_USE, vision_stun, screenshot, 0) points = vision_stun.get_click_points(spawn_0) for point in points: - pydirectinput.moveTo(point[0], point[1]) - pydirectinput.mouseDown() - cv.waitKey(500) - pydirectinput.mouseUp() - if keyboard.is_pressed('p') == True: + click_point(config, points[0][0], points[0][1]) + if keyboard.is_pressed('p') == True or pause == True: pause = True - print('q pressed') break continue - needles = [] - hsv = [] - if EMITTER_TO_USE == EMITTER_MUSH: - - needles.append(cv.imread("equip/book_1_32.jpg", cv.IMREAD_UNCHANGED)) - needles.append(cv.imread("equip/book_2_32.jpg", cv.IMREAD_UNCHANGED)) - needles.append(cv.imread("equip/book_3_32.jpg", cv.IMREAD_UNCHANGED)) - needles.append(cv.imread("equip/book_4_32.jpg", cv.IMREAD_UNCHANGED)) - needles.append(cv.imread("equip/book_5_32.jpg", cv.IMREAD_UNCHANGED)) - - needles.append(cv.imread("equip/mush_1_32.jpg", cv.IMREAD_UNCHANGED)) - needles.append(cv.imread("equip/mush_2_32.jpg", cv.IMREAD_UNCHANGED)) - needles.append(cv.imread("equip/mush_3_32.jpg", cv.IMREAD_UNCHANGED)) - needles.append(cv.imread("equip/mush_4_32.jpg", cv.IMREAD_UNCHANGED)) - needles.append(cv.imread("equip/mush_5_32.jpg", cv.IMREAD_UNCHANGED)) - needles.append(cv.imread("equip/mush_6_32.jpg", cv.IMREAD_UNCHANGED)) - needles.append(cv.imread("equip/mush_7_32.jpg", cv.IMREAD_UNCHANGED)) - needles.append(cv.imread("equip/mush_8_32.jpg", cv.IMREAD_UNCHANGED)) - - needles.append(cv.imread("equip/pot_1_32.jpg", cv.IMREAD_UNCHANGED)) - needles.append(cv.imread("equip/pot_2_32.jpg", cv.IMREAD_UNCHANGED)) - needles.append(cv.imread("equip/pot_3_32.jpg", cv.IMREAD_UNCHANGED)) - needles.append(cv.imread("equip/pot_4_32.jpg", cv.IMREAD_UNCHANGED)) - needles.append(cv.imread("equip/pot_5_32.jpg", cv.IMREAD_UNCHANGED)) - needles.append(cv.imread("equip/pot_6_32.jpg", cv.IMREAD_UNCHANGED)) - - needles.append(cv.imread("equip/bag_1_32.jpg", cv.IMREAD_UNCHANGED)) - needles.append(cv.imread("equip/bag_2_32.jpg", cv.IMREAD_UNCHANGED)) - needles.append(cv.imread("equip/bag_3_32.jpg", cv.IMREAD_UNCHANGED)) - needles.append(cv.imread("equip/bag_4_32.jpg", cv.IMREAD_UNCHANGED)) - needles.append(cv.imread("equip/bag_5_32.jpg", cv.IMREAD_UNCHANGED)) - needles.append(cv.imread("equip/bag_6_32.jpg", cv.IMREAD_UNCHANGED)) - #needles.append(cv.imread("equip/bag_7_32.jpg", cv.IMREAD_UNCHANGED)) - - #needles.append(cv.imread("equip/book_6_32.jpg", cv.IMREAD_UNCHANGED)) - #needles.append(cv.imread("equip/book_7_32.jpg", cv.IMREAD_UNCHANGED)) - - hsv.append(HsvFilter(0, 128, 0, 179, 255, 255, 0, 0, 0, 0)) - hsv.append(HsvFilter(49, 0, 0, 179, 255, 255, 0, 0, 0, 0)) - hsv.append(HsvFilter(0, 0, 0, 179, 255, 196, 0, 0, 0, 0)) - hsv.append(HsvFilter(0, 156, 0, 179, 255, 255, 0, 0, 0, 0)) - hsv.append(HsvFilter(0, 95, 137, 179, 255, 255, 0, 0, 0, 0)) - elif EMITTER_TO_USE == EMITTER_AMU: - needles.append(cv.imread("equip/book_1_32.jpg", cv.IMREAD_UNCHANGED)) - needles.append(cv.imread("equip/book_2_32.jpg", cv.IMREAD_UNCHANGED)) - needles.append(cv.imread("equip/book_3_32.jpg", cv.IMREAD_UNCHANGED)) - needles.append(cv.imread("equip/book_4_32.jpg", cv.IMREAD_UNCHANGED)) - needles.append(cv.imread("equip/book_5_32.jpg", cv.IMREAD_UNCHANGED)) - - needles.append(cv.imread("equip/amu_1_32.jpg", cv.IMREAD_UNCHANGED)) - needles.append(cv.imread("equip/amu_2_32.jpg", cv.IMREAD_UNCHANGED)) - needles.append(cv.imread("equip/amu_3_32.jpg", cv.IMREAD_UNCHANGED)) - needles.append(cv.imread("equip/amu_4_32.jpg", cv.IMREAD_UNCHANGED)) - needles.append(cv.imread("equip/amu_5_32.jpg", cv.IMREAD_UNCHANGED)) - needles.append(cv.imread("equip/amu_6_32.jpg", cv.IMREAD_UNCHANGED)) - needles.append(cv.imread("equip/amu_7_32.jpg", cv.IMREAD_UNCHANGED)) - - needles.append(cv.imread("equip/bag_1_32.jpg", cv.IMREAD_UNCHANGED)) - needles.append(cv.imread("equip/bag_2_32.jpg", cv.IMREAD_UNCHANGED)) - needles.append(cv.imread("equip/bag_3_32.jpg", cv.IMREAD_UNCHANGED)) - needles.append(cv.imread("equip/bag_4_32.jpg", cv.IMREAD_UNCHANGED)) - needles.append(cv.imread("equip/bag_5_32.jpg", cv.IMREAD_UNCHANGED)) - needles.append(cv.imread("equip/bag_6_32.jpg", cv.IMREAD_UNCHANGED)) - # needles.append(cv.imread("equip/bag_7_32.jpg", cv.IMREAD_UNCHANGED)) - - #needles.append(cv.imread("equip/book_6_32.jpg", cv.IMREAD_UNCHANGED)) - #needles.append(cv.imread("equip/book_7_32.jpg", cv.IMREAD_UNCHANGED)) - hsv.append(HsvFilter(0, 128, 0, 179, 255, 255, 0, 0, 0, 0)) - hsv.append(HsvFilter(49, 0, 0, 179, 255, 255, 0, 0, 0, 0)) - hsv.append(HsvFilter(0, 0, 0, 179, 255, 196, 0, 0, 0, 0)) - hsv.append(HsvFilter(0, 156, 0, 179, 255, 255, 0, 0, 0, 0)) - hsv.append(HsvFilter(0, 95, 137, 179, 255, 255, 0, 0, 0, 0)) - - elif EMITTER_TO_USE == EMITTER_MAIN: - needles.append(cv.imread("equip/book_1_32.jpg", cv.IMREAD_UNCHANGED)) - needles.append(cv.imread("equip/book_2_32.jpg", cv.IMREAD_UNCHANGED)) - needles.append(cv.imread("equip/book_3_32.jpg", cv.IMREAD_UNCHANGED)) - needles.append(cv.imread("equip/book_4_32.jpg", cv.IMREAD_UNCHANGED)) - needles.append(cv.imread("equip/book_5_32.jpg", cv.IMREAD_UNCHANGED)) - - needles.append(cv.imread("equip/chest_1_32.jpg", cv.IMREAD_UNCHANGED)) - needles.append(cv.imread("equip/chest_2_32.jpg", cv.IMREAD_UNCHANGED)) - needles.append(cv.imread("equip/chest_3_32.jpg", cv.IMREAD_UNCHANGED)) - - needles.append(cv.imread("equip/key_1_32.jpg", cv.IMREAD_UNCHANGED)) - needles.append(cv.imread("equip/key_2_32.jpg", cv.IMREAD_UNCHANGED)) - needles.append(cv.imread("equip/key_3_32.jpg", cv.IMREAD_UNCHANGED)) - - needles.append(cv.imread("equip/pot_1_32.jpg", cv.IMREAD_UNCHANGED)) - needles.append(cv.imread("equip/pot_2_32.jpg", cv.IMREAD_UNCHANGED)) - needles.append(cv.imread("equip/pot_3_32.jpg", cv.IMREAD_UNCHANGED)) - needles.append(cv.imread("equip/pot_4_32.jpg", cv.IMREAD_UNCHANGED)) - needles.append(cv.imread("equip/pot_5_32.jpg", cv.IMREAD_UNCHANGED)) - needles.append(cv.imread("equip/pot_6_32.jpg", cv.IMREAD_UNCHANGED)) - - needles.append(cv.imread("equip/bag_1_32.jpg", cv.IMREAD_UNCHANGED)) - needles.append(cv.imread("equip/bag_2_32.jpg", cv.IMREAD_UNCHANGED)) - needles.append(cv.imread("equip/bag_3_32.jpg", cv.IMREAD_UNCHANGED)) - needles.append(cv.imread("equip/bag_4_32.jpg", cv.IMREAD_UNCHANGED)) - needles.append(cv.imread("equip/bag_5_32.jpg", cv.IMREAD_UNCHANGED)) - needles.append(cv.imread("equip/bag_6_32.jpg", cv.IMREAD_UNCHANGED)) - - hsv.append(HsvFilter(0, 128, 0, 179, 255, 255, 0, 0, 0, 0)) - hsv.append(HsvFilter(49, 0, 0, 179, 255, 255, 0, 0, 0, 0)) - hsv.append(HsvFilter(0, 0, 0, 179, 255, 196, 0, 0, 0, 0)) - hsv.append(HsvFilter(0, 156, 0, 179, 255, 255, 0, 0, 0, 0)) - hsv.append(HsvFilter(0, 95, 137, 179, 255, 255, 0, 0, 0, 0)) - - hsv.append(HsvFilter(13, 40, 85, 135, 255, 255, 0, 0, 55, 53)) - hsv.append(HsvFilter(14, 0, 0, 179, 255, 255, 0, 0, 0, 0)) - - - for op in range(1, 50, 1): - hsv.append(HsvFilter(0, 0, 0, 179, 255, 255, 0, 0, 0, 0)) - for rer in range(0, len(needles), 1): while True: # do object detection @@ -236,32 +118,38 @@ def run(): processed_needle = vision_stun.apply_hsv_filter(needles[rer], hsv[rer]) rectangles = vision_stun.find(processed_screenshot, processed_needle, 0.8, 5) # draw the detection results onto the original image - #output_image = vision_stun.draw_rectangles(processed_screenshot, rectangles) - #cv.imshow("output_image", output_image) - #cv.waitKey(150) + # output_image = vision_stun.draw_rectangles(processed_screenshot, rectangles) + # cv.imshow("output_image", output_image) + # cv.waitKey(150) if len(rectangles) is not 5: break - - if keyboard.is_pressed('p') == True: + if keyboard.is_pressed('p') == True or pause == True: pause = True - print('q pressed') break points = vision_stun.get_click_points(rectangles) - check_move(capture_window, vision_stun, [70, 70, rectangles[0][0] + 70, rectangles[0][1]], needles[rer], - hsv[rer], - points[1], [points[0][0] + 70, points[0][1]]) - check_move(capture_window, vision_stun, [70, 70, rectangles[0][0], rectangles[0][1] + 70], needles[rer], - hsv[rer], - points[2], [points[0][0], points[0][1] + 70]) - check_move(capture_window, vision_stun, [70, 70, rectangles[0][0] + 70, rectangles[0][1] + 70], - needles[rer], hsv[rer], - points[3], [points[0][0] + 70, points[0][1] + 70]) - move(points[4], [points[0][0], points[0][1]]) - if keyboard.is_pressed('p') == True: + check_and_move_tile(capture_window, vision_stun, config, + [70, 70, rectangles[0][0] + 70, rectangles[0][1]], needles[rer], + hsv[rer], + points[1], [points[0][0] + 70, points[0][1]]) + if keyboard.is_pressed('p') == True or pause == True: + pause = True + break + check_and_move_tile(capture_window, vision_stun, config, + [70, 70, rectangles[0][0], rectangles[0][1] + 70], needles[rer], + hsv[rer], + points[2], [points[0][0], points[0][1] + 70]) + if keyboard.is_pressed('p') == True or pause == True: + pause = True + break + check_and_move_tile(capture_window, vision_stun, config, + [70, 70, rectangles[0][0] + 70, rectangles[0][1] + 70], + needles[rer], hsv[rer], + points[3], [points[0][0] + 70, points[0][1] + 70]) + move_tile(config, points[4], [points[0][0], points[0][1]]) + if keyboard.is_pressed('p') == True or pause == True: pause = True - print('q pressed') break # debug the loop rate print('FPS {}'.format(1 / (time() - loop_time))) @@ -269,20 +157,166 @@ def run(): cv.waitKey(150) -def move(point_source, point_dest): - pydirectinput.moveTo(point_source[0], point_source[1]) +def include_chests(needles, hsv): + needles.append(cv.imread("equip/chest_1_32.jpg", cv.IMREAD_UNCHANGED)) + hsv.append(HsvFilter(13, 40, 85, 135, 255, 255, 0, 0, 55, 53)) + needles.append(cv.imread("equip/chest_2_32.jpg", cv.IMREAD_UNCHANGED)) + hsv.append(HsvFilter(14, 0, 0, 179, 255, 255, 0, 0, 0, 0)) + needles.append(cv.imread("equip/chest_3_32.jpg", cv.IMREAD_UNCHANGED)) + hsv.append(HsvFilter(0, 0, 0, 179, 255, 255, 0, 0, 0, 0)) + + +def include_books(needles, hsv): + needles.append(cv.imread("equip/book_1_32.jpg", cv.IMREAD_UNCHANGED)) + hsv.append(HsvFilter(0, 128, 0, 179, 255, 255, 0, 0, 0, 0)) + needles.append(cv.imread("equip/book_2_32.jpg", cv.IMREAD_UNCHANGED)) + hsv.append(HsvFilter(49, 0, 0, 179, 255, 255, 0, 0, 0, 0)) + needles.append(cv.imread("equip/book_3_32.jpg", cv.IMREAD_UNCHANGED)) + hsv.append(HsvFilter(0, 0, 0, 179, 255, 196, 0, 0, 0, 0)) + needles.append(cv.imread("equip/book_4_32.jpg", cv.IMREAD_UNCHANGED)) + hsv.append(HsvFilter(0, 156, 0, 179, 255, 255, 0, 0, 0, 0)) + needles.append(cv.imread("equip/book_5_32.jpg", cv.IMREAD_UNCHANGED)) + hsv.append(HsvFilter(0, 95, 137, 179, 255, 255, 0, 0, 0, 0)) + + +def include_keys(needles, hsv): + needles.append(cv.imread("equip/key_1_32.jpg", cv.IMREAD_UNCHANGED)) + hsv.append(HsvFilter(0, 0, 0, 179, 255, 255, 0, 0, 0, 0)) + needles.append(cv.imread("equip/key_2_32.jpg", cv.IMREAD_UNCHANGED)) + hsv.append(HsvFilter(0, 0, 0, 179, 255, 255, 0, 0, 0, 0)) + needles.append(cv.imread("equip/key_3_32.jpg", cv.IMREAD_UNCHANGED)) + hsv.append(HsvFilter(0, 0, 0, 179, 255, 255, 0, 0, 0, 0)) + + +def include_pots(needles, hsv): + needles.append(cv.imread("equip/pot_1_32.jpg", cv.IMREAD_UNCHANGED)) + hsv.append(HsvFilter(0, 0, 0, 179, 255, 255, 0, 0, 0, 0)) + needles.append(cv.imread("equip/pot_2_32.jpg", cv.IMREAD_UNCHANGED)) + hsv.append(HsvFilter(0, 0, 0, 179, 255, 255, 0, 0, 0, 0)) + needles.append(cv.imread("equip/pot_3_32.jpg", cv.IMREAD_UNCHANGED)) + hsv.append(HsvFilter(0, 0, 0, 179, 255, 255, 0, 0, 0, 0)) + needles.append(cv.imread("equip/pot_4_32.jpg", cv.IMREAD_UNCHANGED)) + hsv.append(HsvFilter(0, 0, 0, 179, 255, 255, 0, 0, 0, 0)) + needles.append(cv.imread("equip/pot_5_32.jpg", cv.IMREAD_UNCHANGED)) + hsv.append(HsvFilter(0, 0, 0, 179, 255, 255, 0, 0, 0, 0)) + needles.append(cv.imread("equip/pot_6_32.jpg", cv.IMREAD_UNCHANGED)) + hsv.append(HsvFilter(0, 0, 0, 179, 255, 255, 0, 0, 0, 0)) + + +def include_bags(needles, hsv): + needles.append(cv.imread("equip/bag_1_32.jpg", cv.IMREAD_UNCHANGED)) + hsv.append(HsvFilter(0, 0, 0, 179, 255, 255, 0, 0, 0, 0)) + needles.append(cv.imread("equip/bag_2_32.jpg", cv.IMREAD_UNCHANGED)) + hsv.append(HsvFilter(0, 0, 0, 179, 255, 255, 0, 0, 0, 0)) + needles.append(cv.imread("equip/bag_3_32.jpg", cv.IMREAD_UNCHANGED)) + hsv.append(HsvFilter(0, 0, 0, 179, 255, 255, 0, 0, 0, 0)) + needles.append(cv.imread("equip/bag_4_32.jpg", cv.IMREAD_UNCHANGED)) + hsv.append(HsvFilter(0, 0, 0, 179, 255, 255, 0, 0, 0, 0)) + needles.append(cv.imread("equip/bag_5_32.jpg", cv.IMREAD_UNCHANGED)) + hsv.append(HsvFilter(0, 0, 0, 179, 255, 255, 0, 0, 0, 0)) + needles.append(cv.imread("equip/bag_6_32.jpg", cv.IMREAD_UNCHANGED)) + hsv.append(HsvFilter(0, 0, 0, 179, 255, 255, 0, 0, 0, 0)) + + +def include_coins(needles, hsv): + needles.append(cv.imread("equip/coin_1_32.jpg", cv.IMREAD_UNCHANGED)) + hsv.append(HsvFilter(0, 0, 0, 179, 255, 255, 0, 0, 0, 0)) + needles.append(cv.imread("equip/coin_2_32.jpg", cv.IMREAD_UNCHANGED)) + hsv.append(HsvFilter(0, 0, 0, 179, 255, 255, 0, 0, 0, 0)) + + +def include_runes(needles, hsv): + needles.append(cv.imread("equip/rune_1_32.jpg", cv.IMREAD_UNCHANGED)) + hsv.append(HsvFilter(0, 0, 0, 179, 255, 255, 0, 0, 0, 0)) + needles.append(cv.imread("equip/rune_2_32.jpg", cv.IMREAD_UNCHANGED)) + hsv.append(HsvFilter(0, 0, 0, 179, 255, 255, 0, 0, 0, 0)) + + +def include_mushs(needles, hsv): + needles.append(cv.imread("equip/mush_1_32.jpg", cv.IMREAD_UNCHANGED)) + hsv.append(HsvFilter(0, 0, 0, 179, 255, 255, 0, 0, 0, 0)) + needles.append(cv.imread("equip/mush_2_32.jpg", cv.IMREAD_UNCHANGED)) + hsv.append(HsvFilter(0, 0, 0, 179, 255, 255, 0, 0, 0, 0)) + needles.append(cv.imread("equip/mush_3_32.jpg", cv.IMREAD_UNCHANGED)) + hsv.append(HsvFilter(0, 0, 0, 179, 255, 255, 0, 0, 0, 0)) + needles.append(cv.imread("equip/mush_4_32.jpg", cv.IMREAD_UNCHANGED)) + hsv.append(HsvFilter(0, 0, 0, 179, 255, 255, 0, 0, 0, 0)) + needles.append(cv.imread("equip/mush_5_32.jpg", cv.IMREAD_UNCHANGED)) + hsv.append(HsvFilter(0, 0, 0, 179, 255, 255, 0, 0, 0, 0)) + needles.append(cv.imread("equip/mush_6_32.jpg", cv.IMREAD_UNCHANGED)) + hsv.append(HsvFilter(0, 0, 0, 179, 255, 255, 0, 0, 0, 0)) + needles.append(cv.imread("equip/mush_7_32.jpg", cv.IMREAD_UNCHANGED)) + hsv.append(HsvFilter(0, 0, 0, 179, 255, 255, 0, 0, 0, 0)) + needles.append(cv.imread("equip/mush_8_32.jpg", cv.IMREAD_UNCHANGED)) + hsv.append(HsvFilter(0, 0, 0, 179, 255, 255, 0, 0, 0, 0)) + + +def include_amus(needles, hsv): + needles.append(cv.imread("equip/amu_1_32.jpg", cv.IMREAD_UNCHANGED)) + hsv.append(HsvFilter(0, 0, 0, 179, 255, 255, 0, 0, 0, 0)) + needles.append(cv.imread("equip/amu_2_32.jpg", cv.IMREAD_UNCHANGED)) + hsv.append(HsvFilter(0, 0, 0, 179, 255, 255, 0, 0, 0, 0)) + needles.append(cv.imread("equip/amu_3_32.jpg", cv.IMREAD_UNCHANGED)) + hsv.append(HsvFilter(0, 0, 0, 179, 255, 255, 0, 0, 0, 0)) + needles.append(cv.imread("equip/amu_4_32.jpg", cv.IMREAD_UNCHANGED)) + hsv.append(HsvFilter(0, 0, 0, 179, 255, 255, 0, 0, 0, 0)) + needles.append(cv.imread("equip/amu_5_32.jpg", cv.IMREAD_UNCHANGED)) + hsv.append(HsvFilter(0, 0, 0, 179, 255, 255, 0, 0, 0, 0)) + needles.append(cv.imread("equip/amu_6_32.jpg", cv.IMREAD_UNCHANGED)) + hsv.append(HsvFilter(0, 0, 0, 179, 255, 255, 0, 0, 0, 0)) + needles.append(cv.imread("equip/amu_7_32.jpg", cv.IMREAD_UNCHANGED)) + hsv.append(HsvFilter(0, 0, 0, 179, 255, 255, 0, 0, 0, 0)) + + +def include_swords(needles, hsv): + needles.append(cv.imread("equip/sword_1_32.jpg", cv.IMREAD_UNCHANGED)) + hsv.append(HsvFilter(0, 0, 0, 179, 255, 255, 0, 0, 0, 0)) + needles.append(cv.imread("equip/sword_2_32.jpg", cv.IMREAD_UNCHANGED)) + hsv.append(HsvFilter(0, 0, 0, 179, 255, 255, 0, 0, 0, 0)) + needles.append(cv.imread("equip/sword_3_32.jpg", cv.IMREAD_UNCHANGED)) + hsv.append(HsvFilter(0, 0, 0, 179, 255, 255, 0, 0, 0, 0)) + needles.append(cv.imread("equip/sword_4_32.jpg", cv.IMREAD_UNCHANGED)) + hsv.append(HsvFilter(0, 0, 0, 179, 255, 255, 0, 0, 0, 0)) + needles.append(cv.imread("equip/sword_5_32.jpg", cv.IMREAD_UNCHANGED)) + hsv.append(HsvFilter(0, 0, 0, 179, 255, 255, 0, 0, 0, 0)) + + +def move_tile(conf, point_source, point_dest): + offset_left = conf.returnEquipmentWindowPos()[2] + offset_down = conf.returnEquipmentWindowPos()[3] + pydirectinput.moveTo(point_source[0] + offset_left, point_source[1] + offset_down) pydirectinput.mouseDown() w = random.randint(1, 100) cv.waitKey(250 + w) - pydirectinput.moveTo(point_dest[0], point_dest[1]) + pydirectinput.moveTo(point_dest[0] + offset_left, point_dest[1] + offset_down) pydirectinput.mouseUp() cv.waitKey(250 + w) - if keyboard.is_pressed('p') == True: - pause = True - print('q pressed') -def check_move(capture_win, visio, rect, needl, hsv, point_source, point_dest): +def find_emitter(emitter_to_use, vis, screen, layer): + if emitter_to_use == EMITTER_MUSH: + if layer == 0: + return vis.find(screen, cv.imread("equip/mush_e_32.jpg", cv.IMREAD_UNCHANGED), 0.7, 1) + else: + return vis.find(screen, cv.imread("equip/mush_e2_32.jpg", cv.IMREAD_UNCHANGED), 0.4, 1) + elif emitter_to_use == EMITTER_AMU: + if layer == 0: + return vis.find(screen, cv.imread("equip/amu_e_32.jpg", cv.IMREAD_UNCHANGED), 0.7, 1) + else: + return vis.find(screen, cv.imread("equip/amu_e2_32.jpg", cv.IMREAD_UNCHANGED), 0.4, 1) + elif emitter_to_use == EMITTER_MAIN: + if layer == 0: + return vis.find(screen, cv.imread("equip/main_e1_32.jpg", cv.IMREAD_UNCHANGED), 0.8, 1) + else: + return vis.find(screen, cv.imread("equip/main_e2_32.jpg", cv.IMREAD_UNCHANGED), 0.5, 1) + elif emitter_to_use == EMITTER_SWORD: + if layer == 0: + return vis.find(screen, cv.imread("equip/sword_e1_32.jpg", cv.IMREAD_UNCHANGED), 0.8, 1) + else: + return vis.find(screen, cv.imread("equip/sword_e2_32.jpg", cv.IMREAD_UNCHANGED), 0.7, 1) + + +def check_and_move_tile(capture_win, visio, conf, rect, needl, hsv, point_source, point_dest): screenshot_pos = capture_win.get_screenshot_by_area(rect) processed_screenshot = visio.apply_hsv_filter(screenshot_pos, hsv) processed_needle = visio.apply_hsv_filter(needl, hsv) @@ -296,10 +330,17 @@ def check_move(capture_win, visio, rect, needl, hsv, point_source, point_dest): else: # pos 2 vacant pass - move(point_source, point_dest) - if keyboard.is_pressed('p') == True: - pause = True - print('q pressed') + move_tile(conf, point_source, point_dest) + + +def click_point(conf, x, y): + offset_left = conf.returnEquipmentWindowPos()[2] + offset_down = conf.returnEquipmentWindowPos()[3] + pydirectinput.moveTo(x + offset_left, y + offset_down) + pydirectinput.mouseDown() + w = random.randint(1, 50) + cv.waitKey(30 + w) + pydirectinput.mouseUp() if __name__ == "__main__":