梦幻手游辅助-抓鬼任务
python人生苦短
编辑于 2026年03月18日 07:52

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) # 暂停一段时间再检查

       

无限抓鬼()