当前位置 博文首页 > Python实现王者荣耀自动刷金币的完整步骤

    Python实现王者荣耀自动刷金币的完整步骤

    作者:admin 时间:2021-02-06 06:14

    想写一个游戏的辅助脚本(或者外挂? )很久了。这几天工作、考试都完成的差不多了,闲下来写一个王者荣耀的刷金币脚本,供大家参考。

    原理

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

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

    所以我们只要:在特定的时刻,特定的位置,按键,就可以了。

    环境配置

    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:\WINDOWS\System32下)

    1.将本机C:\WINDOWS\System32下的adb.exe文件复制到C:\Windows\SysWOW64下。
     
    2.将本机C:\WINDOWS\System32下的AdbWinApi.dll文件复制到C:\Windows\SysWOW64下。

    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('挑战完成\n\n')
     click_screen(1000, 500)
     sleep(1)
    
     # 再次挑战
     print('再次挑战\n\n')
     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('通天塔\n')
     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+金币

    当然,如果其它组合打的时间过长,可以和我讨论下可能会出错啦

    js