查了一堆博客驱动级操作甚至加群问别人怎么做都没问出来真。。。
判断速度过快会导致当前位置判断出错导致走过头细节没有去做判断就直接双倍延迟处理了
1.每隔0.1-0.2秒获取一次窗口句柄截图 扫描后得到人物坐标X1,Y1及左上角开始的第一个物品的坐标X2,Y2
此处就不多做讨论了哈这个只是一时兴起以游戏为例实现这一类的思路。
在此声明本博客仅作学习交流使用,不可用于任何商业途径与任何违法途径。如有侵权请联系删除。
本博客只是从一个实现思路聊聊而不会整体的贴代码所以想要完整脚本的请右转想要不劳而获的请右转想要借此谋利的请右转不要浪费您宝贵的时间在我无聊的博客上面。
从小到大我就很喜欢玩游戏所以闲下来也就想能不能用编程来做一点辅助程序于是就网上一点点摸索资料去一步步实现。
做这样一个简单的Demo脚本只是因为生起了一点点兴趣想通过编程切切实实地做一些有帮助的东西顺便也能增长一些技术兴趣使人进步。
环境WinIO只能模拟PS/2键盘就是最早的那种圆口接口的键盘笔记本一般是PS/2台式外接的我看过了我自己的电脑没有PS/2的接口所以做不了。
第一层想到的要能到操作游戏的层面肯定是要模拟鼠标键盘的输入了。一开始用java调用JNA来使用一些winapi来进行模拟在游戏外能完美实现键盘的操作但是游戏内部通常采用了一些机制来防止这些虚拟按键的生效于是在查阅了许多资料后找到了WinIO的方式来进行驱动级的按键模拟。
一开始用java模拟WinIO并不顺利java在脚本以及一些底层方法的调用上总是存在问题比如Use32获取句柄能获取到一般的窗口但是获取不到DNF的界面句柄又比如在使用WinIO的API时键盘模拟总是会丢失或者延迟百度查询未果可能是缓存数据丢失或者冲突。
弃用Java转用Python后句柄能正常获取并且键盘模拟没有出现过任何丢失情况Python中的包为rabird.winio可查阅资料。
当成功通过程序完成键盘模拟后我就知道我可以用编程来实现一些简单的东西了那如果要实现它的自动化就需要获取一些数据进行分析比如人物和怪物的坐标位置掉落道具的坐标位置最直观的方式当然是读取内存获取我也没傻乎乎的去读一个游戏的内存获取修改免得封号不如采取一些取巧的方式比如说大图找小图
查阅了大量的资料通过相似度等方式比较两张大小像素都不相同的图片似乎都不可取我又想到了能不能通过文字识别的方式把人物的贴图换成一个字以识别字的方式来读取文字的坐标当真正做了之后发现雪崩般的效率加马赛克般的识别率
于是手写了一个大图中找小图的Demo其实就是强行比较像素点当找到小图左上角第一个相同的像素点时进行一轮四个角的比较再取中间N个随机点进行比较如果匹配度有90以上则记录坐标简单的测试了一下发现效率还可以从屏幕快照中寻找一个小截图成功率基本是100%并且时间也只耗费0.5秒就能记录下坐标。
关键性的问题马上就出现了DNF的图像只要你一动图片肉眼看上去长的是一样的但是他的内部像素点就出现了一些波动比如同样是金色但是RGB在某一个范围内都是金色…大图找小图来定位坐标的想法破灭。
于是直接就改用了大图找某一像素的方式一张图内如果出现某一个像素就直接定位该坐标而这个像素可以通过补丁插件强行用画图软件点一个点上去图像分析是可以定位出像素点的。
于是制约效率的方式马上就暴露在了屏幕快照上如果你电脑3秒钟截图一次那还做什么个脚本呢正巧Python有一个window的API能在0.2秒左右完成界面的截图而我需要的只是DNF的界面这个时间就压缩到了0.05-0.1秒。
在0.05-0.1秒内获取到图片后就可以通过图片分析找到像素并定位直接返回也不需要对整张图片的像素进行分析于是坐标获取就是0.2秒一次
根据获取到的人物位置与相对位置来进行按键模拟并执行打怪或拾取的动作直到地图上没有怪物及道具的坐标循环结束过多的代码我就不贴了完结。
下面介绍实现这一功能的通常方法Message=Toworkcorrectly,thescriptwillclosevbCRMessage=MessageandrestarttheWindowsExplorershell.vbCRMessage=MessageThiswillnotharmyoursystem.amp...
游戏利用 Python 实现自动标注的方法; 基于 Tensorflow 2.0 的 Yolo V3 算法编程详解; 目标识别效果...
扫拍的文章在一起的,但是随着后续代码的增加刷图功能涉及的东西太多,都挤在一篇文章中太长也太乱,最后还是单独出来,不定期更新新的功能和原先的功能的迭代版本。 有这方面兴趣的...
爱内涵论坛分享视频: 视频目录: 1.改图效果展示 2.Ex软件的安装与设置 3.改图的操作方法 4.改普通怪和BOSS 5.改副本门 6.改障碍物 7.改可破坏物 ...16.
自动刷图 自己动分解装备 设计我给加高分 发我邮箱 :[emailprotected]网友说:楼主你好:建议不要使用第三...求按键精灵
的周年庆活动之一,游戏在6月22日 06:00~6月23日 06:00之间登陆过游戏后可以于6月25日 16:00~7月04日 06:00领取奖励目标:连续四天自动运行
也仅仅是一时的需求:接收到的图片每张都十几M,几十张照片就几百M了,但是这么大的照片对我来说并没有什么实际意义,用画图一张一张的改分辨率太慢(就想到了这一个快速的方案2333),于是就写了个
Extractor将物品的贴图添加上特定颜色的像素块,然后再在截图中寻找特点的像素定位物品位置。我们以数据芯片为例
的周年庆活动之一,鬼才策划为了在线.在线根竹子,领取竹子以后可以获取到积分,积分满足活动要求后可以领取相应档位的奖励2.玩家不在线期间,不会生成新竹子(最坑的...
自动刷图教程 课程地址:百度爱内涵论坛 1.改图效果展示 2.Ex软件的安装与设置 3.改图的操作方法 4.改普通怪和BOSS 5.改副本门 6.改障碍物 7.改可破坏物 8.改背景图 ...17.调整
本人(原本是个某队的逆向手)被打自闭了,一直对大漠插件的图色识别感觉神奇,利用一周时间,研究出一个
最近无聊就想着自己用python编程来写点小工具,查了很多资料一步步实现了一些功能,也是自己的一种提高吧 使用的的包: import win32api, ...
精灵;还有修改数据包的,这种就叫做WPE封包外挂,这种外挂相对而言比较稳定,但是对于技术要求难度也比较高,因为修改WPE封包,你需要知道和了解加密解密算法...
本文以Python作为服务器, Unity作为客户端引擎, 主要讨论的是服务端实现寻路并由客户端表现架构下的程序设计
首先, 我们讨论寻路算法的比较和选择: A-star一般来说有更好的性能, 因为它是从起点到...
当我们执行ssh远程连接命令时,有时让输入用户密码,有时需要输入是否——yes/no继续建立连接,如果我们想要编写一个可以自动执行远程连接操作的
重新打了一个包开始出售,也有了后来“lol主播蛋糕揭秘外挂BOL小苹果,外挂使用者打到了国服第二”的新闻。 三是检测弱的网络游戏。某些韩国网游真的惨不忍睹,之前玩的一个游戏,只要把...
可用性 ui界面配置监控线和触发器 手动触发警报 实验流程 开启自定义监控功能 [root@z2 ~]# vim /usr/local/etc/...
的史派克。毕竟这种组队学习做任务的有趣活动可不像CSDN策划能干出来的事啊。不过转念一想,CSDN这两年版本不断地迭代,一直在不断地变好...
[]# sh Apache_port.sh 8080 tcp6 0 0 :::8080 :::* LISTEN 0 171157 7664/httpd 课后练习: 统计在系统中能su切换的并且用户加目录不在/home下的用户数量
以上是有跟dnf纯脚本跑图思路相关的内容,感谢大家一直的支持!
【小编推荐】玩家免费改名后竟有很多陌生人给他发邮件金币收到崩溃