开发者(KaiFaX)
面向全栈工程师的开发者
专注于前端、Java/Python/Go/PHP的技术社区
作者 | 大瑞大
来源 | 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(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 = 0print('刷金币初始化....')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

6、链接好手机后,打开到王者初始化界面,运行exe即可
(出错的话,重新运行一遍就可)
测试
我的组合:孙笨+狂铁+小金金…
自动下1min打完…1h能1000+金币
当然,如果其它组合打的时间过长,可以和我讨论下可能会出错啦
睡觉的时候就刷金币,或者边看B站边刷金币,岂不美哉~
你还有什么想要补充的吗?
1. 回复“m”可以查看历史记录;
2. 回复“h”或者“帮助”,查看帮助;
开发者已开通多个技术群交流学习,请加若飞微信:1321113940 (暗号k)进开发群学习交流
说明:我们都是开发者。视频或文章来源于网络,如涉及版权或有误,请您与若飞(1321113940)联系,将在第一时间删除或者修改,谢谢!
面向全栈工程师的开发者
专注于前端、Java/Python/Go/PHP的技术社区