首页 按键精灵9--找图找色之找血条

按键精灵9--找图找色之找血条

举报
开通vip

按键精灵9--找图找色之找血条1为什么写找血条? 生命值在网游中是最关键、最敏感、最值得关注的参数之一,而血条作为人物生命值的直观展现,几乎所有的实用脚本都要与血条打交道,几乎所有的实用脚本都首先关注人物的生死存亡,几乎所有的打怪练级加PK类网游脚本都首先提供自动加红加蓝等基础功能,在简单游平台上,您提供的脚本要是不提供加红加蓝功能,上网、出门还真不好意思和别的简单游作者打招呼! 生命值/血值,因其颜色一般为红色所以又叫“红”,相应地把补充生命值叫做“加血”、“加红”或...

按键精灵9--找图找色之找血条
1为什么写找血条? 生命值在网游中是最关键、最敏感、最值得关注的参数之一,而血条作为人物生命值的直观展现,几乎所有的实用脚本都要与血条打交道,几乎所有的实用脚本都首先关注人物的生死存亡,几乎所有的打怪练级加PK类网游脚本都首先提供自动加红加蓝等基础功能,在简单游平台上,您提供的脚本要是不提供加红加蓝功能,上网、出门还真不好意思和别的简单游作者打招呼! 生命值/血值,因其颜色一般为红色所以又叫“红”,相应地把补充生命值叫做“加血”、“加红”或者“补红”等等。同样的,HP值/法力值/魔法值,因其颜色一般为蓝色所以又叫“蓝”,同时把补充魔法值叫做“加蓝”或者“补蓝”等等。找血条和找蓝条的原理类似,区别只在于颜色不同,因此在这里我们只介绍找血条的方法。 找血条技术是一门很基础的技术,其应用范围之广令人发指:  找血条是循环找怪打怪的基础。在小地图上,利用鼠标点击和遍历地图上的所有地点,查找是否存在血条,以此判断此处是否存在怪物,实现自动找怪打怪。 找血条是补红补蓝的基础。实现自动补红补蓝的基础就是能够自动地、准确地判断人物是否已经缺红缺蓝。 …… 目前得到血条的数值一般有三种方式:找内存法、解析封包法、找色找图法。找内存方法是一种最直接、最根本、最有效的方法,只要能得到生命值的内存地址,得到生命值就如探囊取物一般,如果你的胆子再稍微大一点,甚至可以修改生命值。所以,找内存法可以说是最锋利的倚天剑,“倚天一出,谁与争锋”!当然武器越锋利也越容易伤到自己,使用内存方法需要冒较大的风险,一旦被封的话一定让你痛不欲生,欲哭无泪,哭爹喊娘,欲仙欲死!而且网游厂商对内存读取之类的技术深恶痛绝,会采用各种技术例如动态内存等来防止第三方轻易读取内存,读取与反读取内存的较量也是一个永恒的话题。截获和解析游戏封包的方法的优缺点和读取内存法类似,优点是解决 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 比较直接和彻底,但是封包的加解密, 协议 离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载 分析都比较困难,且动态变化。 找色找图法是一种较为中庸的方法,不强大不张扬,不温不火,却又比较保险。看似功能有限,只能完成一些基本的血条查找功能,甚至在大多数DirectX游戏中无法后台运行,但是正如正家基本拳脚功夫一样,一旦练得精熟,在高手的使唤下却又能显得颇为强大。 如上所述缘由,本文对已有找血条的方法进行小结,以便新手学习和查看。2读血条的一般方法 生命值在网游中的展现有如下几种方式:横向的血条、竖向的血条、圆形的血球、不规则型等,其读取和判断的原理大致相同,所以下面将以横向血条为示例进行讲述。在第2小节中,我们假设所有颜色都是固定的,血条颜色固定为红色,无血的颜色(血条底色)固定为黑色,如下图所示。具体编写脚本时,我们可以先抓一个满血的颜色,再抓一个空血的颜色,然后替换脚本中的0000FF(红色)和000000(黑色),依葫芦画瓢写出脚本即可。 读取/判断血条基于这样一个基本原理,当血条数值改变时,相应位置的血条颜色就会由血条颜色变成血条底色。按照判断方式的不同,补血的时机有两种: 一、以血条的颜色作为判断依据。在需要补血的地方取点判断,如上图绿色箭头所指示位置,如果该点颜色为血条颜色,那么表示血量充足,不需要做任何事情,否则需要补血。按键精灵的示例脚本如下: IfColor100,100,0000FF,0//如果点(100,100)的颜色为红色 Else//不做任何事情 KeyPress114,1//否则,按补血快捷键F3 EndIf 二、以血条底色作为判断依据。在需要补血的地方取点判断,同样如上图绿色箭头所指示位置,如果该点为血条底色,那么表示血量已经低于安全血量,需要补血。否则不需要补血。 IfColor100,100,000000,0//如果点(100,100)的颜色为黑色 KeyPress114,1//按补血快捷键F3 Else//否则,不做任何事情 EndIf 以上讲的是固定位置的血量比例的判断,例如我们只在血量为30%,坐标为(100,100)的地方进行判断,如果加血的位置不固定,而由用户灵活给定,由血量的数值计算出判断点坐标的方法如下: 如果血条是均匀的,假设血条开头的横坐标为a,血条末尾的横坐标为b,假设补血比例为x(0<x<1),那么判断点的横坐标为a+x(b-a)=x*b+(1-x)a。 如果血条是非均匀的,那么处理起来稍微棘手一些。如果非均匀的程度还不是很严重的话,那么可以近似地采用上一步的计算方法,误差不会太大。如果非均匀程度很严重的话,可以采用采样法。即,一般用户关注的血条关键点就那么几个,可以手动得到这几个关键点的坐标,具体方法如下:首先补满血,然后采用各种方法失血到特定数值,然后得到这些数值下血条的坐标。3渐变血条的查找 在许多游戏(例如奇迹世界)中,血条并不是一成不变的,而是一个渐变的血条,使用上一小节判断固定颜色的方法会产生误判,因此需要采用判断模糊颜色的方法,而判断模糊颜色方法的核心为如何得到渐变颜色条的中心色作为模糊颜色判断的对象。让我们通过论坛上一个网友举的奇迹世界的例子来看看如何得到渐变血条的中心色。 在1024*768分辨率下,血条的起始坐标是(87,11),终点坐标是(295,11),我们可以得到该血条所有坐标点的颜色,在这里摘取一段坐标点看看其满血时的颜色: 107,11=007808 108,11=007808 109,11=007808 110,11=007808 111,11=007908 112,11=007909 113,11=007909 114,11=007A09 115,11=007A09 116,11=007A09 117,11=007B09 从上面可以看出血条颜色的变化规律,那就是血条颜色在一定范围内逐渐变化。那么,如何得到这个线性渐变血条的中心色呢?有一种说法,取血条中的颜色最低值和颜色最高值,然后求其算术平均值即可。在这里,血条中颜色的最低值为007108,颜色最高值为00B00C,那么颜色的波动范围为28936~45068,中心色为(28936+45068)/2=37002(00908A)。 我认为这种方法是不准确的。首先,渐进血条的变化范围不是在颜色的最低值和颜色的最高值之间变化,而是颜色的RGB分量分别在各自范围内变化。所以,求颜色的平均值时,应该求出颜色RGB分量的各自平均值,RGB分量平均值组成的颜色更能代表中心色。 有人给出了求线性渐变血条RGB分量平均值的方法,该方法是用按键语言写的,当然也可以在截取血条中所有颜色点数值的情况下,用Java,C++等语言来计算平均值。按键精灵的代码如下: Dimr,g,b,i,c,x,mx,my r=0:g=0:b=0:i=0 //按空格键.表示捉鼠标的颜色 WaitKeyx Whilex=32 //得到鼠标的位置 VBSCallGetCursorPos(mx,my) //得到鼠标位置上的颜色 VBSCallc=GetPixelColor(mx,my) //分离颜色.并转成整数想加. r=r+Cint("&H"&Right(c,2)) g=g+Cint("&H"&Mid(c,3,2)) b=b+Cint("&H"&Left(c,2)) i=i+1 WaitKeyx EndWhile //求出平均值 r=CInt(r/i):g=CInt(g/i):b=CInt(b/i) MessageBox"R:"&r&"G:"&g&"B:"&b4闪烁血条的查找 在某些游戏中,不仅仅血条中的每个点颜色不一样,各个点的颜色随着时间也会变化,这就叫做闪烁血条。闪烁血条在使用模糊找色时,会遇到更多的问题,例如无法准确地判断颜色等等,解决该问题的办法有两个:第一,在闪烁血条的颜色变化范围不是很大的情况下,仍然可以采用上一小节的模糊找色法,虽然每个点的颜色时时刻刻都在变化,不过可以通过各种办法得到每个点的平均色,然后以此平均色为对象,进行模糊找色判断;第二,找出闪烁血条颜色变化的规律,然后基于此规律进行血条是否为空血的判断。 我们首先介绍第一种方法,得到每个点的平均色。有两种工具,一种是网友介绍的工具Zoommy,使用该工具,可以动态地得到每个点的RGB实时变化情况,并根据颜色的实时变化情况,得到每个点的RGB的最大值和最小值,然后得到平均值。还有一种工具,叫做GifSplitter,可以把一个GIF文件的每一帧分割成原始的BMP图片。由于网游中的闪烁血条多由GIF动画组成,所以可以采用该工具得到每个GIF文件的原始图片,然后使用按键精灵的颜色查看工具分别查看同一个点的所有帧的颜色,然后求其平均值即可。下面九副图是组成上一个GIF文件的原始BMP图片。 当然,如果闪烁血条颜色变化幅度太大的话,采用模糊找色的方法应对闪烁血条效果可能不是很好,所以有时必须采用第二种方法,即找到闪烁的规律,例如上述例子,原文作者发现,不管该血条怎么闪烁,在血条有血的位置,其颜色的R分量值一直大于200,因此,可以利用这一规律进行判断,如果某位置的颜色R分量小于200,那么认为此处为空血,需进行加血。5透明血条的查找 透明血条由于其颜色随着背景的变化而变化,难以进行准确的判断,因此透明血条是一个更加令人头疼的话题。目前,可以尝试的方法有: 如果血条本身不透明而仅仅是空血条透明,或者有血状态的血条颜色变化范围不大的话,可以使用有血颜色进行模糊判断,如果颜色模糊等于有血颜色,那么不需要补血,否则需要补血。 如果满血条和空血条都是透明的,那么和上一小节一样,只有寻找满血条和空血条的颜色之间的差异规律进行是否补血的判断。 6百分比补血的实现 所谓的百分比补血,指的是用户可以自己设定补血的百分比,是在70%之处补血呢,还是在80%之处补血。这个功能的实现原理在第2小节中已经给出。 如果血条是均匀的,假设血条开头的横坐标为a,血条末尾的横坐标为b,假设补血比例为x(0<x<1),那么判断点的横坐标为a+x(b-a)=x*b+(1-x)a。例如,血条开头的横坐标为20,血条末尾的横坐标为180,补血比例为x,那么判断点的横坐标为20+160*x7后记 总结 初级经济法重点总结下载党员个人总结TXt高中句型全总结.doc高中句型全总结.doc理论力学知识点总结pdf 一下找血条的两条原则: 1、如果采用模糊判断找色的方法,那么找到整个血条的中心色是最关键的; 2、如果采用直接判断的方法,那么找到血条中满血和空血的颜色变化的规律是最关键的。 再闲扯几句,现在的网络游戏做的越来越精明,为了防止脚本自动工作,做了数不清的工作,因此,仔细研究各个游戏的差异,有目的性地,有的放矢地选择不同的方法进行解决显得尤为重要,这才是写出一个好脚本的关键。 总的说来,采用找色找图的方式进行血条的查找和判断,其局限性还是比较明显的,如果有别的更加灵巧的方法,也可以考虑别的方法,例如查找血条上的数字等等。 最后以一个笑话结尾吧。联合利华引进了一条香皂包装生产线,结果发现这条生产线有个缺陷:常常会有盒子里没装入香皂。总不能把空盒子卖给顾客啊,他们只得请了一个学自动化的博士后 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 一个方案来分拣空的香皂盒。博士后拉起了一个十几人的科研攻关小组,综合采用了机械、微电子、自动化、X射线探测等技术,花了几十万,成功解决了问题。每当生产线上有空香皂盒通过,两旁的探测器会检测到,并且驱动一只机械手把空皂盒推走。中国南方有个乡镇企业也买了同样的生产线,老板发现这个问题后大为发火,找了个小工来说:“你他妈给老子把这个搞定,不然你给老子爬走。”小工很快想出了办法:他花了90块钱在生产线旁边放了一台大功率电风扇猛吹,于是空皂盒都被吹走了。
本文档为【按键精灵9--找图找色之找血条】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: ¥10.0 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
果果
大家好,我是一名中学老师
格式:doc
大小:109KB
软件:Word
页数:11
分类:
上传时间:2018-07-08
浏览量:78