예제 #1
0
파일: checkarmy.py 프로젝트: nnnlife/auto
 def do(self, event):
     if eventtime.is_event_time():
         time.sleep(5)
         return False
     else:
         winkey.send_key(winkey.VK_CODE['q'])
     return True
예제 #2
0
파일: hunting.py 프로젝트: nnnlife/auto
 def do(self, event):
     time.sleep(1)
     winkey.send_key(winkey.VK_CODE['z'])
     time.sleep(1)
     winkey.send_key(winkey.VK_CODE['x'])
     self.get_hunter().set_hunting_start()
     return True
예제 #3
0
    def check(self, event):
        if screen.dispatch_army_popup(event):
            winkey.send_key(winkey.VK_CODE['z'])
            time.sleep(0.5)
            winkey.send_key(winkey.VK_CODE['x'])
            return True

        return False
예제 #4
0
파일: hunting.py 프로젝트: nnnlife/auto
 def do(self, event):
     if screen.is_target_found(event):
         winkey.send_key(winkey.VK_CODE['j'])
         time.sleep(1)
     else:
         winkey.send_key(winkey.VK_CODE['d'])
         time.sleep(1)
         return False
     return True
예제 #5
0
파일: hunting.py 프로젝트: nnnlife/auto
 def check(self, event):
     if screen.is_defeat_popup(event):
         time.sleep(6)
         return False
     elif screen.army_is_back(self.get_hunter().get_capture(), event):
         self.done = True
     winkey.send_key(winkey.VK_CODE['esc'])
     time.sleep(1)
     return True
예제 #6
0
파일: hunting.py 프로젝트: nnnlife/auto
 def do(self, event):
     if screen.is_defeat_popup(event):
         time.sleep(6)
         return False
     elif screen.is_mine_found(event):
         winkey.send_key(winkey.VK_CODE['h'])
         time.sleep(1)
     else:
         winkey.send_key(winkey.VK_CODE['d'])
         time.sleep(1)
         return False
     return True
예제 #7
0
 def check(self, event):
     if screen.is_other_going(event):
         winkey.send_key(winkey.VK_CODE['b'])
         self.get_player().add_occupied_mine()
         time.sleep(1.5)
     else:
         print("Good")
         event.save(get_screen_dir() + os.sep +
                    datetime.datetime.now().strftime('%Y%m%d_%H%M%S_Z') + '.png')
         self.occupied = False
         time.sleep(5)
     return True
예제 #8
0
파일: hunting.py 프로젝트: nnnlife/auto
    def do(self, event):
        type = screen.get_target_type(event)
        if type == -1:
            return False

        self.can_defeat = self.get_hunter().can_defeat(type)
        if self.can_defeat:
            winkey.send_key(winkey.VK_CODE['y'])  # ATTACK
            self.go_attack = True
            self.pressed = True
        else:
            winkey.send_key(winkey.VK_CODE['g'])  # NEXT
            self.pressed = True
        return True
예제 #9
0
파일: hunting.py 프로젝트: nnnlife/auto
    def check(self, event):
        if self.pressed:
            if screen.is_no_ticket(event):
                self.set_mine = True
                time.sleep(1)
                winkey.send_key(winkey.VK_CODE['esc'])
                time.sleep(1)
                self.get_hunter().set_last_no_ticket_time()
                return True
            elif not screen.is_target_screen(event):
                self.pressed = False
            return False

        if self.can_defeat:
            if screen.dispatch_army_popup(event):
                return True

            return False
        else:
            # no more
            if screen.is_no_more_target(event):
                print("NO MORE TARGET")
                self.set_mine = True
                self.get_hunter().set_last_no_ticket_time()
                time.sleep(1)
                return True
            elif screen.is_target_screen(event):
                print("GO TO TARGET SCREEM")
                return True
            elif self.try_count > 30:
                self.set_mine = True  # Press next but it is already empty
                print("TRY TIMEOUT")
                return True

            print("TIMEOUT")
            time.sleep(0.5)
            self.try_count += 1

        return False
예제 #10
0
파일: auto.py 프로젝트: nnnlife/auto
def occasion_exist(img):
    now = datetime.datetime.now()
    castle_time = now.replace(hour=22, minute=00, second=0, microsecond=0)
    is_in_castle_time = abs((now - castle_time).total_seconds()) < 10 * 60

    if screen.is_weather(img):  # 22:30, 24:00 short
        winkey.send_key(winkey.VK_CODE['l'])
        time.sleep(3)
        return True
    elif screen.is_reward(img):  # RANDOM
        winkey.send_key(winkey.VK_CODE['f'])
        time.sleep(3)
        return True
    elif is_in_castle_time and screen.is_castle_summary(img):  # 22:00
        winkey.send_key(winkey.VK_CODE['k'])
        time.sleep(3)
        return True

    return False
예제 #11
0
 def do(self, event):
     winkey.send_key(winkey.VK_CODE['0'] + self.get_player().get_mine_area())
     return True
예제 #12
0
파일: hunting.py 프로젝트: nnnlife/auto
    def do(self, event):
        winkey.send_key(winkey.VK_CODE['m'])
        time.sleep(1)

        return True
예제 #13
0
 def do(self, event):
     self.get_player().increase_try_count()
     winkey.send_key(winkey.VK_CODE['n'])
     return True
예제 #14
0
파일: hunting.py 프로젝트: nnnlife/auto
 def do(self, event):
     winkey.send_key(winkey.VK_CODE['m'])
     return True
예제 #15
0
파일: hunting.py 프로젝트: nnnlife/auto
 def do(self, event):
     # Capture 1st
     self.get_hunter().set_capture(screen.capture_primary_army(event))
     winkey.send_key(winkey.VK_CODE['0'])
     return True
예제 #16
0
파일: checkarmy.py 프로젝트: nnnlife/auto
 def do(self, event):
     winkey.send_key(winkey.VK_CODE['m'])
     time.sleep(1)  # to prevent empty string
     return True
예제 #17
0
파일: hunting.py 프로젝트: nnnlife/auto
 def do(self, event):
     if screen.is_search_popup(event):
         winkey.send_key(winkey.VK_CODE['n'])
     time.sleep(1)
     return True
예제 #18
0
파일: auto.py 프로젝트: nnnlife/auto
        for m in miners:
            if m.is_waiting():
                waiting_exist = True
                m.next(current_screen)
                break

        if waiting_exist:  # startup
            time.sleep(0.1)
        elif hunt is not None:
            hunt = hunt.on_event(current_screen)
        else:
            army = army.on_event(current_screen)
            if not army:
                army = checkarmy.CheckArmy()
                winkey.send_key(winkey.VK_CODE['esc'])
                time.sleep(1)
                winkey.send_key(winkey.VK_CODE['esc'])
                time.sleep(1)

                if len(miners) is 0:
                    for p in players:
                        miners.append(
                            miner.Miner(
                                p,
                                screen.army_exists(current_screen,
                                                   p.base_area())))
                else:
                    found = False
                    for i, p in enumerate(players):
                        if screen.army_exists(current_screen, p.base_area()):