def waitingInNewBattle(): """刚刚进战场 """ longRest(30) keybdAct.press("spacebar") longRest(30) keybdAct.press("spacebar")
def check_combat_and_attack(self): r = 2 # 只做2次 while self.check_combat(): time.sleep(5) keybdAct.press('\\', 0.03) if r > 0: keybdAct.press('s', 0.03) r -= 1 time.sleep(15)
def playInBattlefield(self): alive = self.player.checkAlive() if alive: print('运气不错,活着') if self.player_battle_filed_status == PlayerBattleFieldStatus.new_to_battlefield: print('新场,等一下') self.run_json_list(self.script_json['standby_scripts']) else: print('执行战场挂机跑动') self.run_json_list(self.script_json['main_scripts']) else: print('死鬼别动,小心灵魂被风吹散') keybdAct.press("spacebar") longRest(15)
def openDoor(self): (x, y) = self.window.getBtnPos('gnomeregan_door') keybdAct.press('`') longRest(3) keybdAct.press('s', 0.15) win32api.SetCursorPos((x, y)) shortRest(2) win32api.mouse_event(win32con.MOUSEEVENTF_RIGHTDOWN, x, y, 0, 0) # 鼠标左键按下 shortRest(0.05) win32api.mouse_event(win32con.MOUSEEVENTF_RIGHTUP, x, y, 0, 0) # 鼠标左键弹起 shortRest(5) win32api.mouse_event(win32con.MOUSEEVENTF_RIGHTDOWN, x, y, 0, 0) # 鼠标左键按下 shortRest(0.05) win32api.mouse_event(win32con.MOUSEEVENTF_RIGHTUP, x, y, 0, 0) # 鼠标左键弹起
def reLogon(self): # 先离线关闭 is_wow_window_alive = True while is_wow_window_alive: self.window.focus_on_window() longRest() keybdAct.pressHoldRelease('alt', 'F4') longRest() self.window.getWowWindow() is_wow_window_alive = self.window.window != None print("关闭所有wow窗口") # 再登陆 while not is_wow_window_alive: laucher = self.window.getLaucherWindow() self.window.focus_on_window(laucher) longRest() keybdAct.press('enter') print("从登陆器执行了登录") longRest(30) self.window.getWowWindow() is_wow_window_alive = self.window.window != None # 检查是否登录到了人物选择页面,如果没有就等待,可能是排队了 # 取消掉是否登录到游戏人物界面检验,因为是断线重连 # is_in_player_select = self.checkInPlaySelectStatus() # _time = 30 # while not is_in_player_select: # longRest(_time) # if _time < 60*5: # _time += 30 # is_in_player_select = self.checkInPlaySelectStatus() keybdAct.press('enter') print("登录游戏") longRest(20)
def attackLoop(self, duration, force_to_target=False): """attacking by second, eg: duration=20s""" start = time.time() r = True bass = 8 f = 0 while r: keybdAct.press("2") shortRest(1.5) keybdAct.press("3") shortRest(1.5) if f % bass == 1: keybdAct.press("\\") shortRest() bass -= 1 f += 1 r = time.time() - start < duration
def simpleWalkingInBattle(): """简单的战场游走宏,30s """ for i in range(0, 3): keybdAct.press('up_arrow') longRest(7) keybdAct.pressAndHold('d') shortRest(0.15) keybdAct.release('d') keybdAct.press('up_arrow') longRest(7) keybdAct.pressAndHold('a') shortRest(0.15) keybdAct.release('a') longRest(5) keybdAct.press('down_arrow') longRest(5)
def resetDungeon(self): while self.player.checkInDungeon(): keybdAct.press("s", 3) time.sleep(10) keybdAct.press("8", 0.05)
def joinQueueIfNewEnterHall(self): if self.player_battle_filed_status == PlayerBattleFieldStatus.new_to_hall: keybdAct.press(self.player.tarQueueNpc) longRest() keybdAct.press(self.player.tarQueueNpc) longRest()
def pass_corner_1(self, _t): keybdAct.press("s", 0.1) shortRest(0.5) keybdAct.press("spacebar") shortRest(1.5) keybdAct.press("a", _t) shortRest(0.5) keybdAct.press("up_arrow") shortRest(4.1) keybdAct.press("s", 0.45) shortRest(0.5) keybdAct.press("d", 0.35) shortRest(0.5) keybdAct.press("up_arrow") shortRest(1.6) keybdAct.press("a", 0.2) shortRest(0.8) keybdAct.press("a", 0.4) shortRest(2.5) keybdAct.press("a", 0.42) shortRest(2.2) keybdAct.press("a", 0.11) shortRest(2.63) keybdAct.press("s")
def avoid_afk(self): # 防止掉线 r = random.randint(0, 7) keybdAct.press("spacebar") print('嗯,跳一跳,地好烫') longRest()
def jump_continue(self, t=10): keybdAct.pressAndHold('w', 'a') shortRest() keybdAct.press('spacebar') longRest() keybdAct.press('spacebar') shortRest() keybdAct.release('w', 'a') longRest() keybdAct.pressAndHold('w', 'd') shortRest() keybdAct.press('spacebar') longRest() keybdAct.press('spacebar') shortRest() keybdAct.press('spacebar') longRest() keybdAct.press('spacebar') longRest() keybdAct.press('spacebar') longRest() keybdAct.press('spacebar') longRest() keybdAct.release('w', 'd')
def interact(self): keybdAct.press(self.interactBtn)
def clickReloadBtn(self): keybdAct.press(self.reloadBtn) longRest(10)
def logout(self): keybdAct.press(self.quitGameBtn)
def druidStealWalkingInBattle(): keybdAct.press('5') shortRest() keybdAct.press('4') shortRest() simpleWalkingInBattle()