python 实现yys自动刷御魂功能(仅供学习)

声明:仅供学习参考,不允许用于任何商业用途

设计思路:

在桌面上查找指定图片,获取该图片的定位,然后模拟鼠标点击,实现了自动化刷魂土。添加一个随机数字给点击的事件和点击的位置。

上代码:

使用库:

pyautogui 自动化鼠标点击事件

pyinstaller 可以后续打包为exe文件,直接执行

说明:

如果修改源代码,执行时需要使用管理员模式打开,否则点击事件不生效。

源代码:


import pyautogui
import random
import time


# 随机数
def rand_num(x, y):
    return round(random.uniform(x, y),3);

# 判断是否为数字
def is_number(s):
    try:
        float(s)
        return True
    except ValueError:
        pass
 
    try:
        import unicodedata
        unicodedata.numeric(s)
        return True
    except (TypeError, ValueError):
        pass
 
    return False

# 位置,偏移量,点击次数,时间间隔,鼠标移动持续时间,按键
def mouse_click(img, offset, click_number, interval, duration, keydown, des, n = False):
    loc = pyautogui.locateCenterOnScreen(img)
    if des:
        print(des + str(loc))
    if loc is not None:
        loc2 = [int(loc.x) + rand_num(offset[0], offset[1]), int(loc.y) + rand_num(offset[2], offset[3])]
        # 模拟鼠标点击事件
        pyautogui.click(loc2[0], loc2[1], clicks = click_number, interval = interval, duration = duration, button = keydown)
        if n :
            print('成功执行{}次'.format(n))
            return n + 1
    return n
    

def game_start(num):
    num = int(num)
    all_num = 0
    n = 1
    while int(n) < num:
        # mouse_click方法可以根据自己要求进行更改
        mouse_click('D:/yysImages/tiaozhan.PNG',[-50, 50, -10, 10], 1, rand_num(0,1), 0.2, 'left', '不间断获取挑战坐标:')
            
        mouse_click('D:/yysImages/shengli.PNG',[-200, 200, -20, 20], 3, rand_num(0,0.5), 0.1, 'left', '不间断获取胜利坐标:')

        n = mouse_click('D:/yysImages/jiesu.PNG',[-250, 250, -100, 100], 1, rand_num(0,1), 0.2, 'left', '不间断获取结束坐标:', n)
        
        all_num += 1

        if(all_num > 100):
            
            print('一直未找到坐标,程序将取消执行!')

            break

        time.sleep(rand_num(3,5))

if __name__ == "__main__":
    print('仅供学习参考,不允许用于任何商业用途。')
    game_number= input('请输入御魂执行次数:\n')
    
    if is_number(game_number):
        
        num = game_number

    else:
        num = 999999999

    # print('程序开始执行!!!!')
    # num = 10000000000
    
    game_start(num)
   

图片

jiesu.PNG

 

shengli.PNG 

tiaozhan.PNG

评论 28
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

飞天巨兽

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

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

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

打赏作者

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

抵扣说明:

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

余额充值