EndIf i=i-1 Delay 32 EndWhile Rem extWhileA j=0 //得到开始地点在数组中的位置 While j<=e If zdxl(j,2)=ksdt b=j EndIf j=j+1 Delay 32 EndWhile //如果b或者e有一个为0说明没找到,此路不通,退出或者其他处理 //If b*e=0 // MessageBox 无法到达指定地图 // EndScript //EndIf //开始移动 A-B-C-B-D-B-E // dtls=e // While b<e //If zdxl(dtls,2)=zdxl(e,2) //e=dtls //EndIf //dtls=dtls-1 //EndWhile While dtls<e If zdxl(dtls,2)=zdxl(b,2) b=dtls EndIf dtls=dtls+1 EndWhile b=b+1 //b点即是下一步走的地图,开始切换地图 zdxlX=zdxl(b,0) zdxlY=zdxl(b,1) Gosub 清空屏幕对话框 Gosub 打开小地图 MoveTo zdxlX-20,zdxlY-20 LeftClick 1 Delay 1500 MoveTo zdxlX,zdxlY LeftClick 1 Gosub 清空屏幕对话框 ntime=5 Gosub 角色是否移动 Gosub 自动打怪 //判断是否到达 // Gosub chkMapColor Delay 1000 Gosub 检查当前地图 If ksdt=jsdt Goto 自动寻路结束 Else Goto 自动寻路开始 EndIf Rem 自动寻路结束 Return 自动寻路 //====================自动寻路结束============================== //====================检查当前地图============================== Sub 检查当前地图 VBSCall FindPic(X1,Y1,X2,Y2,"Attachment:\地标之稻田.bmp",1,dbintX,dbintY) If dbintX>0 and dbintY>0 ksdt="稻田" Goto 结束检查当前地图 EndIf VBSCall FindPic(X1,Y1,X2,Y2,"Attachment:\地标之稻香村.bmp",1,dbintX,dbintY) If dbintX>0 and dbintY>0 ksdt="稻香村" Goto 结束检查当前地图 EndIf VBSCall FindPic(X1,Y1,X2,Y2,"Attachment:\地标之稻香村东.bmp",1,dbintX,dbintY) If dbintX>0 and dbintY>0 ksdt="稻香村东" Goto 结束检查当前地图 EndIf VBSCall FindPic(X1,Y1,X2,Y2,"Attachment:\地标之李纨小屋.bmp",1,dbintX,dbintY) If dbintX>0 and dbintY>0 ksdt="李纨小屋" Goto 结束检查当前地图 EndIf Rem 结束检查当前地图 Return 检查当前地图 //====================检查当前地图结束============================== //====================判断人物是否移动============================== Sub 角色是否移动 //调用前请给ntime赋值,如: ntime=5 ,意思为5秒人物没有变化即中止判断,如果人物停止移动刚返还rwt=0 dGetColor=0 n=0 While n<ntime VBSCall aGetColor=GetPixelColor(X3+220,Y3+240) VBSCall bGetColor=GetPixelColor(X3+225,Y+240) cGetColor=aGetColor+bGetColor If cGetColor<>dGetColor dGetColor=cGetColor Delay 500 Else n=n+1 Delay 500