Python 实现王者荣耀 自动刷金币
裸睡的猪
共 3666字,需浏览 8分钟
·
2021-03-01 12:04
来源:CSDN-大瑞大
想写一个游戏的辅助脚本(或者外挂? )很久了。这几天工作、考试都完成的差不多了,闲下来写一个王者荣耀的刷金币脚本,供大家参考。
原理
我想,游戏的脚本应该都是差不多的,我们玩游戏的流程是这样的:
![](https://filescdn.proginn.com/34827bb3e2092f8152a865e41b9a1939/aefd301ae8d74671895d408a6acadba8.webp)
那么用脚本玩游戏呢,完全可以省略中间的步骤:
![](https://filescdn.proginn.com/e856a66913550b1aaab96118f9fc8a66/b596a7e185b68096d53b0d7a8c5fda97.webp)
所以我们只要:
在特定的时刻,特定的位置,按键,就可以了。
环境配置
ADB工具(让电脑使用手机)
下载地址:https://adbshell.com/downloads/
如果慢的话找其它资源也好
下载配置不再赘述。
最后出现类似下图即可。
![](https://filescdn.proginn.com/a6e4033f606a5b78e4d00071f757da5a/c32497c383e603748279151adb6f5b64.webp)
(不用也可)python 与IDE
下载配置不再赘述了,最后出现类似下图即可。
![](https://filescdn.proginn.com/7daabddea5122de67405863108b81fa0/45fe4a9e8462500635f7ae9d808c93b7.webp)
刷金币步骤
1、数据线链接电脑,进入手机开发者模式(不会的话百度即可)
2、启动adb
错误一:5037端口被占用,关闭相应进程即可
![](https://filescdn.proginn.com/e77dfdee7b61f485fc370dc1ae72530a/32712fdd0ae92ebd89ab8aed79770605.webp)
netstat -ano | findstr "5037"
taskkill /pid (进程号) -f
错误二:缺少DLL,或者没有进入开发者模式,移动DLL即可
![](https://filescdn.proginn.com/a5cf90ea97fa33ceaa9507c055beb654/950961dd9a8c19a402c7f6941765c679.webp)
可选(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),截一堆图,并查看像素点
![](https://filescdn.proginn.com/8bf274130a6ce5d6e4c46e92116644de/7278df5e5295d614bea184c3b3c350b8.webp)
可以看到万象天工像素点(1755,793), 通过adb shell input tap 1755 793命令点击万象天工。
以下同理:
![](https://filescdn.proginn.com/5873dd7d83443a7a71fbe0288327a35a/504e6fb4119263201038ca0091fb6179.webp)
像素点(211,275)
![](https://filescdn.proginn.com/28c1c392b96842a792ad4a227950ea5c/e8f4e3053c5c402b539cc5277b3be434.webp)
像素点(1231,557)
![](https://filescdn.proginn.com/ca432ff3dee71c540783d8f261109496/34fffc227dfadb67567ba9743ddfd740.webp)
像素点(800,567)(1393,475)(1677,675)(1791,939)
![](https://filescdn.proginn.com/71bf552f191b9c8b5d73ff0f584e8b1d/e41402e63e55fd30462ca7f1459bf6eb.webp)
像素点(1697,861)
![](https://filescdn.proginn.com/59b335f2fa9816fc9b0e999f83f4323f/f94de88ddb2f3033c05fdf889dc77ecb.webp)
像素点(2175,45)
![](https://filescdn.proginn.com/08934b58e8d64e6ad7b9bc1114d27fc1/a9da478b05f875b166f3e65e0f3427aa.webp)
点击自动 (2117,39)
(无图)
等待60s,跳过(2175,45)
(无图)
等10s点击屏幕继续(1000,500)
![](https://filescdn.proginn.com/907a385ac325995aad9c2d5d5bff3351/a0d3fbf97194895ea827ad58b10fca51.webp)
再次挑战(2001,1011)
![](https://filescdn.proginn.com/76b2f0599bd2cef35d339eb2e14f6647/ac95e9c95be94b092a118af63aa0a0d3.webp)
不断循环即可。
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的时间…
5、封装为exe
pyinstaller -F xxxx.py
![](https://filescdn.proginn.com/1de600109e0a34a3b08c8e51cf828203/bdb5471a35e6c6984fa8127916672f88.webp)
6、链接好手机后,打开到王者初始化界面,运行exe即可
(出错的话,重新运行一遍就可)
测试
我的组合:孙笨+狂铁+小金金…
自动下1min打完…1h能1000+金币
当然,如果其它组合打的时间过长,可以和我讨论下可能会出错啦
睡觉的时候就刷金币,或者边看B站边刷金币,岂不美哉~
![](https://filescdn.proginn.com/8adadae76e1d0bd7e2657d72b3c00078/5b8932901d33dc774c94d23bc92a142f.webp)
- End -
评论