123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708 |
- # -*- coding: utf-8 -*-
- from scriptBase.imgFind import pcacc_img, savePic
- from scriptBase.mouseClick import pcacc_mouse
- from scriptBase.ocr import capture_and_ocr
- import scriptBase.base
- from scriptBase.comon import *
- from scriptBase.ocr import *
- from apscheduler.schedulers.blocking import BlockingScheduler
- import pyautogui
- import random
- import sys
- import math
- import os
- import time
- from yys_define import *
- from yys_pic import *
- import subprocess
- from yys_pic import _imported
- import socket
- '''
- 基础配置说明:
- 1280*720(DPI 240)
- 游戏画面:流畅
- 高帧率关闭
- 町中模式:旧版
- '''
- def task_getComputerName():
- return socket.gethostname()
- def task_acceptTask():
- while True:
- if waitFindImg_withBool(public_img.xiezhu, 0.1, 4) == True:
- waitClickImg_withBool(public_img.accept, 0.4, 0.5)
- def init():
- global _imported
- if not _imported:
- acceptTask = threading.Thread(target=task_acceptTask)
- acceptTask.daemon = True
- if acceptTask.is_alive() == False:
- acceptTask.start()
- _imported = True
- class basic_operate:
- @staticmethod
- def find_place():
- if waitFindImg_withBool(place_img.search, 0.4, 0):
- return PLACE.SEARCH
- if waitFindImg_withBool(place_img.Town, 0.4, 0):
- return PLACE.TOWN
- if waitFindImg_withBool(place_img.outside, 0.4, 0):
- return PLACE.OUTSIDE
- return PLACE.NONE
- @staticmethod
- def do_back():
- ret = False
- ret |= waitClickImg_noWait_withBool(place_img.back1, 0.6, 0)
- ret |= waitClickImg_noWait_withBool(place_img.back2, 0.6, 0)
- ret |= waitClickImg_noWait_withBool(place_img.close, 0.6, 0)
- ret |= waitClickImg_noWait_withBool(place_img.enter, 0.6, 0)
-
- @staticmethod
- def do_fight(fightBeginWait = 10):
- if fightBeginWait > 0:
- if waitClickImg_withBool(public_img.fight_begin, fightBeginWait, 1) == False:
- return False
- waitClickImg_withBool(public_img.fight_begin, 2, 5)
- if waitClickImg_noWait_withBool([public_img.fight_fail,public_img.fight_fail2,public_img.fight_fail3,public_img.fight_success,public_img.fight_success2, public_img.miwen_success, public_img.guiwang_success],180,1) == False:
- return False
-
- waitClickImg_noWait_withBool([public_img.fight_fail,public_img.fight_fail2,public_img.fight_fail3,public_img.fight_success,public_img.fight_success2, public_img.miwen_success, public_img.guiwang_success],1,1)
- return True
- def task_return_game():
- tryTimes = 3
- while tryTimes > 0:
- if False == waitFindImg_withBool([place_img.title, place_img.title2], 1, 1):
- waitClickImg_noWait([place_img.ico, place_img.ico2], 1, 0)
- myTimeSleep_big()
- tryTimes -= 1
- if tryTimes == 0:
- return False
- else:
- break
- def task_goto_place(place : PLACE):
- task_return_game()
- cur_place = basic_operate.find_place() #当前位置
- dstMsg = "From " + cur_place.name + " to " + place.name
- if cur_place == place:
- if place == PLACE.TOWN and waitFindImg_withBool(zudui_img.zudui, 1, 1) == False:
- waitClickImg_noWait_withBool([place_img.juanzhou,place_img.juanzhou2], 1, 1)
- return True
- #try back to Town
- try_times = 5
- while try_times > 0 and PLACE.NONE == cur_place:
- basic_operate.do_back()
- cur_place = basic_operate.find_place()
- try_times -= 1
- if cur_place == PLACE.SEARCH:
- basic_operate.do_back()
- elif cur_place == PLACE.OUTSIDE:
- waitClickImg(place_img.outside, 1, 1)
- #cur in town, go to dst
- if waitFindImg_withBool(zudui_img.zudui, 1, 1) == False:
- waitClickImg_noWait_withBool([place_img.juanzhou,place_img.juanzhou2], 1, 1)
- if place == PLACE.SEARCH:
- waitClickImg(place_img.Town, 1, 1)
- elif place == PLACE.OUTSIDE:
- waitClickImg(place_img.goOutside, 1, 1)
- myTimeSleep_big()
- return place == basic_operate.find_place()
- def task_save_compress_pic():
- # 截取屏幕截图
- screenshot = pyautogui.screenshot()
- compressed_data = compress_image(screenshot)
- # 保存压缩后的图像到文件
- with open('compressed_screenshot.jpg', 'wb') as f:
- f.write(compressed_data)
- def task_close_game():
- task_return_game()
- if waitClickImg_withBool(gameStart_img.close, 5, 1):
- myTimeSleep(10)
- subprocess.call(f"taskkill /f /im MuMuPlayer.exe")
- subprocess.call(f"taskkill /f /im MuMuVMMHeadless.exe")
- subprocess.call(f"taskkill /f /im MuMuVMMSVC.exe")
- myTimeSleep_big()
- def task_start_game():
- isSuccess = False
- path1 = R'C:\\Program Files\\Netease\\MuMuPlayer-12.0\\shell\\MuMuPlayer.exe'
- path2 = R'C:\Program Files\Netease\MuMu Player 12\shell\MuMuPlayer.exe'
- if os.path.exists(path1):
- subprocess.Popen(path1)
- elif os.path.exists(path2):
- subprocess.Popen(path2)
- if waitClickImg_withBool(gameStart_img.ico, 100, 20) == False:
- return False
- waitFindImg_withBool(gameStart_img.gameIn, 100, 10)
- while waitFindImg_withBool(gameStart_img.gameIn, 5, 10) == False:
- x1, y1 = get_yys_random_point((120, 120, 120, 120))
- pcacc_mouse.click(x1, y1)
- myTimeSleep(10)
- while waitFindImg_withBool(place_img.Town, 5, 5) == False:
- x1, y1 = get_yys_random_point(gameStart_img.enterGame)
- pcacc_mouse.click(x1, y1)
- isSuccess = True
- myTimeSleep_big()
- return isSuccess
- class yys_task:
- def __init__(self, name):
- self.name = name
- def run(self):
- print(f"Running task: {self.name}")
- def task_daoguan():
- waitClickImg_withBool(public_img.fight_begin, 3, 0)
- class task_yeyuanhuo(yys_task):
- def __init__(self):
- super().__init__(f"打业原火XXX100次")
- def run(self):
- tryTimes = 100
- while tryTimes > 0:
- tryTimes -= 1
- waitClickImg_withBool([public_img.tiaozhan,public_img.tiaozhan2,public_img.tiaozhan3,public_img.tiaozhan4, public_img.tiaozhan5, public_img.tiaozhan6, public_img.tiaozhan7, public_img.tiaozhan8, public_img.tiaozhan8,public_img.guiwang
- , public_img.guiwangFight], 10, 0)
- basic_operate.do_fight()
- class task_zhaohuan(yys_task):
- def __init__(self):
- super().__init__(f"召唤100次")
- def run(self):
- tryTimes = 100
- while tryTimes > 0:
- tryTimes = tryTimes - 1
- waitClickImg_withBool(special_img.zhaohuan, 1, 3)
- class task_chaoguiwang(yys_task):
- def __init__(self):
- super().__init__(f"打超鬼王4次")
- def run(self):
- tryTimes = 4
- while tryTimes > 0:
- '''
- if True == waitClickImg_noWait_withBool(chaoguiwang_img.xiaohao, 2, 0):
- myTimeSleep_big()
- waitClickImg_withBool(public_img.guiwang, 10, 0)
- myTimeSleep_big()
- waitClickImg_noWait(chaoguiwang_img.jijie, 3, 0)
- myTimeSleep_big()
- waitClickImg_noWait(chaoguiwang_img.kongbai, 2, 0)
- myTimeSleep_big()
- waitClickImg_noWait(zudui_img.invite, 5, 1)
- myTimeSleep_big()
- waitClickImg_noWait(chaoguiwang_img.main, 10, 0)
- myTimeSleep(60)
- '''
- task_goto_place(PLACE.TOWN)
- myTimeSleep_big()
- waitClickImg(chaoguiwang_img.first, 2, 0)
- myTimeSleep_big()
- waitClickImg(chaoguiwang_img.second, 2, 0)
- myTimeSleep_big()
- #waitClickImg(chaoguiwang_img.monster, 2, 0)
- #myTimeSleep_big()
- waitClickImg(public_img.guiwang, 2, 0)
- myTimeSleep_big()
- curTime = 3
- while curTime > 0:
- curTime = curTime - 1
- waitClickImg_noWait(chaoguiwang_img.normal, 1, 1)
- if False == waitClickImg_withBool(public_img.guiwangFight, 10, 0):
- break
- basic_operate.do_fight()
- myTimeSleep(20)
- tryTimes = tryTimes - 1
-
- return True
-
- class task_xiaohaochaoguiwang(yys_task):
- def __init__(self):
- super().__init__(f"小号打超鬼王10次")
- def run(self):
- while True:
- myTimeSleep_big()
- waitClickImg(chaoguiwang_img.xiaohao, 2, 0)
- myTimeSleep_big()
- waitClickImg_withBool(public_img.guiwang, 10, 0)
- myTimeSleep_big()
- waitClickImg_noWait(chaoguiwang_img.jijie, 3, 0)
- myTimeSleep_big()
- waitClickImg_noWait(chaoguiwang_img.kongbai, 2, 0)
- myTimeSleep_big()
- waitClickImg_noWait(zudui_img.invite, 5, 1)
- myTimeSleep(60)
- waitClickImg_noWait(chaoguiwang_img.main, 10, 0)
- task_goto_place(PLACE.TOWN)
- myTimeSleep_big()
- waitClickImg(chaoguiwang_img.first, 2, 0)
- myTimeSleep_big()
- waitClickImg(chaoguiwang_img.second, 2, 0)
- myTimeSleep_big()
- waitClickImg(chaoguiwang_img.monster, 2, 2)
- while True:
- task_goto_place(PLACE.TOWN)
- myTimeSleep_big()
- waitClickImg(chaoguiwang_img.first, 2, 0)
- myTimeSleep_big()
- waitClickImg(chaoguiwang_img.second, 2, 0)
- myTimeSleep_big()
- if False == waitClickImg(chaoguiwang_img.monster, 2, 2):
- break
- while True:
- if False == waitClickImg_withBool(public_img.guiwangFight, 10, 0):
- break
- basic_operate.do_fight()
- myTimeSleep(20)
-
- return True
- class task_tansuo(yys_task):
- def __init__(self, num, easy=False):
- super().__init__(f"探索第{num}章")
- self.num = num
- self.easy = easy
- def run(self):
- task_goto_place(PLACE.SEARCH)
- #滑动到第一章
- template = tansuo_img.zhangjie
- num_sel = template.format(self.num)
- if waitClickImg_withBool(num_sel,1,1) == False:#一般使最后一章,先尝试查找
- if waitClickImg_withBool(tansuo_img.tansuo,2,1) == False:#正常打完在再次探索页面
- if self.num < 20:
- max_tryTime = 10
- while max_tryTime > 0 and waitFindImg_withBool(template.format(1),0.4,1) == False:
- yys_dragAuto(tansuo_img.select_drag_up)
- max_tryTime -=1
- max_tryTime = 10
- while max_tryTime > 0 and waitClickImg_withBool(num_sel,0.4,1) == False:
- yys_dragAuto(tansuo_img.select_drag_down)
- max_tryTime -=1
-
- #随意,不影响结果
- if self.easy == True:
- waitClickImg_withBool(tansuo_img.easy,0.4,1)
- else:
- waitClickImg_withBool(tansuo_img.kunnan,0.4,1)
- if waitClickImg_withBool(tansuo_img.tansuo,2,1) == False:
-
- task_goto_place(PLACE.SEARCH)
- #滑动到第一章
- template = tansuo_img.zhangjie
- num_sel = template.format(self.num)
-
- end = [1083+(random.randint(0,30)),600+(random.randint(0,30))]
- start = [1077+(random.randint(0,30)),304+(random.randint(0,30))]
- if waitClickImg_withBool(tansuo_img.tansuo,2,1) == False:#正常打完在再次探索页面
- max_tryTime = 10
- while max_tryTime > 0 and waitFindImg_withBool(template.format(1),0.4,1) == False:
- yys_dragAuto(tansuo_img.select_drag_up)
- max_tryTime -=1
- max_tryTime = 10
- while max_tryTime > 0 and waitClickImg_withBool(num_sel,0.4,1) == False:
- yys_dragAuto(tansuo_img.select_drag_down)
- max_tryTime -=1
-
- #随意,不影响结果
- if self.easy == True:
- waitClickImg_withBool(tansuo_img.easy,0.4,1)
- else:
- waitClickImg_withBool(tansuo_img.kunnan,0.4,1)
- if waitClickImg_withBool(tansuo_img.tansuo,2,1) == False:
- return False
-
-
- drag_times = 30
- while drag_times > 0 and waitClickImg_withBool([tansuo_img.boss, tansuo_img.boss2, tansuo_img.boss3], 0.4, 0.4) == False:
- if waitClickImg_withBool(tansuo_img.xiaoguai, 1, 1):
- if waitFindImg_withBool(tansuo_img.backIco, 1, 1):
- drag_times = 30
- continue
- basic_operate.do_fight(0)
- waitFindImg(tansuo_img.backIco, 10, 1)
- else:
- yys_dragAuto(tansuo_img.tansuo_drag)
- drag_times-=1
- if drag_times == 0:
- print("拖动到没有小怪的地方了")
- return False
-
- basic_operate.do_fight(0)
- waitFindImg(tansuo_img.backIco, 10, 1)
- #寻找小纸人宝箱
- while waitClickImg_withBool(tansuo_img.box, 3 ,1) == True:
- ret,pos = waitFindImg(tansuo_img.box_get, 3, 1)
- if ret:
- pcacc_mouse.click(pos[0]+random.randint(150,300),pos[1]-random.randint(100,120))
- if waitFindImg_withBool(tansuo_img.box_get, 1, 1):
- pcacc_mouse.click(pos[0]+random.randint(150,300),pos[1]-random.randint(100,120))
- if waitClickImg_withBool([tansuo_img.big_box,tansuo_img.big_box2,tansuo_img.big_box3],3,0) == True:
- if waitClickImg_withBool(tansuo_img.big_box_get,2,1) == False:
- return False
- return True
- class task_pata(yys_task):
- def __init__(self):
- super().__init__("爬塔")
- def run(self):
- waitClickImg(special_img.tiaozhan, 10, 1)
- basic_operate.do_fight(0)
- class task_topo(yys_task):
- def __init__(self, retryTimes, person = True):
- if person:
- super().__init__("个人突破")
- else:
- super().__init__("阴阳寮突破")
- self.retryTimes = retryTimes
- self.person = person
- def run(self):
- while self.retryTimes:
- self.retryTimes = self.retryTimes - 1
- task_goto_place(PLACE.SEARCH)
- fail_time = 0
- fight_time = 0
- if waitClickImg_withBool(topo_img.topo,2,1) == False:
- return False
- if self.person == False:
- waitClickImg_withBool(topo_img.liaotopo, 2, 1)
-
- for i in range(5, -1, -1):
- myTimeSleep_big()
- star = topo_img.star
- sel = star.format(i)
- positions =list(pyautogui.locateAllOnScreen(sel, confidence=0.85))
- for position in positions:
- #pyautogui.screenshot(imageFilename='yys_tmp.png', region=position)
- region = (position[0] - 30,position[1]-100,280,150)
- #pyautogui.screenshot(imageFilename='yys2.png', region=region)
- myTimeSleep_big()
- ret = pcacc_img.find_img_in_area(topo_img.fail, region)
- ret2 = pcacc_img.find_img_in_area(topo_img.fail2, region)
- ret3 = pcacc_img.find_img_in_area(topo_img.fail3, region)
- print(f'find {sel}, {position}, {ret}, {ret2}, {ret3}')
- if pcacc_img.find_img_in_area(sel, region) == False:
- continue
- if ret == False and ret2 == False and ret3 == False:
- click_pos = pcacc_img.choose_one_point_from_position(position)
- star_tryTimes = 3
-
- #点击star位置
- while star_tryTimes>0 and waitFindImg_withBool(topo_img.fight,2,1) == False:
- pcacc_mouse.click(click_pos[0], click_pos[1])
- star_tryTimes-=1
- myTimeSleep_small()
-
- fight_tryTimes = 3
- while fight_tryTimes>0 and waitFindImg_withBool(topo_img.fight,2,1) == True:
- if waitClickImg_withBool(topo_img.fight,2,1) == False:
- return False
- fight_tryTimes-=1
- myTimeSleep_small()
- if fight_tryTimes == 0:
- return False
-
- basic_operate.do_fight()
- if waitClickImg_withBool(tansuo_img.big_box_get,2,1) == True:
- print("tupo宝箱获取")
- waitFindImg(topo_img.tupo_title, 10, 2)
- myTimeSleep_small()
- if waitFindImg_withBool(topo_img.box3, 1, 0) == True:
- break
- fight_time+=1
- #打满5次后刷新
- if fight_time == 6 or waitFindImg_withBool([topo_img.box3,topo_img.box4], 1, 0) == True:
- if waitClickImg_withBool(topo_img.refresh,2,1) == True:
- waitClickImg_noWait_withBool(topo_img.button_ok,1,1)
- fight_time = 0
- time.sleep(1)
- break
- if waitClickImg_withBool(topo_img.refresh,2,1) == True:
- if waitClickImg_noWait_withBool(topo_img.button_ok,1,1) == False:
- return False
- return True
-
- class task_jiyang(yys_task):
- def __init__(self):
- super().__init__(f"结界寄养")
- def run(self):
- task_goto_place(PLACE.TOWN)
- if waitClickImg_withBool(yyl_img.head, 2, 1) == False:
- return False
- if waitClickImg_withBool(yyl_img.jiejie, 2, 1) == False:
- return False
- if waitClickImg_withBool(yyl_img.shishenGroup, 5, 3) == False:
- return False
- if waitClickImg_noWait_withBool(yyl_img.add_shishen, 5, 3) == False:
- return False
- if waitClickImg_withBool(yyl_img.enter_jiejie, 5, 3) == False:
- return False
- if waitFindImg_withBool(yyl_img.All_shishen, 5, 3) == False:
- return False
- while waitClickImg_withBool(yyl_img.enter, 1, 0.5) == False:
- ret, pos = waitFindImg(yyl_img.All_shishen, 2, 0.5)
- if ret == True:
- pcacc_mouse.click(pos[0] + 150, pos[1] - 90)
- return True
- class task_AddPerson(yys_task):
- def __init__(self, refreshTimes):
- super().__init__(f"阴阳寮加人{refreshTimes}次")
- self.refreshTimes = refreshTimes
- def run(self):
- task_goto_place(PLACE.TOWN)
- if waitClickImg_withBool(yyl_img.head, 2, 1) == False:
- return False
- if waitClickImg_withBool(yyl_img.liaoInfo, 2, 1) == False:
- return False
- if waitClickImg_withBool(yyl_img.manage, 2, 1) == False:
- return False
- retryTimes = 3
- while retryTimes > 0 and waitClickImg_noWait_withBool(yyl_img.manageBtn, 2, 1):
- if waitClickImg_withBool(yyl_img.addPeople, 2, 1):
- break
- else:
- retryTimes -= 1
- if retryTimes == 0:
- return False
-
- while self.refreshTimes > 0:
- if waitClickImg_noWait_withBool(yyl_img.add, 1, 0.4) == False:
- waitClickImg_noWait_withBool(yyl_img.refreshBtn, 1, 0.5)
- self.refreshTimes -= 1
- return True
- class task_fightzuidui(yys_task):
- def __init__(self):
- super().__init__(f"组队,100s超时")
- def run(self):
- task_goto_place(PLACE.TOWN)
- retryTimes = 40
- while True:
- if retryTimes <= 0:
- break
- retryTimes -= 1
- if waitFindImg_withBool([zudui_img.qiuqiu, zudui_img.pcacc_mini], 2, 0.5) == False:
- continue
- if waitClickImg_withBool(zudui_img.accept, 5, 0.5) == False:
- continue
- waitClickImg_withBool(zudui_img.accept, 2, 0.5)
- waitClickImg_withBool(zudui_img.accept, 2, 0.5)#防止没点到
- basic_operate.do_fight(60)
- retryTimes = 40
- class task_yuhun(yys_task):
- def __init__(self):
- super().__init__(f"御魂100次")
- def run(self):
- task_goto_place(PLACE.TOWN)
- tryTimes = 100
- if waitClickImg_withBool(zudui_img.zudui, 2, 1) == False:
- return False
- if waitFindImg_withBool(zudui_img.createTeam, 2, 1) == False:
- return False
- #已经进入页面
-
- while waitClickImg_noWait_withBool(zudui_img.yuhun, 2, 1) == False:
- yys_dragAuto(zudui_img.up_drag_begin)
- while waitClickImg_noWait_withBool(zudui_img.ten, 1, 1) == False:
- yys_dragAuto(zudui_img.mid_drag)
-
- if waitClickImg_withBool(zudui_img.createTeam, 5, 1) == False:
- return False
- waitClickImg_withBool(zudui_img.not_pubulic, 5, 1)
- if waitClickImg_withBool(zudui_img.create, 5, 1) == False:
- return False
-
- while tryTimes > 0:
- tryTimes -= 1
- while waitFindImg_withBool(zudui_img.pcacc2, 1, 0.5) == False:
- if waitClickImg_noWait_withBool(zudui_img.AddPerson, 5, 1) == False:
- return False
- if waitClickImg_noWait_withBool(zudui_img.pcacc, 5, 1) == False:
- return False
- if waitClickImg_withBool(zudui_img.invite, 5, 1) == False:
- return False
- if waitClickImg_withBool(zudui_img.attack, 10, 1) == False:
- return False
- basic_operate.do_fight(20)
- if waitClickImg_withBool(zudui_img.enter, 10, 1) == False:
- return False
-
- class task_fightYaoqi(yys_task):
- def __init__(self, type : YAOQI):
- super().__init__(f"妖气封印{type}")
- self.type = type
- def run(self):
- dstImg = None
- if self.type == YAOQI.GUISHIHEI:
- dstImg = zudui_img.guishihei
- elif self.type == YAOQI.RIHEFANG:
- dstImg = zudui_img.rihefang
- task_goto_place(PLACE.TOWN)
- if waitClickImg_withBool(zudui_img.zudui, 2, 1) == False:
- return False
- #if waitFindImg_withBool(zudui_img.createTeam, 2, 1) == False:
- # return False
-
- if waitFindImg_withBool(zudui_img.AutoPair, 1, 1) == False: #如果没找到自动匹配,意味着需要重新拉取
- while waitClickImg_noWait_withBool(zudui_img.fengyin, 1, 1) == False:
- yys_dragAuto(zudui_img.left_drag_begin)
-
- while waitClickImg_noWait_withBool(dstImg, 1, 1) == False:
- yys_dragAuto(zudui_img.mid_drag)
-
- if waitClickImg_withBool(zudui_img.AutoPair, 2, 1) == False:
- return False
-
- return basic_operate.do_fight(300)
- class task_douji(yys_task):
- def __init__(self, tryTimes):
- super().__init__(f"斗技{tryTimes}次")
- self.tryTimes = tryTimes
- def run(self):
- task_goto_place(PLACE.OUTSIDE)
- if waitClickImg_withBool(douji_img.douji, 10, 5) == False:
- return False
- while self.tryTimes > 0:
- if waitClickImg_withBool([douji_img.fight,douji_img.fight2], 10, 5) == False:
- return False
- if waitClickImg_withBool([public_img.fight_begin,douji_img.AutoGo], 20, 5) == False:
- return False
- myTimeSleep_big()
- waitClickImg_withBool([douji_img.AutoGo,douji_img.shoudong], 10, 5)
-
- while waitClickImg_withBool([public_img.fight_fail, douji_img.success], 10, 1) == False:
- ret,pos = waitFindImg(douji_img.shuju, 1, 0)
- if ret:
- pcacc_mouse.click(pos[0] - 100, pos[1] - 100)
- myTimeSleep_small()
- self.tryTimes -=1
- return True
- class task_baigui(yys_task):
- def __init__(self):
- super().__init__("百鬼夜行40次")
- def run(self):
- task_goto_place(PLACE.OUTSIDE)
- if waitClickImg_withBool(baigui_img.head, 10, 5) == False:
- return False
- tryTimes = 40
- while tryTimes > 0:
- tryTimes -= 1
- waitClickImg_noWait_withBool(baigui_img.invite, 4, 1)
- waitClickImg_withBool(baigui_img.friend, 4, 1)
- if waitClickImg_withBool(baigui_img.enter, 10, 2) == False:
- return False
-
- myTimeSleep_big()
- pointArr = []
- pointArr.append(get_yys_random_point(baigui_img.left))
- pointArr.append(get_yys_random_point(baigui_img.mid))
- pointArr.append(get_yys_random_point(baigui_img.right))
- random.shuffle(pointArr)
- for point in pointArr:
- pcacc_mouse.click(point[0], point[1])
- myTimeSleep_small()
-
- if waitClickImg_withBool(baigui_img.begin, 3, 1) == False:
- return False
-
- myTimeSleep_big()
- ret, position = find_yys_pos()
- while waitFindImg_withBool([baigui_img.end, baigui_img.invite], 0.1, 0) == False:
- pointArr = []
- ret, pos = pcacc_img.find_imgs(baigui_img.pic1)
- if ret == False:
- pointArr.append((baigui_img.pos1, baigui_img.pic1))
- ret, pos = pcacc_img.find_imgs(baigui_img.pic2)
- if ret == False:
- pointArr.append((baigui_img.pos2, baigui_img.pic2))
- ret, pos = pcacc_img.find_imgs(baigui_img.pic3)
- if ret == False:
- pointArr.append((baigui_img.pos3, baigui_img.pic3))
- ret, pos = pcacc_img.find_imgs(baigui_img.pic4)
- if ret == False:
- pointArr.append((baigui_img.pos4, baigui_img.pic4))
- random.shuffle(pointArr)
- for point in pointArr:
- dst = (point[0][0] + random.randint(-10, 10) + position[0], point[0][1] + random.randint(-10, 10) + position[1])
-
- while True:
- ret, pos = pcacc_img.find_imgs(place_img.back2)
- if ret:
- pcacc_mouse.quickclick(dst[0], dst[1])
- ret, pos = pcacc_img.find_imgs(point[1])
- if ret == False:
- break
- pcacc_mouse.quickclick(dst[0], dst[1])
- else:
- break
-
- waitClickImg_withBool(baigui_img.end, 3, 1)
- if __name__ == '__main__':
- # 移动鼠标
- #computer_name = task_getComputerName()
- #print(f"Computer Name: {computer_name}")
- myTimeSleep_big()
- #task_xiaohaochaoguiwang().run()
- task_zhaohuan().run()
- task_yeyuanhuo().run()
-
- while True:
- task_fightYaoqi(YAOQI.RIHEFANG).run()
- task_baigui().run()
-
- tmpRet, tmpPos = find_window_pos('Mumu模拟器12')
- pyautogui.screenshot(imageFilename='yys.png', region=tmpPos)
- #print(task_goto_place(PLACE.OUTSIDE))
-
-
-
|