[Python]win32api+pyautogui+百度OCR等实现CF交易所指定物品、指定价格抢购开箱
本帖最后由 Cristy 于 2023-7-24 09:25 编辑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. 修改配置信息
4. 启动脚本原理鼠标
6. 存在的问题
1. 开箱礼物结果识别问题
目前测试如果识图范围太大会识别不准、太小则截图不全。尚没有解决办法
2. 在某些情况下,当截图、识图失败自动重试超过指定次数会掉线。
3. 因为开始写这个是为了开蔷薇宝箱,所以买到商品会立马去开箱。也就是哪怕设置的不是箱子类商品,目前依然会做开箱动作
4. 因为个人技术修养较低,代码凌乱
7.可以完善添加的功能
1. 账号掉线重登
2. 开出不要的物品自动交易卖出
3. CF点券不足卖出指定交易物品等待成功后继续收购宝箱
8. 持续更新
2023-1-11 更新脚本删除了多余的日志,根据新版本界面布局更新了固定按钮的坐标。
建议购买蔷薇宝箱使用8000以下 提高单次交易收益,降低交易频率。多次开箱感觉会保底出CF点以外的东西。
2023-2-10 取消了大部分日志,添加更多截图识别容错。并且炫耀一下我的cf点,从获得第一个箱子挂机至今已经翻了10番
2023-7-24提供新思路:和其他好友交流得到的新思路,抓刷新封包实现秒刷新功能(这个封号刷新频率越高封号概率越高)
但是因为CF版本更新脚本已经失效。交易所规则变成了登录30分钟后才可交易。
百度OCR Python调用方法 借鉴CSDN大佬源码
https://blog.csdn.net/u012399690/article/details/121406428
主要脚本源码:
cfs_jys.py
baiduOcrApi.py
baiduOcr.py
初始版
2023-1-11更新
2023-2-10更新
免费下载入口
https://wwcy.lanzoum.com/b09u0scgb
密码:52pj
2023-2-10 版本文件https://wwcy.lanzoum.com/iJLvO0n414qj
密码:52pj Darwin9331 发表于 2024-3-17 17:26
你这些都是自己写的吗,看啥学的
个人一般是用到了就去百度搜。
1. 一开始只是写一点文本处理。比如从文本读取 数据 每一行做同样的处理,去除空格之类的
2. 然后就是 重复发送http请求比如翻译之类的需要用第三方库或者调用百度、有道的api
一般我自己工作、游戏 用到的就这些http请求、模拟点击基本能解决大部分问题。然后根据每次的需要添加,比如开始就一个for循环后面发现有些网站不准你一直调用,就得加time.sleep 停顿。还有涉及到同时多次,所以又可以看看并发调用之类的。模拟鼠标键盘这种用得比较少,什么时候需要就去再看看相关文档、博客。
我是个半瓢水...用到哪里看哪里{:1_932:} cgzrjl 发表于 2022-12-24 13:06
想知道游戏不会检测自动脚本吗?
不加入游戏应该不会吧。同类型的 按键精灵 挂机脚本自己也用过也没有涉及到封号。不知道游戏对于这几个底层控件有没有检测。
鼠标宏是有检测的。 很好学习code,谢谢分享 pojie6 发表于 2022-12-24 07:16
很好学习code,谢谢分享
{:1_893:}非常感谢 想知道游戏不会检测自动脚本吗? 牛的牛的 大哥们有没有查询不限价道具的软件,求分享一下。 DFXJ3315 发表于 2023-2-5 20:51
大哥们有没有查询不限价道具的软件,求分享一下。
能提供思路吗?有思路理论就能搞 大佬能搞个封包 记录自己在交易所上架的道具ID和根据ID直接购买道具吗 可以学习学习
页:
[1]
2