python实现王者荣耀自动刷金币到周上限导语: 身为码农,小编怎么可能让你们缺金币买英雄?利用Python脚本自动刷王
导语:
身为码农,小编怎么可能让你们缺金币买英雄?利用Python脚本自动刷王者金币!简单好上手!
原理:
王者荣耀的冒险模式里有个挑战模式,第一次过关可以获得比较多的金币,后面重新挑战还是会获得少量金币,(这不算是bug,只有你不嫌烦手动蛮力也可以刷金币。)
想领取更多完整源码或Python学习资料欢迎来私信小编,或者点击这行蓝色字体!
游戏原理
简单来说,需要执行以下步骤:
界面打开至挑战关卡【点击下一步】
进入阵容调整界面,提前安排好阵容。【点击闯关】
进入挑战界面。【点击右上角-自动-等待挑战结束】
进入挑战完成界面。【点击屏幕继续】
进入关卡奖励界面。【点击再次挑战】
进入阵容调整界面,循环至步骤1或步骤2【取决于游戏区和版本】
文中出现的ADB****工具全称为Android Debug Bridge,就是起到调试桥的作用。借助adb工具,我们可以管理设备或手机模拟器的状态。还可以进行很多手机操作,如安装软件、系统升级、运行shell命令等等。其实简而言说,adb就是连接Android手机与PC端的桥梁,可以让用户在电脑上对手机进行全面的操作。
只要你能模拟屏幕点击就可以完成刷金币的脚本,在安卓模拟界面点击最简单的方式就是使用ADB发送命令,不需要root手机,不需要安装第三方软件,方便快捷。ADB命令点击屏幕坐标[x, y] 可以使用命令:
adb shell input tap x y
准备
- 本脚本适用于安卓游戏区,需要真实安卓手机。
- 手机需开启USB调试模式,允许电脑调试。
- 电脑需安装好安卓驱动,一般豌豆荚或者各种管家可以自动帮你装好。
- 电脑需要有ADB工具集,很多方式可以获取。
- ADB工具需要加入环境变量PATH中,方便随时调用。
- 电脑上需要安装Python,因为这是我选择的脚本语言。
如果只是为了刷金币,只需要安装好驱动和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
到本地,iOS则为kog_iOS.py
。 -
将游戏打开,进入挑战模式,魔女回忆,阵容调整界面。
-
根据手机性能和分辨率,调整
kog.py
中的参数。(手机分辨率,刷金次数等等) -
运行以下命令,手机上就可以查看实时运行效果。
python kog.py
注意:
- 每周金币上限4200,需要接近4个小时,不建议一次刷满,手机和你都要休息。
- 铭文,手机性能,英雄选择都会影响通关速度,自己微调等待时间。
- 如果你不想被USB数据线束缚,可以考虑使用无线Android真机。
声明
如果在操作过程中有什么不清楚的可以点击这行蓝色字体!
需要安装包的私信我或者点击上面蓝字。
转载自:https://juejin.cn/post/7046999663303475213