PutAttachment .\plugin *.* VBS dim x1,y1,MBX,MBY,FS,o,SL //上面是变量声明 UserVar SL=10 设定的坐标数量 //例如你设置从A坐标到B坐标到C坐标.然么你设置的坐标就为3个 A和B和C 然么填上 UserVar SL=3 dim xy(10,2) xy(1,1) = 0 xy(1,2) = 0 xy(2,1) = 0 xy(2,2) = 0 xy(3,1) = 0 xy(3,2) = 0 xy(4,1) = 0 xy(4,2) = 0 xy(5,1) = 0 xy(5,2) = 0 xy(6,1) = 0 xy(6,2) = 0 xy(7,1) = 0 xy(7,2) = 0 xy(8,1) = 0 xy(8,2) = 0 xy(9,1) = 0 xy(9,2) = 0 xy(10,1) = 0 xy(10,2) = 0 //上面是数组,也就是我们设置坐标的地方. xy(1,1) =这填写X坐标 xy(1,2) = 这填写Y. //默认可以设置10个坐标,可以自己修改添加更多.具体方法参考文章【数组】在三楼. //http://bbs.vrbrothers.com/viewthread.php?tid=27138 VBS FS =2-4 //FS=负2 //因为不能输入负数,所以采取的办法. VBS i=1 Rem 移动 For 100 Delay 1000 Plugin hz=DBsoft.OCR(0,0,584,67,595,0,0,11,1,0,"ffffff",0,0,0) //利用大兵文字识别插件识别地图名长度. 因为设置范围原因大可能会出现识别到多余的坐标.并且保存在变量HZ中 TracePrint HZ //调试模式下显示HZ变量内的内容 也可以删除这句 Plugin hz=DBSoft.WordSelect(hz,0) //利用大兵文字过滤插件,先读取变量HZ把多余的符合或数字过滤.只显示文字. TracePrint HZ //调试模式下显示HZ变量内的内容 If len(hz)=5 //判断变量HZ的文字是否等于5个. 这步是用来识别地图名称. Goto 5 //符合条件跳转到标记5 EndIf If len(hz)=4 Goto 4 EndIf If len(hz)=3 Goto 3 EndIf TracePrint "超出脚本功能范围 本脚本只支持地图名3-5个字" Gosub [脚本停止运行] Rem 4 Plugin x=OF.GetSongTiMin5Number(62,586,"ffffff",0.8,3,6) Plugin y=OF.GetSongTiMin5Number(80,586,"ffffff",0.8,4,6) o=4 Goto 输出 Rem 3 Plugin X=OF.GetSongTiMin5Number(50,586,"ffffff",0.8,3,6) Plugin Y=OF.GetSongTiMin5Number(68,586,"ffffff",0.8,4,6) o=3 Goto 输出 Rem 5 Plugin X=OF.GetSongTiMin5Number(74,586,"ffffff",0.8,3,6) Plugin Y=OF.GetSongTiMin5Number(92,586,"ffffff",0.8,4,6) //这里是地图名称五个字识别的插件代码. 其实和三 四个字地图识别代码一样.只是左右上下的识别范围不同. o=5 //这是个变量,为了节约时间,下次不在测试地图名称长短.让脚本知道地图是5个字.下次直接返还标记5读取XY. Rem 输出 Plugin X1=DBSoft.WordSelect(x,1) Plugin y1=DBSoft.WordSelect(y,1) //此为大兵过滤插件把读出来的坐标多余的符合过滤只读出数字. //因为我地图坐标读取代码范围设置较大,这样能解决X变动导致无法识别Y的错误. //例如300:300 Y是从:开始识别. TracePrint x1 TracePrint y1 VBS x = X1 - xy(i,1) VBS y = y1 - xy(i,2) //利用游戏坐标 减去 目的地坐标.得到相差的距离为X.Y TracePrint x TracePrint y If y=0 and x=0 If i=SL //如果相差的距离Y1=0 并且 相差的距离X1=0 则代表当前游戏坐标与目的地坐标相差为0 则到达目的地. //完成走到第SL个坐标后停止. SL是变量 可以在开头设置 i=i+1 EndIf //则走到下一个坐标. Gosub [判断坐标] EndIf If y>=2 and x>=2 //如果 相差的距离Y1大于等于2则说明可以往左跑. 并且 相差的距离X1大于等于2则可以上跑. //大家都知道游戏中走1步游戏坐标会因为方向不同+1或-1.是有规则的.跑一步则是+2. //大家知道 and 是和的意思 则可以往左跑+上跑=左上跑 //左上