ScanL(mx)=1 Else VBSCall MessageBox("出错:横向扫描取值非预期rel="+rel) EndIf mx=mx+1 EndWhile //判断 N=0 While N<4 i=0 While i<5 If ScanL(i)<>NumL(N,i) //一有不对马上跳出 i=100 Else //全中 If i=4 TheNum=N N=100 EndIf EndIf i=i+1 EndWhile N=N+1 EndWhile If N=101 //筛选 If TheNum=0 Number=2 ElseIf TheNum=1 Number=9 ElseIf TheNum=2 Number=8 ElseIf TheNum=3 Number=3 EndIf Else //只余下5.6,扫描一个点即可 VBSCall rel=GetPixelColor(x-2,10) If rel="080C08" Number=5 ElseIf rel="94FFFF" Number=6 Else VBSCall MessageBox("失败:没有正确取得坐标") EndIf EndIf EndIf Return //取人物坐标值 //置于变量MapX、MapY Sub GetMapPos x=742 T=0 VBS Dim valPos(6) While T<6 Gosub Scan VBS valPos(T)=Number If X=754 X=780 Else X=X+6 EndIf T=T+1 EndWhile VBS MapX=valPos(0)*100+valPos(1)*10+valPos(2) VBS MapY=valPos(3)*100+valPos(4)*10+valPos(5) //VBSCall MessageBox(MapX) //VBSCall MessageBox(MapY) Return //挂机参数 设置 Sub SetPara // VBS tell(0)="挂机范围X坐标:" // VBS tell(1)="挂机范围Y坐标:" Gosub GetMapPos MapX0=MapX MapY0=MapY tell="挂机半径:" intval=0 While intval=0 VBSCall str=InputBox(tell) intval=str*1 If intval=0 MessageBox 输入有误,请重输 EndIf EndWhile R0=intval Return //控制挂机范围 Sub RangeCtrl Gosub GetMapPos Mapmx=MapX0-MapX Mapmy=MapY0-MapY If (Mapmx*Mapmx+Mapmy*Mapmy)>R0*R0 //大于挂机半径 //向原点走去? If Mapmx>0 //在右边 stepx=100 ElseIf Mapmx<0