社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

Python 实现王者荣耀自动刷金币

码小辫 • 4 年前 • 347 次点击  

(给Python开发者加星标,提升Python技能

码小辫
专注更多编程视频和电子书
天天在用钱

来源:CSDN-大瑞大

链接:https://blog.csdn.net/qq_42882717/article/details/112345924


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


原理

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

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

所以我们只要:

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

环境配置

ADB工具(让电脑使用手机)

下载地址:https://adbshell.com/downloads/

如果慢的话找其它资源也好

下载配置不再赘述。

最后出现类似下图即可。

(不用也可)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(1697861)
    sleep(10)

    # 跳过
    print('点击跳过')
    click_screen(217545)
    sleep(1)

    # 自动
    if zidong == 0:
        print('点击自动')
        click_screen(211739)
        zidong = 1

    # 打完
    sleep(60)
    print('打完了')

    # 跳过
    click_screen(217545)
    sleep(10)

    # 挑战完成
    print('挑战完成\n\n')
    click_screen(1000500)
    sleep(1)

    # 再次挑战
    print('再次挑战\n\n')
    click_screen(20011011)
    sleep(1)
    repeat(zidong)

if __name__ == '__main__':
    zidong = 0
    print('刷金币初始化....')
    click_screen(1755793)  # 万象天宫
    sleep(1)
    click_screen(211275)   # 冒险玩法
    sleep(1)
    click_screen(1231557)  # 挑战
    sleep(2)
    print('通天塔\n')
    click_screen(1393475)  # 通天塔
    sleep(1)
    click_screen(1677675)  # 大师级别
    sleep(1)
    click_screen(1791939)  # 下一步
    print('刷金币重复阶段...')
    repeat(zidong)

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

5、封装为exe

pyinstaller -F xxxx.py

6、链接好手机后,打开到王者初始化界面,运行exe即可

(出错的话,重新运行一遍就可)

测试

我的组合:孙笨+狂铁+小金金…

自动下1min打完…1h能1000+金币

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

睡觉的时候就刷金币,或者边看B站边刷金币,岂不美哉~

-END-

   小贴士

隐藏菜单:返回上一级 回复 “ 1024 "关键词,即可获取内部学习资料

一个认真分享的小编

前沿技术 /名气内推 /干货分享

商务合作:dot3721
长按左侧二维码添加

点分享

点点赞

点在看

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/108275
 
347 次点击