def _game_state(self): game_state = Recognizer(self.menu, None).recognize(once=True) if not game_state: game_state = Recognizer(self.selector, None).recognize(once=True) if not game_state: return None return 'selector' return 'game'
def click_at_target(self, target, make=True): click = Recognizer(self.image_path(target), region=None)\ .recognize(once=True) click = Rect(click).click() if make: click.make_click() self.log.debug('Click at {0}'.format(target)) return click
def _get_object(self, cfg): process = cfg['process'] if process == 'recognize': return Recognizer(cfg['img'], cfg['region'], wait=cfg['freq']) if process == 'center_on': return Recognizer(cfg['img'], cfg['region'], wait=cfg['freq'], process=cfg['process']) if process == 'click': return Click(cfg['x'], cfg['y'], delay=cfg['delay'])
def process_flow(self): if self.config['spawn']: if not self.config['logout']: Key('0').press() Wait(10).delay() Recognizer(self.moon, None).recognize() self._go_to_selector() Key('U').press() Wait(0.5).delay() Key('E').press() Recognizer(self.moon, None).recognize() return self._go_to_selector() self._detect_chars() if self.config['buff']: self._go_over_chars(self._buff_flow) if self.config['refresh']: self._go_over_chars(self._refresh_flow) Key('E').press()
def _go_to_selector(self): mode = self._setup_buff_mode() if mode: wx, wy = Window().center() Wait(0.5).delay() Click(wx, wy).make_click() dx, dy = self.config['markers']['confirm_logout_point'] dx, dy = wx + int(dx), wy + int(dy) Wait(1).delay() Click(dx, dy).make_click() return Recognizer(self.selector, None).recognize()
def find_position(self, target): """ :param target: path to item image :return: col and row of found """ self.log.debug('Find target at inventory') insertion = Recognizer(target, self.inventory_region, wait=0).recognize(once=True) if insertion is None: return None rect = list(insertion) rect[0], rect[1], rect[2], rect[3] = rect[0] - 1, rect[1] - 2, ITEM_WIDTH + 1, ITEM_HEIGHT + 1 for row in self.matix_rects: if rect in row: x, y = row.index(list(rect)), self.matix_rects.index(row) self.log.debug('Found target at position: {0}'.format([x, y])) if self.debug: self.write_2nd_rects(self.matix_rects[y][x], 'log/eoi.png', single_rect=True) return x, y
def __find_grid_entry(self): rect = Recognizer(self.identifier, None, wait=0).recognize() start = (rect[0], rect[1] + rect[3], 3) self.log.debug('Found grid entry at: {0}'.format(start)) return start
def _next_char(self): Key('D').press() Wait(1).delay() Key('E').press() Recognizer(self.moon, None).recognize()
def _detect_chars(self): recognizer = Recognizer(self.selected_char, None) marker = recognizer.recognize() marker = Rect(marker).click() marker.process = 'click' marker.make_click()
def recognize(): region = (int(center[0]), int(center[1]), int(window.width / 2), int(window.height / 2)) Recognizer(__asset_path(buff_config, 'menu'), region).recognize()
def menu_recognize(): Recognizer(__asset_path(buff_config, 'menu'), None).recognize()