首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Python实现 “王者农药” 自动刷金币,这思路 “绝了”!

Python实现 “王者农药” 自动刷金币,这思路 “绝了”!

作者头像
生信交流平台
发布2022-09-21 13:47:45
发布2022-09-21 13:47:45
4770
举报

原理

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

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

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

环境配置

1. ADB工具(让电脑使用手机)

下载地址:https://adbshell.com/downloads/ 如果慢的话,找其它资源也好。 下载配置不再赘述了… 最后出现类似下图即可。

2. python与IDE

下载配置不再赘述了… 最后出现类似下图即可。

刷金币步骤

  1. 数据线链接电脑,进入手机开发者模式
  2. 启动adb\

错误一:5037端口被占用,关闭相应进程即可。

代码语言:javascript
复制
netstat -ano | findstr "5037"
taskkill /pid (进程号) -f

错误二:缺少DLL,或者没有进入开发者模式,移动DLL即可。

代码语言:javascript
复制
可选(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、代码如下

代码语言:javascript
复制
# -*- 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

代码语言:javascript
复制
pyinstaller -F xxxx.py

结果如下:

6. 链接好手机后,打开到王者初始化界面,运行exe即可 (出错的话,重新运行一遍就可)

测试

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

睡觉的时候就刷金币,或者边看B站边刷金币,岂不美哉~

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-01-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信交流平台 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 原理
  • 环境配置
    • 1. ADB工具(让电脑使用手机)
    • 2. python与IDE
  • 刷金币步骤
  • 测试
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档