コード例 #1
0
 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'
コード例 #2
0
 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
コード例 #3
0
 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'])
コード例 #4
0
 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()
コード例 #5
0
 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()
コード例 #6
0
 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
コード例 #7
0
 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
コード例 #8
0
 def _next_char(self):
     Key('D').press()
     Wait(1).delay()
     Key('E').press()
     Recognizer(self.moon, None).recognize()
コード例 #9
0
 def _detect_chars(self):
     recognizer = Recognizer(self.selected_char, None)
     marker = recognizer.recognize()
     marker = Rect(marker).click()
     marker.process = 'click'
     marker.make_click()
コード例 #10
0
 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()
コード例 #11
0
def menu_recognize():
    Recognizer(__asset_path(buff_config, 'menu'), None).recognize()