30行Python代码刷王者荣耀金币

作者: IT派森 | 来源:发表于2019-06-26 23:38 被阅读5次

    原理

    王者荣耀的冒险模式里有个挑战模式,第一次过关可以获得比较多的金币,后面重新挑战还是会获得少量金币,这不算是bug,你不嫌烦手动蛮力也可以刷金币。

    推荐关卡:陨落的废都 - 魔女回忆

    此关卡使用纯输出英雄20秒左右可以打BOSS,50秒左右可以通关,每次重复通关可以获得奖励19金币。在开挂前建议你手动通关体验一下。此为游戏原理。

    简单来说,需要执行以下步骤:

    1. 界面打开至挑战关卡:陨落的废都 - 魔女回忆 【点击下一步】
    2. 进入阵容调整界面,提前安排好阵容。【点击闯关】
    3. 进入挑战界面。【点击右上角-自动-等待挑战结束】
    4. 进入挑战完成界面。【点击屏幕继续】
    5. 进入关卡奖励界面。【点击再次挑战】
    6. 进入阵容调整界面,循环至步骤1或步骤2【貌似取决于游戏区和版本】

    只要你能模拟屏幕点击就可以完成刷金币的脚本,在安卓模拟界面点击最简单的方式就是使用ADB发送命令,不需要root手机,不需要安装第三方软件,方便快捷。ADB命令点击屏幕坐标[x, y] 可以使用命令:

    adb shell input tap x y
    

    iOS用户请直接查阅 github项目地址,原理和微信跳一跳外挂相似。

    准备

    • 本脚本适用于安卓游戏区,需要真实安卓手机。
    • 手机需开启USB调试模式,允许电脑调试。
    • 电脑需安装好安卓驱动,一般豌豆荚或者各种管家可以自动帮你装好。
    • 电脑需要有ADB工具集,很多方式可以获取。
    • ADB工具需要加入环境变量PATH中,方便随时调用。
    • 电脑上需要安装Python,因为这是我选择的脚本语言。

    专业的开发测试人员,也可以参考我的另外两篇博客:

    如果只是为了刷金币,只需要安装好驱动和ADB工具即可。

    步骤

    如果万事具备,那么步骤就非常简单。

    环境检测

    1. 用USB连接手机,如果弹出警告,请允许电脑调试手机。
    2. 使用命令 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()
    

    拿来主义

    如果你喜欢拿来主义,请访问本文项目地址:

    然后:

    1. 下载项目中的 kog.py 到本地,iOS则为 kog_iOS.py
    2. 将游戏打开,进入挑战模式,魔女回忆,阵容调整界面。
    3. 根据手机性能和分辨率,调整kog.py中的参数。(手机分辨率,刷金次数等等)
    4. 运行以下命令,手机上就可以查看实时运行效果。
    python kog.py
    

    注意:

    1. 每周金币上限4200,需要接近4个小时,不建议一次刷满,手机和你都要休息。
    2. 铭文,手机性能,英雄选择都会影响通关速度,自己微调等待时间。
    3. 如果你不想被USB数据线束缚,可以考虑使用无线连接Android真机。

    大家在学python的时候肯定会遇到很多难题,以及对于新技术的追求,这里推荐一下我们的Python学习扣qun:784758214,这里是python学习者聚集地!!同时,自己是一名高级python开发工程师,从基础的python脚本到web开发、爬虫、django、数据挖掘等,零基础到项目实战的资料都有整理。送给每一位python的小伙伴!每日分享一些学习的方法和需要注意的小细节

    相关文章

      网友评论

        本文标题:30行Python代码刷王者荣耀金币

        本文链接:https://www.haomeiwen.com/subject/xtbhcctx.html