欢迎来到天天文库
浏览记录
ID:15551008
大小:147.50 KB
页数:12页
时间:2018-08-04
《【教程】找色找图之找血条》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、1为什么写找血条?生命值在网游中是最关键、最敏感、最值得关注的参数之一,而血条作为人物生命值的直观展现,几乎所有的实用脚本都要与血条打交道,几乎所有的实用脚本都首先关注人物的生死存亡,几乎所有的打怪练级加PK类网游脚本都首先提供自动加红加蓝等基础功能,在简单游平台上,您提供的脚本要是不提供加红加蓝功能,上网、出门还真不好意思和别的简单游作者打招呼!生命值/血值,因其颜色一般为红色所以又叫“红”,相应地把补充生命值叫做“加血”、“加红”或者“补红”等等。同样的,HP值/法力值/魔法值,因其颜色一般为蓝色所以又叫“蓝”,同时把补充魔法值叫做“加蓝”或者“补蓝”
2、等等。找血条和找蓝条的原理类似,区别只在于颜色不同,因此在这里我们只介绍找血条的方法。找血条技术是一门很基础的技术,其应用范围之广令人发指:·找血条是循环找怪打怪的基础。在小地图上,利用鼠标点击和遍历地图上的所有地点,查找是否存在血条,以此判断此处是否存在怪物,实现自动找怪打怪。·找血条是补红补蓝的基础。实现自动补红补蓝的基础就是能够自动地、准确地判断人物是否已经缺红缺蓝。·……目前得到血条的数值一般有三种方式:找内存法、解析封包法、找色找图法。找内存方法是一种最直接、最根本、最有效的方法,只要能得到生命值的内存地址,得到生命值就如探囊取物一般,如果你的胆
3、子再稍微大一点,甚至可以修改生命值。所以,找内存法可以说是最锋利的倚天剑,“倚天一出,谁与争锋”!当然武器越锋利也越容易伤到自己,使用内存方法需要冒较大的风险,一旦被封的话一定让你痛不欲生,欲哭无泪,哭爹喊娘,欲仙欲死!而且网游厂商对内存读取之类的技术深恶痛绝,会采用各种技术例如动态内存等来防止第三方轻易读取内存,读取与反读取内存的较量也是一个永恒的话题。截获和解析游戏封包的方法的优缺点和读取内存法类似,优点是解决方案比较直接和彻底,但是封包的加解密,协议分析都比较困难,且动态变化。找色找图法是一种较为中庸的方法,不强大不张扬,不温不火,却又比较保险。看似
4、功能有限,只能完成一些基本的血条查找功能,甚至在大多数DirectX游戏中无法后台运行,但是正如正家基本拳脚功夫一样,一旦练得精熟,在高手的使唤下却又能显得颇为强大。如上所述缘由,本文对已有找血条的方法进行小结,以便新手学习和查看。====================我是分割线==============================2读血条的一般方法生命值在网游中的展现有如下几种方式:横向的血条、竖向的血条、圆形的血球、不规则型等,其读取和判断的原理大致相同,所以下面将以横向血条为示例进行讲述。在第2小节中,我们假设所有颜色都是固定的,血条颜色固定
5、为红色,无血的颜色(血条底色)固定为黑色,如下图所示。具体编写脚本时,我们可以先抓一个满血的颜色,再抓一个空血的颜色,然后替换脚本中的0000FF(红色)和000000(黑色),依葫芦画瓢写出脚本即可。2011-3-2420:19上传下载附件(13.3KB)读取/判断血条基于这样一个基本原理,当血条数值改变时,相应位置的血条颜色就会由血条颜色变成血条底色。按照判断方式的不同,补血的时机有两种:2011-3-2420:19上传下载附件(2.56KB)一、以血条的颜色作为判断依据。在需要补血的地方取点判断,如上图绿色箭头所指示位置,如果该点颜色为血条颜色,那么
6、表示血量充足,不需要做任何事情,否则需要补血。按键精灵的示例脚本如下:IfColor100,100,0000FF,0//如果点(100,100)的颜色为红色Else //不做任何事情KeyPress114,1 //否则,按补血快捷键F3EndIf二、以血条底色作为判断依据。在需要补血的地方取点判断,同样如上图绿色箭头所指示位置,如果该点为血条底色,那么表示血量已经低于安全血量,需要补血。否则不需要补血。IfColor100,100,000000,0//如果点(100,100)的颜色为黑色KeyPr
7、ess114,1 //按补血快捷键F3Else //否则,不做任何事情EndIf以上讲的是固定位置的血量比例的判断,例如我们只在血量为30%,坐标为(100,100)的地方进行判断,如果加血的位置不固定,而由用户灵活给定,由血量的数值计算出判断点坐标的方法如下:如果血条是均匀的,假设血条开头的横坐标为a,血条末尾的横坐标为b,假设补血比例为x(08、么可以近似地采用上一步的计算方法,误差不会太大。如果非均匀程度很严
8、么可以近似地采用上一步的计算方法,误差不会太大。如果非均匀程度很严
此文档下载收益归作者所有