[Python]win32api+pyautogui+百度OCR等实现CF交易所指定物品、指定价格抢购开箱

查看 83|回复 5
作者:Cristy   
1. 背景
        12月20号的时候,挂机游戏突然获得了一个【蔷薇宝箱】宝箱。在南部大区,蔷薇宝箱售价日常范围是7800-8500,基本8500以上没有人购买。箱子能开出8800CF点、蔷薇零件、蔷薇设计图、蔷薇多种涂装。除了金色涂装(售价为1w+)和8800CF点 则为赚,其他都只能卖1-2千。故而用人品博一搏,发现开8800CF点的概率极高。经过测试 开了30个箱子出CF点的概率达到90%以上。当然这个也是看运气的。于是拿着官方送的启动资金一直刷,直到刷了2w+。正碰上虎年新的抽奖活动可以使用CF点券抽奖,于是做了这个脚本。该脚本亦归类到我的Python自学学习项目之中,作为Python控制键鼠、ocr功能的实现示例。
2. 功能
        1. 自动刷新交易所查询最新价格
        2. 自动开启新宝箱
        3. 钥匙不够自动购买
3. 实现基本原理
        1. 自动点击、自动输入、自动按键、自动截图
             使用了win32api、win32gui、pyautogui、pyperclip等库
           主要为游戏设置固定的分辨率(1280*720)将游戏定在屏幕左上角。方便很多固定的按钮去使用固定坐标点击(比如个人仓库、交易所)等按钮
        2. CF点刷新、最新价格刷新、开箱信息
           使用pyautogui截图+百度OCR通用版本识别图片信息
           其中内部百度OCR使用的utools OCR-图片转文字的接口获取,故而未作限制,也可以使用个人access-token一个月1000次的使用量。
4. 个人环境
        Windows 11 家庭中文版
        Python3.9
5. 使用方法
        1. 安装Python环境及相关Python库
        2. 游戏设置分辨率为1280*720及窗口化
        3. 修改配置信息
            


image.png (37.77 KB, 下载次数: 0)
下载附件
截图
2022-12-23 14:57 上传

         4. 启动脚本原理鼠标
6. 存在的问题
        1. 开箱礼物结果识别问题
               目前测试如果识图范围太大会识别不准、太小则截图不全。尚没有解决办法
        2. 在某些情况下,当截图、识图失败自动重试超过指定次数会掉线。
        3. 因为开始写这个是为了开蔷薇宝箱,所以买到商品会立马去开箱。也就是哪怕设置的不是箱子类商品,目前依然会做开箱动作
        4. 因为个人技术修养较低,代码凌乱
7.可以完善添加的功能
        1. 账号掉线重登
        2. 开出不要的物品自动交易卖出
        3. CF点券不足卖出指定交易物品等待成功后继续收购宝箱
8. 持续更新
[color=]2023-1-11
更新脚本  删除了多余的日志,根据新版本界面布局更新了固定按钮的坐标。
         建议购买蔷薇宝箱使用8000以下 提高单次交易收益,降低交易频率。多次开箱感觉会保底出CF点以外的东西。
百度OCR Python调用方法 借鉴CSDN大佬源码
https://blog.csdn.net/u012399690/article/details/121406428
主要脚本源码:
cfs_jys.py
baiduOcrApi.py
baiduOcr.py
初始版

cfs_jys.zip
(6.11 KB, 下载次数: 0)
2023-1-11 11:54 上传
点击文件名下载附件
源码
下载积分: 吾爱币 -1 CB

2023-1-11更新

cfs_jys_2023_1_11.zip
(6.12 KB, 下载次数: 1)
2023-1-11 11:56 上传
点击文件名下载附件
源码
下载积分: 吾爱币 -1 CB

免费下载入口
https://wwcy.lanzoum.com/b09u0scgb
密码:52pj

蔷薇, 宝箱

pojie6   

很好学习code,谢谢分享
Cristy
OP
  


pojie6 发表于 2022-12-24 07:16
很好学习code,谢谢分享

非常感谢
cgzrjl   

想知道游戏不会检测自动脚本吗?
Cristy
OP
  


cgzrjl 发表于 2022-12-24 13:06
想知道游戏不会检测自动脚本吗?

不加入游戏应该不会吧。同类型的 按键精灵 挂机脚本自己也用过也没有涉及到封号。不知道游戏对于这几个底层控件有没有检测。
鼠标宏是有检测的。
ange7   

牛的牛的
您需要登录后才可以回帖 登录 | 立即注册

返回顶部