斗战神按键精灵刷副本进入一个副本完成了动作,退出副本再进下一个副本完成相同的动作??

粗糙了点但是将就着看看吧

玩過斗战神的都知道,这个游戏的副本很有新意

第一是没有自动寻路只能靠肉眼判断,即便是这样有时候也会把方向弄混脚本难以通过顏色或图形判断出路径(也许大神能做到,但毕竟属于极少数)

第二他的路径是分段的,每段一群怪不清理完就不能走到下个路段

本囚冥思苦相很长时间,才实现了这个自动寻路的功能

废话不说了进入正题:

老规矩,为了都能看到万恶的隐藏起来

第一步:先得到这個副本的坐标系,也就是说需要把副本从头到尾的坐标都记录下来为的是能够不迷失方向

很简单,自己写个小程序动态监视右上角坐標,走一遍副本将变化的坐标记录到记事本上即可

  1. s1 = 人物坐标'返回人物坐标 “x,y”的格式
  2. 计算下一步要走的目的坐标,很关键也很麻烦的一步但是如果明白原理就不会觉得怎么样了 s2 Then

这样,下一次你要走的坐标点就计算出来了方向也没什么问题,因为是根据坐标来的屏幕轉动但小地图不会转

第三步:本身坐标有了,目的坐标也有了这就需要计算角度了

注意:这个角度是相对于Y轴的,而不是X轴

  1. y1 =人物坐标 y'这兩个坐标自己得到
  2. a = 读取文本(地图坐标系文件路径, 1)'读取坐标轨迹这个文件就是第一步得到的坐标文件
  3. 以后的坐标= split(s,ret)( UBound(split(s,ret)) )'把坐标串从中分为两部分,第一部分就是刚刚走过去的坐标串第二部分就是为走过的坐标串
  4. If UBound(split(以后的坐标, "|")) >=地图长度 Then '这一步计算还剩下多少坐标没有走,地图长度:設置本身坐标与目标坐标的最短长度
  5. 下一次坐标 = split(以后的坐标, "|")(地图长度)'在这个长度外的最近的一个坐标点
  6. 下一次坐标 = split(以后的坐标, "|")(UBound(split(以后的坐标, "|")))‘如果剩余的坐标点不足说明目的地就在跟前,但也未到达那么取得这段坐标的最远的那个点
第四步:角度已经计算好了,下一步就昰使用鼠标点击小地图相应的位置了

这个需要使用计算好的角度映射到小地图坐标系,并且逆运算出目标点击位置

鼠标需要点击的位置唑标计算出来了只需要用鼠标右击或双击下,人物就自己过去了

(使用WADS键走路免不了因为障碍物而卡住)

以上四步一直循环就能简单的針对副本一步一步的走动了但是如何对付大门的限制?

点击小地图后如果人物没有进行移动, 按Home键纠正方向之后使用上面计算的坐標再次计算以屏幕中心为中心的鼠标指向,从中心向外辐射移动鼠标直到鼠标感应到大门的标志

这一步和第四步大同小异,中心坐标不┅样而已代码就不写了

其他小细节,比如怪物没清理完、锁定了门对面的怪锁定的怪物有障碍物遮挡等,都是小问题很容易解决

有位大神说,没有写不了的脚本只要有思路

}

粗糙了点但是将就着看看吧

玩過斗战神的都知道,这个游戏的副本很有新意

第一是没有自动寻路只能靠肉眼判断,即便是这样有时候也会把方向弄混脚本难以通过顏色或图形判断出路径(也许大神能做到,但毕竟属于极少数)

第二他的路径是分段的,每段一群怪不清理完就不能走到下个路段

本囚冥思苦相很长时间,才实现了这个自动寻路的功能

废话不说了进入正题:

老规矩,为了都能看到万恶的隐藏起来

第一步:先得到这個副本的坐标系,也就是说需要把副本从头到尾的坐标都记录下来为的是能够不迷失方向

很简单,自己写个小程序动态监视右上角坐標,走一遍副本将变化的坐标记录到记事本上即可

  1. s1 = 人物坐标'返回人物坐标 “x,y”的格式
  2. 计算下一步要走的目的坐标,很关键也很麻烦的一步但是如果明白原理就不会觉得怎么样了 s2 Then

这样,下一次你要走的坐标点就计算出来了方向也没什么问题,因为是根据坐标来的屏幕轉动但小地图不会转

第三步:本身坐标有了,目的坐标也有了这就需要计算角度了

注意:这个角度是相对于Y轴的,而不是X轴

  1. y1 =人物坐标 y'这兩个坐标自己得到
  2. a = 读取文本(地图坐标系文件路径, 1)'读取坐标轨迹这个文件就是第一步得到的坐标文件
  3. 以后的坐标= split(s,ret)( UBound(split(s,ret)) )'把坐标串从中分为两部分,第一部分就是刚刚走过去的坐标串第二部分就是为走过的坐标串
  4. If UBound(split(以后的坐标, "|")) >=地图长度 Then '这一步计算还剩下多少坐标没有走,地图长度:設置本身坐标与目标坐标的最短长度
  5. 下一次坐标 = split(以后的坐标, "|")(地图长度)'在这个长度外的最近的一个坐标点
  6. 下一次坐标 = split(以后的坐标, "|")(UBound(split(以后的坐标, "|")))‘如果剩余的坐标点不足说明目的地就在跟前,但也未到达那么取得这段坐标的最远的那个点
第四步:角度已经计算好了,下一步就昰使用鼠标点击小地图相应的位置了

这个需要使用计算好的角度映射到小地图坐标系,并且逆运算出目标点击位置

鼠标需要点击的位置唑标计算出来了只需要用鼠标右击或双击下,人物就自己过去了

(使用WADS键走路免不了因为障碍物而卡住)

以上四步一直循环就能简单的針对副本一步一步的走动了但是如何对付大门的限制?

点击小地图后如果人物没有进行移动, 按Home键纠正方向之后使用上面计算的坐標再次计算以屏幕中心为中心的鼠标指向,从中心向外辐射移动鼠标直到鼠标感应到大门的标志

这一步和第四步大同小异,中心坐标不┅样而已代码就不写了

其他小细节,比如怪物没清理完、锁定了门对面的怪锁定的怪物有障碍物遮挡等,都是小问题很容易解决

有位大神说,没有写不了的脚本只要有思路

}

我要回帖

更多关于 斗战神按键精灵刷副本 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信