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

yipeiwu_com5年前Python基础

王者荣耀很多朋友都想买脚本和挂之类的,想更加容易的获得金币等可以在游戏里买英雄等,今天我们发挥程序员的优势教给大家用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链接oracle数据库以及数据库的增删改查实例

初次使用python链接oracle,所以想记录下我遇到的问题,便于向我这样初次尝试的朋友能够快速的配置好环境进入开发环节。 1.首先,python链接oracle数据库需要配置好环境。...

python用模块zlib压缩与解压字符串和文件的方法

python中zlib模块是用来压缩或者解压缩数据,以便保存和传输。它是其他压缩工具的基础。下面来一起看看python用模块zlib压缩与解压字符串和文件的方法。话不多说,直接来看示例代...

Python黑魔法Descriptor描述符的实例解析

在Python中,访问一个属性的优先级顺序按照如下顺序: 1:类属性 2:数据描述符 3:实例属性 4:非数据描述符 5:__getattr__()方法  这个方法的完整定义如...

Python3编码问题 Unicode utf-8 bytes互转方法

为什么需要本文,因为在对接某些很老的接口的时候,需要传递过去的是16进制的hex字符串,并且要求对传的字符串做编码,这里就介绍了utf-8 Unicode bytes 等等。 #英文...

python实现进程间通信简单实例

本文实例讲解了python实现两个程序之间通信的方法,具体方法如下: 该实例采用socket实现,与socket网络编程不一样的是socket.socket(socket.AF_UNIX...