用Python写王者荣耀刷金币脚本


Posted in Python onDecember 21, 2017

王者荣耀很多朋友都想买脚本和挂之类的,想更加容易的获得金币等可以在游戏里买英雄等,今天我们发挥程序员的优势教给大家用Python语言自己写一个可以刷金币的脚本,以下是全部内容。

王者荣耀的冒险模式里有个挑战模式,第一次过关可以获得比较多的金币,后面重新挑战还是会获得少量金币,这不算是bug,只有你不嫌烦手动蛮力也可以刷金币。

推荐关卡:陨落的废都 - 魔女回忆

此关卡使用纯输出英雄20秒左右可以打BOSS,50秒左右可以通关,每次重复通关可以获得奖励19金币。在开挂前建议你手动通关体验一下。此为游戏原理。

简单来说,需要执行以下步骤:

界面打开至挑战关卡:陨落的废都 - 魔女回忆 【点击下一步】

进入阵容调整界面,提前安排好阵容。【点击闯关】

进入挑战界面。【点击右上角-自动-等待挑战结束】

进入挑战完成界面。【点击屏幕继续】

进入关卡奖励界面。【点击再次挑战】

进入阵容调整界面,循环至步骤1或步骤2【貌似取决于游戏区和版本】

只要你能模拟屏幕点击就可以完成刷金币的脚本,在安卓模拟界面点击最简单的方式就是使用ADB发送命令,不需要root手机,不需要安装第三方软件,方便快捷。ADB命令点击屏幕坐标[x, y] 可以使用命令:

adb shell input tap x y

IOS 是否有类似工具和命令,我不清楚,如果有那么实现自动刷金币也很简单。

准备

本脚本适用于安卓游戏区,需要真实安卓手机。

手机需开启USB调试模式,允许电脑调试。

电脑需安装好安卓驱动,一般豌豆荚或者各种管家可以自动帮你装好。

电脑需要有ADB工具集,很多方式可以获取。

ADB工具需要加入环境变量PATH中,方便随时调用。

电脑上需要安装Python,因为这是我选择的脚本语言。

专业的开发测试人员,也可以参考我的另外两篇博客:

在 Windows 下搭建 Appium + Android 自动化测试环境

在Mac OSX 上配置Appium+Android自动化测试环境

如果只是为了刷金币,只需要安装好驱动和ADB工具即可。

步骤

如果万事具备,那么步骤就非常简单。

环境检测

用USB连接手机,如果弹出警告,请允许电脑调试手机。

使用命令 adb devices 检验adb和手机状态已经就绪。

$ adb devices
List of devices attached
b******4    device

模拟点击屏幕,比如你可以打开画图软件,然后运行命令:

adb shell input tap 500 500

如果如果一切OK,那么你将看到画图软件在坐标(500,500)的位置有一个点。

代码实现

通关需要点击的屏幕位置是固定的,加上注释我们只需要不到30行代码就可以完成。

def tap_screen(x, y):
  os.system('adb shell input tap {} {}'.format(x, y))

def do_money_work():
  print('#0 start the game')
  tap_screen(1600, 970)
  sleep(3)

  print('#1 ready, go!!!')
  tap_screen(1450, 910)
  sleep(15)

  print('#2 auto power on!')
  tap_screen(1780, 40)

  for i in range(25):
    tap_screen(1000, 500)
    sleep(1)

  print('#3 do it again...\n')
  tap_screen(1430, 980)
  sleep(3)

然后我们写一个主函数来循环刷钱。

if __name__ == '__main__':
  for i in range(repeat_times):
    print('round #{}'.format(i + 1))
    do_money_work()

然后:

下载项目中的 kog.py 到本地。

将游戏打开,进入挑战模式,魔女回忆,阵容调整界面。

根据手机性能和分辨率,调整kog.py中的参数。(手机分辨率,刷金次数等等)

运行以下命令,手机上就可以查看实时运行效果。

python kog.py

注意:

每周金币上限4200,需要接近4个小时,不建议一次刷满,手机和你都要休息。

