Board logo

标题: 网络游戏找怪思路详解 [打印本页]

作者: 疯言疯语    时间: 2006-11-9 21:58     标题: 网络游戏找怪思路详解

学习按键有段时间了  对一些找怪的思路小有体会  简单来说找怪就是找怪与背景不同的独有的特征  可以通过找怪的颜色/图片,怪名字颜色/图片,怪血条颜色/图片,内存找怪(没试过),渐开线扫描,小地图找怪等等的方法来实现  具体看游戏而定  下面就介绍几种找怪的方法:
1。区域找色
   应该说是最简单的找怪方法了  在区域里查找怪的特有颜色,名字颜色,血条颜色等等  如果找到移动鼠标到怪身上进行攻击 (推荐用区域模糊找色或从区域中间向外找色)
例子(区域模糊找色):
VBSCall FindColorEx(0,0,1024,768,"FFFFFF",1,0.8,x,y)
//区域模糊找色  0,0,1024,768为区域范围 "FFFFFF"为颜色 1为查找方式(中间向外) 0.8为模糊值 x,y为找到颜色后的坐标变量
If x>=0 and y>=0
   
//如果找到颜色  比如找到颜色就会赋值给坐标变量  通过判断坐标变量可以知道有没有找到怪
    MoveTo x y
   
//把鼠标移动到该色的坐标 如果找的是怪名字或血条  可能移动不到怪身上 这时就要用鼠标偏移 如:MoveTo x+10 y+10
    Delay 50
   
//延时
    LeftClick 1
   
//左键单击进行攻击
EndIf
//条件结束
如果要在区域内查找多色可以用数组来写   在16楼有个例子  可以参考一下
2。区域找图
   在区域里查找怪的图形,怪的名字图片,血条图片等等  语法与区域找色相似  需要注意的是图片的制作  这里有两个教程可以参考一下
教程①

教程②
    图片做好之后可以放在按键文件夹里的script文件夹中  就可以不用在脚本里写图片路径 只需图片名就行了  写脚本的时候比较方便
例子:
VBSCall FindPic(0,0,1024,768,"1.bmp",0.9,x,y)
//区域找图  0,0,1024,768为区域范围  "1.bmp"为图片名(路径)  0.9为找图的相似度 x,y为找到图片后的坐标变量
If x>=0 and y>=0
    MoveTo x y
    Delay 50
    LeftClick 1
EndIf
3。圆形渐开线扫描找怪法
   此法效率较低  这里有个以前的例子可以参考一下
http://bbs.vrbrothers.com/viewthread.php?tid=14105
   
4。圆形渐开线扫描找变色怪
   这个是我以前收集的一个找变色怪的例子(原帖找不到了):
VBS dim x0,n,y0,x,color0,color
//声明变量
Rem start
//标记渐开线找怪开始
VBS x0=400:n=1:y0=300:x=400
//变量初始化
While x//限定横坐标范围不超过800
    VBS x=x0+4*(cos(n)+n*sin(n))
   
//根据渐开线公式计算下一个点的横坐标并赋值给x
    VBS y=y0+3*(sin(n)-n*cos(n))
   
//根据渐开线公式计算下一个点的纵坐标并赋值给y
    VBSCall color0=GetPixelColor(x,y)
   
//在鼠标移动之前,获取目标点色值并赋值给color0
    VBSCall Call SetCursorPos(x,y)
   
//马上移动鼠标到目标点
    VBSCall color=GetPixelColor(x,y)
   
//获取鼠标移动后该点色值并赋值给color
    If colorcolor0
        
//同一点取得的两次色值比较,不同,则执行以下的打怪脚本
        LeftClick 1
        
//左键单击
        Delay 3000
        
//打怪延时
    EndIf
   
//该点判断结束
    Delay 10
   
//循环延时
    VBS n=n+0.2
   
//渐开线参数增量,其中0.2代表点间距,数值越小,渐开线散开点间距越小
EndFor
//一次渐开线取点判断结束
Goto start
/转到开始,重复渐开线搜索
5。小地图找怪
  公式:大地图怪坐标=(小地图怪坐标 - 小地图人物坐标)*比例 + 大地图人物坐标   
