Python简易编写阴阳师刷魂土脚本(上)

最近玩阴阳师玩上头了,可是刷土一直手动也不是办法,就想着写个脚本来帮助自己提高一下练度

好的话不多说我们进入正题。

主要思路:通过判断魂土挑战位置来模拟鼠标操作

具体实现:使用pyautogui进行模拟鼠标操作

每次挑战完成后使用python的cv2库进行图片对比进行结算。

主要实现代码:

首先导入所需的库

import cv2
import pyautogui as p
import random
import time

截屏函数:

def get_screen():
  # 截屏口令 保存图片
  #img = p.screenshot(region=(0,0, 1280, 720))  #截取范围是左0,右0,1280x720的范围
  img = p.screenshot()
  img.save('save.png')
  img = cv2.imread('save.png', 0)
  return img

匹配函数:

通过对比结束的图片来进行后续操作

def match(img1,template):#匹配图片
    res=cv2.matchTemplate(img1,template,cv2.TM_CCOEFF_NORMED)
    max=res.max()
    return max

 matchTemplate匹配两张图片,若有相似则返回一个数值,这里我们直接将它return即可。

实现:

import cv2
import pyautogui as p
import random
import time
def get_screen():
  # 截屏口令 保存图片
  #img = p.screenshot(region=(0,0, 1280, 720))  #截取范围是左0,右0,1280x720的范围
  img = p.screenshot()
  img.save('save.png')
  img = cv2.imread('save.png', 0)
  return img
def match(img1,template):#匹配图片
    res=cv2.matchTemplate(img1,template,cv2.TM_CCOEFF_NORMED)
    max=res.max()
    return max

print("脚本执行开始......请以管理员权限运行")
print("使用前记得打开御魂加成")
print("作者:WMHuii QQ:1872157865 beta2.0 ")

match_degree=0.99#
t_end = cv2.imread('pass_time.png',0)#读取图片
t_end2 = cv2.imread('end.png',0)
i=1

while(True):
    #1380 760
    #1450 820
    #initialization
    x = random.randint(1380, 1450)
    y = random.randint(760, 820)
    shortt = random.uniform(1, 1.5)
    speed = random.uniform(1, 1.5)  # 设置速度
    #############

    p.moveTo(x, y, speed)
    p.click()
    while(True):
        match_result = match(t_end, get_screen())
        if(match_result>match_degree):
          break
    p.click()
    time.sleep(0.5)
    p.click()
    time.sleep(1.5)
    p.click()
    print('\r' + 'match success! 完成了' + str(i) + '次!', end='', flush=True)
    time.sleep(1)
    p.click()
    i+=1
    time.sleep(shortt)

最后为了防止官方检测,加入随机函数random随机范围内的鼠标位置。然后用pyinstaller打包成exe即可使用。

至此,一个简易的刷魂土脚本实现完成。


当然,这局限性很大,比如不同的副本无法很好的匹配。

在下一篇我将讲述如何获取匹配图片后的坐标再进行操作

评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WMHuii

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值