欢迎来到天天文库
浏览记录
ID:57705135
大小:239.00 KB
页数:19页
时间:2020-09-01
《按键精灵-冷血课堂.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、[教程]冷血课堂1--如何通过读取颜色来“认识”数字?记得很久以前曾经跟兄弟论坛上的一个朋友说过,猎手确实就是一个读颜色的脚本,根本没有涉及读取内存。不是按键精灵不支持读取内存地址(按键精灵从内存地址中读取一个数字,还是很简单的,一条命令就可以实现),也不是说游戏中的数值多么难以得到,以热血江湖为例,那些常用数值的地址,全是固定地址,要找到那些地址,实在是太简单了,相对于那些采取“动态地址”的网络游戏,寻找热血江湖的地址就是小儿科了。当然,这不是本文的重点,今天,我不是来教大家找地址的,而是教大家如何通过另外一种方法得到游戏中我们需要
2、的“数值”,那就是通过读取屏幕上的颜色。猎手为什么要写成一个纯颜色挂,这跟热血江湖这个网络游戏有关。热血在刚推出来的时候,反外挂的措施是很严厉的,那时候别说什么真正的修改游戏客户端、拦截游戏封包的外挂,就是使用按键精灵的脚本,也存在被封号的危险。为了保证脚本的有效性--别一出来就被列为打击的对象啊--猎手采取了纯颜色的脚本思路,绝对不涉及内存数据的读取与修改。它不修改任何内存数据,仅仅靠读取屏幕上各种颜色,达到挂机、解放双手的目的。当然了,现在的热血江湖,外挂满天飞,BUG满天飞,使用热血嘉年华、热血超辅、热血智辅的比比皆是,不过我也
3、知道,免费的猎手仍然有一定的市场,不过由于很多号级别都很高了,原版猎手不支持垃圾石头过滤,导致经常仓库满而停挂,也有一些人不用猎手改用别的去了。我也注意到,有些朋友使用插件而实现了垃圾石头过滤,不过,猎手当时已经留下了过滤垃圾石头的“种子”,所以我来说一说,不使用任何读字插件,依照猎手以前的脚本思路继续写下去,来完成垃圾石头过滤的功能。在正式开讲之前,冷血先作几点说明:1,这里讲的,是脚本写作的“技术性”问题,而不是现成的脚本,我希望你看完本帖之后,能解开你心中的疑惑:凭什么只读颜色就能识别数字呢?2,如果自认为是高手,就不要看此帖子
4、了;如果不想学脚本的编程思路,只要现成的脚本,也不必看此帖子,更不必回帖了。3,阅读此帖子需要有猎手使用经验,此贴并非猎手使用入门教程。如何过滤垃圾石头,其实一点也不难,不过我想,看此帖子的朋友水平可能参差不齐,那么我就从最基础的讲起吧。先说说,如何通过读取屏幕上的颜色,达到识别数字的目的。以后的几课,再继续讲如何识别汉字、如何过滤垃圾石头。另外,如何使宠物隐身(只看见宠物的名字,看不见宠物)、如何删除竹林(只看见怪,看不见竹林)、如何双库补给(让猎手同时支持个人仓库、综合仓库补给,使原来支持最多9999个红蓝,升级到能够支持9999
5、×2=19998个红蓝)、如何3D定位(如何得到3D游戏里面的坐标与显示器屏幕上位置的“转换公式”,确保在斜视角下,想走到哪里就能走到哪里)等等。后面的内容,有时间再写。好啦,现在言归正传。如果你使用过猎手,却不明白为什么开挂时,猎手能正确的报出自己的坐标,那么看完此帖子,我相信你就会明白其中的道理。先简单介绍一下,以下所称猎手的脚本,指的是两个部分:一是“_热血江湖挂机升级1.txt”,二是“FindMon.vbs”,前者是主要的脚本内容,后者是一些“函数”。采取“脚本+函数”的方式,主要的目的就是使整个脚本看起来清晰、明了。大家以
6、后写程序,也要有一个好的习惯,不要把程序写的像一锅粥。要使脚本读出坐标点,首先要确认坐标位置、颜色稳定,如果某一个数字的位置忽东忽西,颜色时红时蓝,那么要识别这个数字就比较麻烦,幸好,我们现在要识别的坐标数字,位置是相对固定的,颜色也是相对固定的。看图一:登录游戏之后,就会在右上角的小地图上,看到红字写的一串数字,那就是人物角色在游戏里的坐标。在这个例子里,人物坐标是X=554,Y=2223。两者之间,是一个红色的小数点。我们对这里所有的点的颜色进行分析,就可以得到该点颜色的值。为方便理解,我这里取十进制来表示颜色,红色:181-18
7、9,绿色0-4,蓝色0(任何颜色的取值范围都是0-255,如果使用十六进制来表示,则为0-FF)。在这里,有一个非常关键的概念:基准点。你也可以称它为“核心点”、“不变点”。这是什么意思呢?就是说,不论游戏里的数值如何变换,但是总有某个“特点”是不变的!不论是坐标、位置,还是颜色。它就类似于我们人的双脚所踩的地面,你若想跳到高处,首先就必须保证自己脚踩的地方是稳定的。如果脚都踩不稳,想跳到别的地方那是不可能的了。具体到热血江湖这个游戏里,什么是“基准点”呢?中间那个小数点呢?显然不是:前一张图片中,小数点排在第4个位置,后一张图片,小
8、数点排在第5个位置。我们看到的那个数值554,是吗?不是。因为它也不是固定不变的,在游戏里,它可以变成54,也可以变成5554。请看图二:这副图片中,X坐标变成了6740。X的数值是随时变换的,可能是1位数,也可能是4位
此文档下载收益归作者所有