比例是(大地图怪坐标和大地图人物坐标之间的距离)与(小地图怪坐标和小地图人物坐标之间的距离)这两者的比例   如下图 A线与B线的比例   图做的不好 莫怪

    用小地图找怪计算数据必需要很准确   
然后用区域找色查找小地图上怪的小点(最好用从区域中心向外找色) 找到怪的小点后再计算坐标  计算得出大地图坐标后  移动鼠标到怪身上打怪

例子:
VBSCall FindCenterColor(858,66,996,192,"0000FF",x,y)
//区域从中间向外找色  858,66,996,192是小地图的区域范围
If x>=0 and y>=0
   
//如果找到颜色
    x0=(x-926)*10+512
    y0=(y-129)*10+389
   
//计算大地图怪的坐标
    MoveTo x0 y0
   
//移动到大地图怪的坐标
  
    Delay 50
   
//延时
    LeftClick 1
   
//左键单击进行攻击
EndIf
//条件结束
暂时就写这几个了   当然找怪的方法不止这几种而已   欢迎大家一起来讨论与分享
作者: 肥仔头    时间: 2006-11-10 11:14

都是高手........
作者: jwfsys    时间: 2006-11-12 02:37

看不动啊
作者: 过去一切    时间: 2006-11-14 07:28     标题: 又是这样的,不明白


作者: 柳絮飘飘    时间: 2006-11-17 01:37

努力想学点
作者: 雁南飞    时间: 2006-11-17 01:54

怪物。。。还用。。。。
不是很明白的
作者: justlin    时间: 2006-11-17 01:58

不是很明白
再努力看懂
作者: ha321    时间: 2006-11-23 21:02

好东西呀...
作者: 邯郸貔    时间: 2006-11-23 23:27     标题: 怪怪的!


作者: 飘雪    时间: 2006-11-27 08:11

努力想学点
作者: 紫天坛    时间: 2007-1-28 10:51

没看懂
努力吧
作者: winelanze    时间: 2007-2-6 11:44

看8懂
作者: xzter    时间: 2007-4-10 15:20

高手阿
作者: 寻找爱人    时间: 2007-4-13 11:38

人笨,又看不懂,好想学啊,有谁能免费手把手教我做脚本就好了。
作者: clockzhong    时间: 2007-12-26 02:38

呵楼上的有点难,做脚本要有一定的编程基础的~~至少要知道命令格式和用法~!!

再就是思维要活跃,不然可能为一个目的你多走几十里路
作者: poorluky    时间: 2008-1-9 01:30

难啊   真痛苦
作者: ring6207    时间: 2008-1-29 11:33

思路很新颖!
作者: 278018626    时间: 2008-2-14 18:47

还是不明白
作者: wh0773    时间: 2008-3-17 22:47

不是很明白
再努力看懂
作者: tkggypmb    时间: 2008-4-8 21:29

自己用过一阵子的按键精灵,有些地方还是用的不爽

作者: fangjx19    时间: 2008-4-26 15:40

我是菜鸟,看不懂
作者: bbantrock    时间: 2008-4-28 01:16

很详细但是不东啊
作者: asdf552    时间: 2008-5-8 22:18

做按键要用的吧,这个我以前也有在别的论坛看过
作者: 861016    时间: 2008-5-9 09:54

这个Sz 看了应该会有帮助
作者: gao555    时间: 2008-5-30 12:44

不明白呀?我的电脑就是游戏机
作者: 66651805    时间: 2008-6-13 19:24

为什么我都明白不了呢~哭
作者: wj6608    时间: 2008-6-18 13:10

偶很努力看了,就是看不懂
作者: cnmyxk    时间: 2008-11-6 15:36

学会内存的方法才是最快的方法最有效的方法。
作者: sxhzhanghb    时间: 2010-3-12 12:39

整不明白
作者: xiaosaotu    时间: 2010-4-6 16:02

有点复杂,收藏,慢慢看
作者: 啊里路呀    时间: 2010-5-29 16:55

努力想学点




欢迎光临 紫菀论坛 (http://bbs.szyin.com/) Powered by Discuz! 7.1