(使用python+adb)能实现王者荣耀自动刷金币?

想写一个游戏的辅助脚本(或者外挂? )很久了。这几天工作、考试都完成的差不多了,闲下来写一个王者荣耀的刷金币脚本,供大家参考。


在这里插入图片描述

原理

我想,游戏的脚本应该都是差不多的,
我们玩游戏的流程是这样的:

按键
发技能
怪掉血
怪死亡后通关
获得奖励

那么用脚本玩游戏呢,完全可以省略中间的步骤:

 
按键
获得奖励

所以我们只要:
在特定的时刻,特定的位置,按键,就可以了。

环境配置

1、ADB工具(让电脑使用手机)
下载地址:https://adbshell.com/downloads/
如果慢的话找其它资源也好
下载配置不再赘述了…
最后出现类似下图即可。在这里插入图片描述
2、(不用也可)python 与IDE
下载配置不再赘述了…
最后出现类似下图即可。
在这里插入图片描述

刷金币步骤

1、数据线链接电脑,进入手机开发者模式(不会的话百度即可)
2、启动adb

错误一:5037端口被占用,关闭相应进程即可
在这里插入图片描述

<span style="color:#000000"><code>netstat -ano | findstr "5037"
taskkill /pid (进程号) -f
</code></span>

错误二:缺少DLL,或者没有进入开发者模式,移动DLL即可
在这里插入图片描述

