def 抓鬼任务():
fc.鼠标单击_sj(246, 60, 251, 65) # 点击活动
fc.sleep(1, 2)
zg_hd = "./image/zhuagui/zg_hd.bmp"
for _ in range(4): # 翻页最多尝试 3 次
if fc.截图匹配点击(zg_hd, off_x=40, off_y=25, shift_x=190, h=410):
print("找到抓鬼任务")
fc.sleep(3.5, 5.2)
# 找到任务后开始自动匹配
zg_zdpp = "./image/zhuagui/zg_zdpp.bmp"
if fc.截图匹配点击(zg_zdpp, off_x=50, off_y=15):
print("开始自动匹配!")
fc.sleep(1.5, 3.2)
fc.sleep(30, 50) #等待匹配
while True:
#取消带队
zg_qxdd = "./image/zhuagui/zg_qxdd.bmp"
if fc.截图匹配点击(zg_qxdd, off_x=50, off_y=15):
print("取消带队!")
zg_zdcg = "./image/zhuagui/zg_zdcg.bmp"
if fc.截图匹配点击(zg_zdcg, off_x=20, off_y=15, shift_x=349):
print("组队成功,任务进行中...")
# 关闭活动窗口
fc.鼠标单击_sj(730, 105, 751, 125)
return
fc.sleep(30, 50) #等待匹配
else:
print("未找到抓鬼任务,翻页查找...")
fc.活动翻页(303, 246, 572, 363, is_down=True)
fc.sleep(1, 2)
#抓鬼任务()
def 图片变化(img1):
threshold=10
img1 = np.array(img1)
img1_np = img1[53:86, 90:151]# 之前截图的一部分
fc.sleep(30, 50)
img2 = pyautogui.screenshot(region=(90,53,61,33)) #针对部分截图
img2_np = np.array(img2)
diff = np.abs(img1_np.astype(int) - img2_np.astype(int))
mean_diff = np.mean(diff)
if mean_diff > threshold:
return True
else:
return False
def 无限抓鬼():
zhandou = "./image/zhuagui/zhandou.bmp"
for i in range(10000):
print(f"第 {i} 次循环 ")
#加上战斗判定,战斗中不要变化,非战斗中才看变化。
region = (0,0,804,630)
image1 = pyautogui.screenshot(region=region)
image = cv2.cvtColor(np.array(image1), cv2.COLOR_RGB2GRAY)
if fc.模板匹配_返回坐標(image, zhandou):
print("战斗中,继续等待。。")
fc.sleep(3, 5) # 暂停一段时间再检查
fc.sleep(200, 300) # 暂停一段时间再检查
continue
if 图片变化(image1):
print("图片变化中,继续等待。。")
fc.sleep(200, 300) # 暂停一段时间再检查
continue
print("无任务,退出队伍,重新领取任务")
fc.鼠标单击_sj(730, 115, 777, 133) # 选择队伍
zg_tcdw = "./image/zhuagui/zg_tcdw.bmp"
if fc.截图匹配点击(zg_tcdw, off_x=50, off_y=15):
fc.sleep(1, 3) # 暂停一段时间再检查
fc.鼠标单击_sj(710, 100, 730, 120) # 关闭队伍
抓鬼任务()
fc.sleep(200, 300) # 暂停一段时间再检查
无限抓鬼()