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 是和的意思 则可以往左跑+上跑=左上跑
//左上