def main(): '''Main function of the script''' parser = argparse.ArgumentParser() parser.add_argument('--all', '-a', action='store_true') parser.add_argument('--interactive', '-i', action='store_true') args = parser.parse_args() logger = CliLogger() screen = Screen() analytics = Analytics(logger) resources = Resources() analytics.ignore = ANALYTICS_IGNORE resources.load(analytics) if args.interactive: handle = wait_league_window(logger, (0, 0, 1024, 768)) screen.d3d.capture(target_fps=10, region=find_rect(handle)) while True: if keyboard.is_pressed('x'): cv2.destroyAllWindows() screen.d3d.stop() break img = screen.d3d.get_latest_frame() if img is None: continue try: img_bgr = cv2.cvtColor(img, cv2.COLOR_RGB2BGR) objs = tick(logger, analytics, resources, img) draw_objects(img_bgr, objs, wait=False, title='League Vision - Interactive') logger.log('Press and hold x to exit bot.') except NoCharacterInMinimap: pass logger.log('-' * 50) time.sleep(1) return if args.all: files = glob.glob('screenshots/*.png') else: files = glob.glob('screenshots/*.png')[:1] for file in files: img_bgr = cv2.imread(file) img = cv2.cvtColor(img_bgr, cv2.COLOR_BGR2RGB) try: objs = tick(logger, analytics, resources, img) logger.log('Press x to exit.') except NoCharacterInMinimap: pass logger.log('-' * 50) if draw_objects(img_bgr, objs, title=f'League Vision - {file}') == 120: break
def main(): '''Main function of the script''' logger = CliLogger() analytics = Analytics(logger) analytics.ignore = [ 'screenshot', 'get_minimap_coor', 'get_minimap_areas', 'get_objects' ] screen = Screen() hwnd = wait_league_window(logger, (0, 0, 1024, 768)) time.sleep(1) logger.log('Press and hold x to exit bot.') while True: if keyboard.is_pressed('x'): break img = screen.screenshot(find_rect(hwnd)) time.sleep(1)
def main(): '''Main function of the script''' paused = False logger = CliLogger() screen = Screen() resources = Resources() analytics = Analytics(logger) cooldown = Cooldown(COOLDOWNS) analytics.ignore = ANALYTICS_IGNORE resources.load(analytics) utility = Utility(logger, screen, resources, analytics, cooldown) logic = Logic(utility) try: handle = wait_league_window(logger, (0, 0, 1024, 768)) except CantForgroundWindowError: pass logger.log('Press and hold x to exit bot.') screen.d3d.capture(target_fps=10, region=find_rect(handle)) while True: try: if keyboard.is_pressed('x'): raise BotExitException if keyboard.is_pressed('ctrl+u'): paused = False if paused: time.sleep(0.1) continue if keyboard.is_pressed('ctrl+p'): paused = True logger.log( 'Bot paused. Press ctrl+u to unpause. Press x to exit.') continue logic.tick() time.sleep(random.randint(*TICK_INTERVAL) / 1000) except BotContinueException as exp: time.sleep(random.randint(*exp.tick_interval) / 1000) except NoCharacterInMinimap: time.sleep(1) except BotExitException: screen.d3d.stop() break except Exception: # pylint:disable=broad-except traceback.print_exc() screen.d3d.stop() break