重要声明(必看!):本文所分享的源代码、编译版本及技术思路,仅用于编程学习、技术交流探讨,严禁用于任何违反国家法律法规、游戏用户协议及平台规则的非法途径。
请所有使用者务必牢记:遵守法律法规、恪守游戏规则、维护绿色健康的游戏环境,是首要前提!
特别提醒:1. 本文内容不构成任何使用建议,因违规使用(如用于作弊、破坏游戏平衡等)导致的账号封禁、经济损失、法律责任等,均由使用者自行承担,作者概不负责;2. 所有下载的源码、编译文件,使用前请务必进行全面病毒查杀,避免设备受损;3. 下载及使用本内容,即视为自愿接受本声明全部条款。
话不多说,直接上干货!
👇 源代码链接 & 可直接使用的编译版本链接(复制链接,浏览器打开即可下载)
功能展示:https://sagerment.xin/files/demon.png
源代码链接:https://pan.baidu.com/s/1w2L0KytXsSYgObNzrUXQRQ 提取码: a081
可直接使用的编译版本链接: https://pan.baidu.com/s/1fNIf0RTXTsuBLHa1ee8CFQ 提取码: a081
先跟大家简单科普下核心逻辑:现在计算机视觉技术已经非常成熟,我们可以利用「Tesseract OCR 文字识别」+「PyautoGui 自动化操作」,让代码自动识别游戏中固定的装备词条,再模拟鼠标操作,帮我们完成重复的“洗装备属性”动作,节省大量时间。
本文分为两个部分:新手友好的编译版本(开箱即用) 和 可定制的源代码版本(解决识别问题),大家可以根据自己的需求选择对应方式使用。
编译版本已经做好了全部封装,不需要大家编写任何代码,解压后按照步骤操作就能直接使用,非常适合新手尝试。
温馨提示:目前受中文OCR识别特性限制,中文词条识别可能会出现少量错别字。经作者实测,在某款热门游戏中,目前识别最稳定的词条是「施放速度」「移动速度」,其他中文词条可能存在识别偏差(比如“攻击”识别成“功击”)。
重点:英文词条的识别准确率远高于中文,若游戏支持英文界面,切换英文后使用,识别效果会更稳定哦~ 至于中文错别字的解决方案,我们会在后面的源代码版本中详细演示。
配置环境变量:将下载的打包文件解压后,找到其中的「tesseract」文件夹,复制该文件夹的完整路径,将其添加到电脑的「系统环境变量」和「用户环境变量」中(两者都要添加,避免生效失败)。
启动使用:打开解压后的文件夹,找到名为「demon.exe」的快捷方式,双击启动(启动后会弹出一个黑色的命令行窗口,这个窗口是用来记录洗装备属性的操作日志的,千万不要关掉!关掉会导致自动化操作失效)。启动成功后,切换到游戏界面,即可正常使用自动化洗装备功能。
补充:如果启动后无法正常识别,先检查环境变量是否添加正确,若添加无误,重启电脑后再尝试(环境变量修改后,重启电脑才能完全生效)。
如果大家觉得编译版本的识别范围有限,想解决中文错别字问题,或者想自定义识别的装备词条(比如添加“攻击力”“防御力”等),就可以选择部署源代码版本。部署过程非常简单,全程复制命令即可,不懂代码也能操作。
首先需要安装conda(若已安装,可直接跳过,如果不知道怎么安装那就看看前面几篇文章),安装完成后,打开电脑的命令提示符(CMD)或Anaconda Prompt,依次输入以下命令,创建并激活虚拟环境(虚拟环境能避免依赖冲突,建议必做):
#1.创建名为demon、Python版本为3.9的虚拟环境
conda activate -n demon python=3.9
#2.激活创建好的环境
conda activate demon
虚拟环境激活成功后,输入以下命令,自动安装所有需要的依赖包(复制命令直接粘贴即可,无需修改):
pip install -r requirements.txt
提示:若安装过程中出现“超时”“安装失败”,可尝试更换国内镜像源(比如清华源、阿里源),或重新输入命令重试。
依赖包安装完成后,找到源代码文件夹,打开其中的「config.py」文件(可用记事本、PyCharm、VS Code等任意编辑器打开),重点修改以下2点,否则会导致启动失败或识别异常:
Tesseract路径配置:找到文件中对应Tesseract路径的配置项,必须填写绝对路径(比如“D:\tesseract\tesseract.exe”),绝对不要用相对路径!相对路径会导致代码无法找到Tesseract,进而报错“运行失败”。
配置完成后,回到命令提示符(CMD),确保当前处于源代码所在目录(可使用“cd 源代码文件夹路径”切换目录),输入以下命令,即可启动代码:
python app.py
若启动后报错「tesseract运行失败」,按以下步骤逐一排查,基本都能解决:
检查「config.py」中配置的Tesseract路径,是否为完整的绝对路径,是否包含“tesseract.exe”(比如路径末尾不要漏写.exe);
检查「tesseract」文件夹的路径,是否已经添加到系统环境变量和用户环境变量中,若未添加或添加错误,重新添加后重启电脑;
确认下载的Tesseract文件夹完整,无文件缺失、损坏(若缺失,重新下载打包文件解压即可);
若以上步骤都排查无误,可尝试重新激活虚拟环境,重新安装依赖包后再启动。
很多小伙伴可能好奇,这套自动化工具的核心逻辑是什么?其实非常简单,用3句话就能说清楚,适合想深入学习Python、计算机视觉的小伙伴参考:
PyautoGui 负责模拟鼠标、键盘操作,定位到游戏中装备属性的显示区域,自动截取屏幕画面;
Tesseract OCR 负责识别截取画面中的文字内容(也就是装备词条),将图片中的文字转换成可被代码识别的文本;
代码通过「app.py」中的错别字修正字典,修正识别错误的词条,然后匹配我们预设的目标属性,匹配成功后,PyautoGui 自动模拟鼠标点击,完成“洗装备”操作。
本文分享的所有内容,均为免费开源,仅用于编程技术学习,作者未从中获取任何收益;
由于不同游戏的装备界面、词条显示格式不同,本文的编译版本和源代码,仅作为示例参考,若想适配自己玩的游戏,可能需要简单修改代码中的截图区域、识别坐标等配置;
“洗装备属性”本身存在一定成本(比如游戏内道具、金币),请大家理性使用,量力而行;
再次强调:严禁将本文分享的代码、工具用于非法途径,违反法律法规和游戏规则,后果自负!
技术本身是中性的,我们学习自动化、计算机视觉技术,核心是用技术解决重复劳动、提升效率,而不是用来投机取巧。
如果大家在使用过程中遇到问题(比如环境配置失败、识别异常),或者有更好的优化建议,欢迎在评论区留言交流,一起学习、一起进步~
温馨提示:下载链接有效期1年,若链接失效,可在评论区留言,作者会及时补充。