- 如果 IsNumeric(zb11) = False 或者 IsNumeric(zb12) = False 则
- 弹出窗口 "未正确识别坐标,请检查游戏显示设置是否32色,然后重新开始本程序"
- 脚本停止运行
- 否则
- 令 nfzb1 = right("0" & zb11,3)
- 令 nfzb2 = right("0" & zb12,3)
- 令 nFzb = nfzb1 & nfzb2
- 条件结束
- 否则
- 弹出窗口 "未正确识别坐标,请检查游戏显示设置是否32色,然后重新开始本程序"
- 脚本停止运行
- 条件结束
- 子程序结束
- 子程序 点选游戏窗口
- 令 ScreenW = Sys.GetScRX()
- 令 ScreenH = Sys.GetScRY()
- 调用 Msg.ShowScrTXT(5,5,1024,25,"自动开始选择游戏窗口","000000")
- 令 Hwnd = Window.Foreground()
- 令 sText = Window.GetText(Hwnd)
- 如果 InStr(sText,"天龙八部OL") > 0 则
- 否则
- 注释:call 自选天龙窗口
- 条件结束
- 子程序结束
- 子程序 自选天龙窗口
- 令 dm_ret = dm.FindPicEx(0,ScreenH - 200,ScreenW,ScreenH,"D:\Program Files\JY\yrbk\PIC\天龙任务栏.bmp","020202",0.9,0)
- 如果 len(dm_ret) > 0 则
- 令 sst = split(dm_ret,"|")
- 否则
- 脚本停止运行
- 条件结束
- 令 sss = split(sst(0),",")
- dm.MoveTo(int(sss(1)) + 30,int(sss(2)) + 10)
- 延时 300 毫秒
- (鼠标)左键单击, 1次
- 延时 1000 毫秒
- 子程序结束
- 子程序 显示窗口信息
- 调用 Msg.ShowScrTXT(xl + 5,yl + 5,1024,yl + 25,"角色等级:" & rwdj & ".坐标:" & nFzb & ".打怪开始……","000000")
- 延时 1000 毫秒
- 调用 Msg.HideScrTXT()
- 子程序结束
- 子程序 检测坐标
- 令 XY = Color.FindShape(xl,yl,xr,yr,"1|0|1,2|0|1,0|1|0,1|1|0,2|1|0,47|1|0,48|1|0,49|1|1,50|1|1,51|1|0,52|1|0,53|1|0,54|1|0,55|1|0,56|1|0,57|1|0,0|2|0,1|2|0,2|2|0,47|2|0,48|2|0,49|2|0,50|2|1,51|2|1,52|2|0,53|2|0,54|2|0,55|2|0,56|2|0,57|2|0,0|3|1,1|3|1,2|3|1,47|3|1,48|3|1,49|3|0,50|3|0,51|3|1,52|3|1,53|3|0,54|3|0,55|3|0,56|3|0,57|3|0,47|4|0,48|4|0,49|4|0,50|4|0,51|4|0,52|4|0,53|4|0,54|4|0,55|4|0,56|4|0,57|4|0",1)
- 令 ZB = InStr(XY,"|")
- 令 aX = Clng(Left(XY,ZB - 1))
- 令 aY = Clng(Right(XY,Len(XY) - ZB))
- 如果 aX > 0 并且 aY > 0 则
- 令 zb11 = dm.Ocr(ax - 5,ay + 1,ax + 22,ay + 18,"fdff73-000000",1.0)
- 令 zb12 = dm.Ocr(ax + 22,ay + 1,ax + 48,ay + 18,"fdff73-000000",1.0)
- 令 sbzb1 = Replace(zb11," ","")
- 令 sbzb2 = Replace(zb12," ","")
- 如果 IsNumeric(sbzb1) = False 或者 IsNumeric(sbzb2) = False 或者 sbzb1 = "" 或者 sbzb2 = "" 则
- 令 jczb = nfzb
- 否则
- 如果 sbzb1 <= 99 则
- 令 sbzb1 = "0" & sbzb1
- 条件结束
- 如果 zb12 <= 99 则
- 令 sbzb2 = "0" & sbzb2
- 条件结束
- 令 jczb = sbzb1 & sbzb2
- 条件结束
- 条件结束
- 子程序结束
- 子程序 检测范围
- 如果 TFdidian = 1 则
- 调用 检测坐标
- 如果 CInt(abs(nfzb1 - sbzb1)) < CInt(left(FWdidian,1)) 并且 CInt(abs(nfzb2 - sbzb2)) < CInt(right(FWdidian,1)) 则
- 否则
- 调用 Window.Active(Hwnd)
- 调用 寻路
- 延时 200 毫秒
- 令 yddzb = Nfzb
- 调用 移动到
- 条件结束
- 条件结束
- 子程序结束
- 子程序 寻路
- 令 ksdjt = now
- 令 djflag = 0
- 标记 重新寻路(子程序 寻路)
- 令 dm_ret = dm.FindStr(XR - 350,YL,XR,YR,"坐标","fff263-000000",1.0,X,Y)
- 如果 x > 0 并且 y > 0 则
- 否则
- (键盘)按 "Tab" 键, 1次
- 延时 50 毫秒
- 令 djt = now
- 令 djflag = 1
- 条件结束
- 循环当 djflag = 1 并且 datediff("s",djt,now) < 4 并且 datediff("s",ksdjt,now) < 10 时
- 令 dm_ret = dm.FindStr(XR - 350,YL,XR,YR,"坐标","fff263-000000",1.0,X,Y)
- 如果 x > 0 并且 y > 0 则
- 令 djflag = 2
- 条件结束
- 循环结束
- 循环当 djflag = 1 并且 datediff("s",djt,now) >= 4 并且 datediff("s",ksdjt,now) < 10 时
- 令 dm_ret = dm.FindStr(XR - 350,YL,XR,YR,"坐标","fff263-000000",1.0,X,Y)
- 如果 x > 0 并且 y > 0 则
- 令 djflag = 2