铭文,手机性能,英雄选择都会影响通关速度,自己微调等待时间。

如果你不想被USB数据线束缚,可以考虑使用无线连接Android真机。

Python 相关文章推荐
Python实现115网盘自动下载的方法
Sep 30 Python
介绍Python中内置的itertools模块
Apr 29 Python
Python使用smtplib模块发送电子邮件的流程详解
Jun 27 Python
Python正则表达式如何进行字符串替换实例
Dec 28 Python
Python中创建字典的几种方法总结(推荐)
Apr 27 Python
python 计算两个日期相差多少个月实例代码
May 24 Python
Python实用技巧之利用元组代替字典并为元组元素命名
Jul 11 Python
Python解析多帧dicom数据详解
Jan 13 Python
Python3 socket即时通讯脚本实现代码实例(threading多线程)
Jun 01 Python
python 下划线的不同用法
Oct 24 Python
详解解决jupyter不能使用pytorch的问题
Feb 18 Python
python自动获取微信公众号最新文章的实现代码
Jul 15 Python
python使用Apriori算法进行关联性解析
Dec 21 #Python
python实现kMeans算法
Dec 21 #Python
利用Tkinter(python3.6)实现一个简单计算器
Dec 21 #Python
python编写朴素贝叶斯用于文本分类
Dec 21 #Python
python并发2之使用asyncio处理并发
Dec 21 #Python
利用Python暴力破解zip文件口令的方法详解
Dec 21 #Python
Python人脸识别初探
Dec 21 #Python
You might like
加速XP搜索功能堪比vista
2007/03/22 PHP
php读取图片内容并输出到浏览器的实现代码
2013/08/08 PHP
php一些错误处理的方法与技巧总结
2013/08/10 PHP
smarty表格换行实例
2014/12/15 PHP
PHP中的traits实现代码复用使用实例
2015/05/13 PHP
php中PDO方式实现数据库的增删改查
2015/05/17 PHP
PHP批量去除BOM头代码分享
2015/06/26 PHP
PHP中addslashes()和stripslashes()实现字符串转义和还原用法实例
2016/01/07 PHP
Yii CGridView用法实例详解
2016/07/12 PHP
PHP多进程简单实例小结
2019/11/09 PHP
经典的解除许多网站无法复制文字的绝招
2006/12/31 Javascript
JavaScript 拾碎[三] 使用className属性
2010/10/16 Javascript
javascript中createElement的两种创建方式
2015/05/14 Javascript
jQuery检测滚动条是否到达底部
2015/12/15 Javascript
Underscore源码分析
2015/12/30 Javascript
js判断输入字符串是否为空、空格、null的方法总结
2016/06/14 Javascript
Bootstrap CSS组件之分页(pagination)和翻页(pager)
2016/12/17 Javascript
详解js创建对象的几种方法及继承
2019/04/12 Javascript
python re正则表达式模块(Regular Expression)
2014/07/16 Python
跟老齐学Python之变量和参数
2014/10/10 Python
python脚本设置超时机制系统时间的方法
2016/02/21 Python
探究python中open函数的使用
2016/03/01 Python
python 对dataframe下面的值进行大规模赋值方法
2018/06/09 Python
python遍历文件夹,指定遍历深度与忽略目录的方法
2018/07/11 Python
django配置连接数据库及原生sql语句的使用方法
2019/03/03 Python
python实现图片压缩代码实例
2019/08/12 Python
Python生成器next方法和send方法区别详解
2020/05/30 Python
详解python3 GUI刷屏器(附源码)
2021/02/18 Python
abstract class和interface有什么区别?
2012/01/03 面试题
一个SQL面试题
2014/08/21 面试题
暑假实习求职信范文
2013/09/22 职场文书
学院领导推荐信
2013/10/30 职场文书
护理专业毕业生推荐信
2013/10/31 职场文书
小学教师自我剖析材料
2014/09/29 职场文书
Spring Security中用JWT退出登录时遇到的坑
2021/10/16 Java/Android
深入理解mysql事务隔离级别和存储引擎
2022/04/12 MySQL