zoukankan      html  css  js  c++  java
  • Python竟然能让王者荣耀血亏?

    昨天新英雄司空震来了,但是阿喵居然买不起!买不起!买不起!

    但是又好想玩啊

    于是直接开干,写一个游戏的辅助脚本(或者外挂? )用来刷王者荣耀金币
    在这里插入图片描述

    原理

    我想,游戏的脚本应该都是差不多的,
    我们玩游戏的流程是这样的:

    按键

    发技能

    怪掉血

    怪死亡后通关

    获得奖励


    那么用脚本玩游戏呢,完全可以省略中间的步骤:

    按键

    获得奖励


    所以我们只要:

    在特定的时刻,特定的位置,按键,就可以了。

    环境配置

    1、ADB工具(让电脑使用手机)
    下载地址:https://adbshell.com/downloads/
    如果慢的话找其它资源也好
    下载配置不再赘述了…(不会的话可以评论或找我私聊)
    最后出现类似下图即可。
    在这里插入图片描述

    2、(不用也可)python 与IDE
    下载配置不再赘述了…(不会的话可以评论或找我私聊)
    最后出现类似下图即可。
    在这里插入图片描述

    刷金币步骤

    1、数据线链接电脑,进入手机开发者模式(不会的话百度即可)
    2、启动adb

    错误一:5037端口被占用,关闭相应进程即可
    在这里插入图片描述

    netstat -ano | findstr "5037"
    taskkill /pid (进程号) -f
    

    错误二:缺少DLL,或者没有进入开发者模式,移动DLL即可

    在这里插入图片描述

    可选(0.找到下载adb的目录,把adb.exe,AdbWinApi.dll放到C:WINDOWSSystem32下)
    
    1.将本机C:WINDOWSSystem32下的adb.exe文件复制到C:WindowsSysWOW64下。
     
    2.将本机C:WINDOWSSystem32下的AdbWinApi.dll文件复制到C:WindowsSysWOW64下。
    

    3、打开王者荣耀(如果不是开发者,可以转5),截一堆图,并查看像素点
    在这里插入图片描述​可以看到万象天工像素点(1755,793), 通过adb shell input tap 1755 793命令点击万象天工。
    以下同理:
    在这里插入图片描述​像素点(211,275)
    在这里插入图片描述​像素点(1231,557)
    在这里插入图片描述
    像素点(800,567)(1393,475)(1677,675)(1791,939)
    在这里插入图片描述​像素点(1697,861)

    在这里插入图片描述​像素点(2175,45)

    在这里插入图片描述​点击自动 (2117,39)
    等待60s,跳过(2175,45)
    等10s点击屏幕继续(1000,500)
    在这里插入图片描述​再次挑战(2001,1011)
    在这里插入图片描述
    不断循环即可。

    4、代码如下:

    # -*- coding: utf-8 -*-
    # @Author  : daruida
    # @Time    : 2021/1/8 15:38
    import os
    from time import sleep
    
    
    # 点击方法
    def click_screen(x, y):
        os.system('adb shell input tap {} {}'.format(x, y))
    
    
    def repeat(zidong):
        print('开始挑战')
        # 闯关
        click_screen(1697, 861)
        sleep(10)
    
        # 跳过
        print('点击跳过')
        click_screen(2175, 45)
        sleep(1)
    
        # 自动
        if zidong == 0:
            print('点击自动')
            click_screen(2117, 39)
            zidong = 1
    
        # 打完
        sleep(60)
        print('打完了')
    
        # 跳过
        click_screen(2175, 45)
        sleep(10)
    
        # 挑战完成
        print('挑战完成
    
    ')
        click_screen(1000, 500)
        sleep(1)
    
        # 再次挑战
        print('再次挑战
    
    ')
        click_screen(2001, 1011)
        sleep(1)
        repeat(zidong)
    
    if __name__ == '__main__':
        zidong = 0
        print('刷金币初始化....')
        click_screen(1755, 793)  # 万象天宫
        sleep(1)
        click_screen(211, 275)   # 冒险玩法
        sleep(1)
        click_screen(1231, 557)  # 挑战
        sleep(2)
        print('通天塔
    ')
        click_screen(1393, 475)  # 通天塔
        sleep(1)
        click_screen(1677, 675)  # 大师级别
        sleep(1)
        click_screen(1791, 939)  # 下一步
        print('刷金币重复阶段...')
        repeat(zidong)
    
    

    当然了…如果手机网速快的话,或者打的速度快的话,可以缩短些sleep的时间…

    4、封装为exe
    pyinstaller -F xxxx.py
    在这里插入图片描述
    5、链接好手机后,打开到王者初始化界面,运行exe即可
    (出错的话,重新运行一遍就可)

    测试

    我的组合:孙策+狂铁+小金金…
    自动下1min打完…1h能1000+金币
    当然,如果其它组合打的时间过长,可以和我讨论下可能会出错啦

    睡觉的时候就刷金币,或者边看B站边刷金币,岂不美哉~~~顺便问一下有没有大佬教我玩司空震的
    在这里插入图片描述

    在这里还是要推荐下我自己建的Python学习群:609616831,群里都是学Python的,如果你想学或者正在学习Python ,欢迎你加入,大家都是软件开发党,不定期分享干货(只有Python软件开发相关的),包括我自己整理的一份2020最新的Python进阶资料和零基础教学,欢迎进阶中和对Python感兴趣的小伙伴加入!

  • 相关阅读:
    正则判断是否为纯数值
    前后端加密解密crypto.js
    小程序使用iconfont字体图标
    LeetCode-Combination Sum II
    LeetCode-Combination Sum
    Google 2013 campus test-R1
    Google Codejam
    LeetCode-Count and Say
    LeetCode-Binary Tree Level Order Traversal II
    LeetCode-Binary Tree Level Order Traversal
  • 原文地址:https://www.cnblogs.com/python-miao/p/14281831.html
Copyright © 2011-2022 走看看