<span style="color:#000000"><code>可选(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下。
</code></span>

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、代码如下:

<span style="color:#000000"><code class="language-python"><span style="color:#5c6370"># -*- coding: utf-8 -*-</span>
<span style="color:#5c6370"># @Author  : daruida</span>
<span style="color:#5c6370"># @Time    : 2021/1/8 15:38</span>
<span style="color:#c678dd">import</span> os
<span style="color:#c678dd">from</span> time <span style="color:#c678dd">import</span> sleep


<span style="color:#5c6370"># 点击方法</span>
<span style="color:#c678dd">def</span> <span style="color:#61aeee">click_screen</span><span style="color:#999999">(</span>x<span style="color:#999999">,</span> y<span style="color:#999999">)</span><span style="color:#999999">:</span>
    os<span style="color:#999999">.</span>system<span style="color:#999999">(</span><span style="color:#669900">'adb shell input tap {} {}'</span><span style="color:#999999">.</span><span style="color:#669900">format</span><span style="color:#999999">(</span>x<span style="color:#999999">,</span> y<span style="color:#999999">)</span><span style="color:#999999">)</span>


<span style="color:#c678dd">def</span> <span style="color:#61aeee">repeat</span><span style="color:#999999">(</span>zidong<span style="color:#999999">)</span><span style="color:#999999">:</span>
    <span style="color:#c678dd">print</span><span style="color:#999999">(</span><span style="color:#669900">'开始挑战'</span><span style="color:#999999">)</span>
    <span style="color:#5c6370"># 闯关</span>
    click_screen<span style="color:#999999">(</span><span style="color:#98c379">1697</span><span style="color:#999999">,</span> <span style="color:#98c379">861</span><span style="color:#999999">)</span>
    sleep<span style="color:#999999">(</span><span style="color:#98c379">10</span><span style="color:#999999">)</span>

    <span style="color:#5c6370"># 跳过</span>
    <span style="color:#c678dd">print</span><span style="color:#999999">(</span><span style="color:#669900">'点击跳过'</span><span style="color:#999999">)</span>
    click_screen<span style="color:#999999">(</span><span style="color:#98c379">2175</span><span style="color:#999999">,</span> <span style="color:#98c379">45</span><span style="color:#999999">)</span>
    sleep<span style="color:#999999">(</span><span style="color:#98c379">1</span><span style="color:#999999">)</span>

    <span style="color:#5c6370"># 自动</span>
    <span style="color:#c678dd">if</span> zidong <span style="color:#669900">==</span> <span style="color:#98c379">0</span><span style="color:#999999">:</span>
        <span style="color:#c678dd">print</span><span style="color:#999999">(</span><span style="color:#669900">'点击自动'</span><span style="color:#999999">)</span>
        click_screen<span style="color:#999999">(</span><span style="color:#98c379">2117</span><span style="color:#999999">,</span> <span style="color:#98c379">39</span><span style="color:#999999">)</span>
        zidong <span style="color:#669900">=</span> <span style="color:#98c379">1</span>

    <span style="color:#5c6370"># 打完</span>
    sleep<span style="color:#999999">(</span><span style="color:#98c379">60</span><span style="color:#999999">)</span>
    <span style="color:#c678dd">print</span><span style="color:#999999">(</span><span style="color:#669900">'打完了'</span><span style="color:#999999">)</span>

    <span style="color:#5c6370"># 跳过</span>
    click_screen<span style="color:#999999">(</span><span style="color:#98c379">2175</span><span style="color:#999999">,</span> <span style="color:#98c379">45</span><span style="color:#999999">)</span>
    sleep<span style="color:#999999">(</span><span style="color:#98c379">10</span><span style="color:#999999">)</span>

    <span style="color:#5c6370"># 挑战完成</span>
    <span style="color:#c678dd">print</span><span style="color:#999999">(</span><span style="color:#669900">'挑战完成\n\n'</span><span style="color:#999999">)</span>
    click_screen<span style="color:#999999">(</span><span style="color:#98c379">1000</span><span style="color:#999999">,</span> <span style="color:#98c379">500</span><span style="color:#999999">)</span>
    sleep<span style="color:#999999">(</span><span style="color:#98c379">1</span><span style="color:#999999">)</span>

    <span style="color:#5c6370"># 再次挑战</span>
    <span style="color:#c678dd">print</span><span style="color:#999999">(</span><span style="color:#669900">'再次挑战\n\n'</span><span style="color:#999999">)</span>
    click_screen<span style="color:#999999">(</span><span style="color:#98c379">2001</span><span style="color:#999999">,</span> <span style="color:#98c379">1011</span><span style="color:#999999">)</span>
    sleep<span style="color:#999999">(</span><span style="color:#98c379">1</span><span style="color:#999999">)</span>
    repeat<span style="color:#999999">(</span>zidong<span style="color:#999999">)</span>

<span style="color:#c678dd">if</span> __name__ <span style="color:#669900">==</span> <span style="color:#669900">'__main__'</span><span style="color:#999999">:</span>
    zidong <span style="color:#669900">=</span> <span style="color:#98c379">0</span>
    <span style="color:#c678dd">print</span><span style="color:#999999">(</span><span style="color:#669900">'刷金币初始化....'</span><span style="color:#999999">)</span>
    click_screen<span style="color:#999999">(</span><span style="color:#98c379">1755</span><span style="color:#999999">,</span> <span style="color:#98c379">793</span><span style="color:#999999">)</span>  <span style="color:#5c6370"># 万象天宫</span>
    sleep<span style="color:#999999">(</span><span style="color:#98c379">1</span><span style="color:#999999">)</span>
    click_screen<span style="color:#999999">(</span><span style="color:#98c379">211</span><span style="color:#999999">,</span> <span style="color:#98c379">275</span><span style="color:#999999">)</span>   <span style="color:#5c6370"># 冒险玩法</span>
    sleep<span style="color:#999999">(</span><span style="color:#98c379">1</span><span style="color:#999999">)</span>
    click_screen<span style="color:#999999">(</span><span style="color:#98c379">1231</span><span style="color:#999999">,</span> <span style="color:#98c379">557</span><span style="color:#999999">)</span>  <span style="color:#5c6370"># 挑战</span>
    sleep<span style="color:#999999">(</span><span style="color:#98c379">2</span><span style="color:#999999">)</span>
    <span style="color:#c678dd">print</span><span style="color:#999999">(</span><span style="color:#669900">'通天塔\n'</span><span style="color:#999999">)</span>
    click_screen<span style="color:#999999">(</span><span style="color:#98c379">1393</span><span style="color:#999999">,</span> <span style="color:#98c379">475</span><span style="color:#999999">)</span>  <span style="color:#5c6370"># 通天塔</span>
    sleep<span style="color:#999999">(</span><span style="color:#98c379">1</span><span style="color:#999999">)</span>
    click_screen<span style="color:#999999">(</span><span style="color:#98c379">1677</span><span style="color:#999999">,</span> <span style="color:#98c379">675</span><span style="color:#999999">)</span>  <span style="color:#5c6370"># 大师级别</span>
    sleep<span style="color:#999999">(</span><span style="color:#98c379">1</span><span style="color:#999999">)</span>
    click_screen<span style="color:#999999">(</span><span style="color:#98c379">1791</span><span style="color:#999999">,</span> <span style="color:#98c379">939</span><span style="color:#999999">)</span>  <span style="color:#5c6370"># 下一步</span>
    <span style="color:#c678dd">print</span><span style="color:#999999">(</span><span style="color:#669900">'刷金币重复阶段...'</span><span style="color:#999999">)</span>
    repeat<span style="color:#999999">(</span>zidong<span style="color:#999999">)</span>

</code></span>

当然了…如果手机网速快的话,或者打的速度快的话,可以缩短些sleep的时间…

4、封装为exe
pyinstaller -F xxxx.py
在这里插入图片描述
5、链接好手机后,打开到王者初始化界面,运行exe即可
(出错的话,重新运行一遍就可)

测试

我的组合:孙笨+狂铁+小金金…
自动下1min打完…1h能1000+金币
当然,如果其它组合打的时间过长,可以和我讨论下可能会出错啦

睡觉的时候就刷金币,或者边看B站边刷金币,岂不美哉~
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值