TC官方合作论坛

标题: 关于完美世界就近打怪的一点想法。。。。 [打印本页]

作者: 爱上老公    时间: 2015-4-10 01:24
标题: 关于完美世界就近打怪的一点想法。。。。
本帖最后由 爱上老公 于 2015-4-10 01:37 编辑

完美世界属于典型的3D网游了,人物永远在地图中间,同时有个小地图左上角,游戏中按tab键选怪,选中怪物后,小地图上显示红点,
这就为就近打怪及其他功能的实现提供了基础,下面是小地图,蓝色线是怪物离人物X坐标距离(取绝对值),黑色线是怪物离人物Y坐标距离(取绝对值),
红色线就是人物和怪物的直线距离了,用勾股求出红色线的长度(数值),重复按tab选怪,就得到一个数组(且这么说吧!本人也是小白)下面就简单了,用到数组空间排列等,
找出里面的一个最小值,然后循环对比,直到取到这个最小值的怪,跳出循环,然后打怪。。。。判断怪物死亡(找图找色或者其他)。。。。再执行上面。。。。
说的不好,清见谅。。。
其实就是2个步骤
1.得到附近怪物离人物的直线距离,保存在数组空间
2.找出最小直线距离值,按选怪键再次匹配这个值。


功能 搜索怪物()
    dm.setpath(辅助.获取资源路径("rc:"))
    dm_ret1 = dm.SetDict(0,"数字1.txt")
    范围=类型.转整型(编辑框.获得文本("编辑框5"))
    变量 人物X坐标=1213
    变量 人物Y坐标=92
    变量 怪物X坐标
    变量 怪物Y坐标
    变量 距离X
    变量 距离Y
    辅助.等待(500)  //定义一个数组,把周围怪物于人物的直线距离放进数组
    变量 怪物集合=数组[4]
    遍历(i=0;i<4;i++)
        dm.KeyPress(9)
        辅助.等待(200)        //“怪物”其实就是小地图上的红点,选中怪物小地图上就有红点,
        dm_ret = dm.FindStr(1151,33,1273,158,"怪物","ff4f2c-000000",1.0,怪物X坐标,怪物Y坐标)
        //1213是人物在小地图上的X坐标,92是Y坐标,求出两条直角边的绝对值
        距离X=数学.绝对值(1213-怪物X坐标)
        距离Y=数学.绝对值(92-怪物Y坐标)
       //求出斜线长度(直线距离)
        怪物集合=类型.取整(数学.开方((距离X*距离X)+(距离Y*距离Y)))
    遍历结束

       //排序,小的放前面,也就是“怪物集合[0]”最小
    数组空间.排序(怪物集合,2)

    循环(真)
        辅助.等待(300)
        dm.KeyPress(9)
        辅助.等待(100)
       //“怪物”其实就是小地图上的红点,选中怪物小地图上就有红点,
        dm_ret = dm.FindStr(1151,33,1273,158,"怪物","ff4f2c-000000",1.0,怪物X坐标,怪物Y坐标)
        距离X=数学.绝对值(1213-怪物X坐标)
        距离Y=数学.绝对值(92-怪物Y坐标)
        s=类型.取整(数学.开方((距离X*距离X)+(距离Y*距离Y)))
        //调试输出(s)

      //保存后在循环对比,找到小于等于最小值就跳出
        如果(s<=怪物集合[0]+1)
            跳出
        如果结束
    循环结束





作者: 爱上老公    时间: 2015-4-10 01:38
先顶自己一下
作者: sam7894604    时间: 2015-4-10 03:35
这样写的选怪效率有点低...
TAB 默认是选最近怪物吧 ?...
作者: 爱上老公    时间: 2015-4-10 09:41
sam7894604 发表于 2015-4-10 03:35
这样写的选怪效率有点低...
TAB 默认是选最近怪物吧 ?...

不是的,随机的,要是默认最近的话,我也不会这么费神了,效率的话还过得去,在打怪线程执行前,怪就已经选好了,1到2秒
作者: 爱上老公    时间: 2015-4-10 09:42
本帖最后由 爱上老公 于 2015-4-10 09:57 编辑
sam7894604 发表于 2015-4-10 03:35
这样写的选怪效率有点低...
TAB 默认是选最近怪物吧 ?...

求大神指导,还有一个问题,怎么样检测出附近(指定范围)怪物数量??比如说附近怪物超过一个,用到群怪技能。。。,一个怪物用单刷技能。。




欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1