- //当然,首先是获取窗口句柄,注意2种方式获得的句柄的区别:
- 调用插件命令 hwnd1=window.foreground()
- //上面这句获得的窗口句柄可以移动窗口,但是无法在窗口点击鼠标
- 调用插件命令 hwnds1=window.mousepoint()
- //现在用这句得到的句柄,可以在窗口内点击鼠标,但是无法移动这个窗口
- //所以,如果你需要移动窗口,使用的句柄应该是hwnd1,而点击使用的是hwnds1
- //当然,这2种方式取得的窗口,大小是一样的,所以坐标的计算就无所谓了
- //获得鼠标位置,并转换为窗口坐标
- 调用外部VBScript子程序 得到鼠标当前位置(xget,yget)
- 调用插件命令 clixy=BGKM5.ScrToCli(hwnds1,xget,yget)
- 调用外部VBScript子程序 得到鼠标当前位置(xget,yget)
- 调用外部VBScript子程序 得到鼠标当前位置(xget,yget)
- 调用外部VBScript子程序 得到鼠标当前位置(xget,yget)
- //脚本开始寻找精确的挖矿点
- 锁定鼠标位置
- 鼠标相对移动 60 , 0
- //锁定鼠标,并将鼠标移动开,防止矿锄的颜色、“挖矿”这样的字眼影响取色判断
- 调用插件命令 wkxy=BkgndColor.FindColor(hwnds1,x,y,x+4,y+32,"000000")
- //以鼠标最开始的点为左上角,在 4x32的范围内寻找黑色
- //这么做的目的是找到地块格子的第一个黑色点,所以要求打开地块显示
- wkxyarray=Split(wkxy,"|",-1,1)
- hsx=wkxyarray(0)
- hsy=wkxyarray(1)
- 标记 寻找挖矿点
- //在找到黑色的点之后,分别取这个点的左、右和左上的点的颜色
- //具体的相对坐标,见脚本中
- 调用插件命令 colorzuo=BkgndColor.GetPixelColor(hwnds1,hsx-4,hsy)
- 调用插件命令 coloryou=BkgndColor.GetPixelColor(hwnds1,hsx+4,hsy)
- 调用插件命令 colorzuoshang=BkgndColor.GetPixelColor(hwnds1,hsx-4,hsy-2)
- //这个目的是为了找到当前格子最下面的2个黑色点
- //如果你截图放大会很清楚的看到格子的边框是由黑色的点组成
- 如果表达式 (colorzuo=0) 为真,则
- xwk=hsx-2
- ywk=hsy
- 跳转到标记 找到
- 条件结束
- 如果表达式 (coloryou=0) 为真,则
- xwk=hsx+2
- ywk=hsy
- 跳转到标记 找到
- 条件结束
- //无论左边的点还是右边的点是黑色,都证明已经找到格子的最下方
- //把准确的挖矿点的坐标(xwk,ywk)定义好,跳出判断
- //在左边和右边都不是黑色的情况下,说明不是格子最下方
- //此时左上角的点或者右上角的点必定为黑色
- //如果左上角的点是黑色,说明此点偏左上,将此点的坐标向右下移动,继续判断
- //如果左上角不是黑色,那么必然是右上角是黑色,此点坐标向左下移动
- 如果表达式 (colorzuoshang=0) 为真,则
- 延时10毫秒
- hsx=hsx+4
- hsy=hsy+2
- 跳转到标记 寻找挖矿点
- 否则
- hsx=hsx-4
- hsy=hsy+2
- 跳转到标记 寻找挖矿点
- 条件结束
- //设置这个标记的目的是用来释放鼠标
- //其中鼠标相对移动回原来的位置可要可不要,因为是后台
- 标记 找到
- 鼠标相对移动 -60 , 0
- 解除鼠标锁定
- 标记 开始挖矿
- 调用子程序 体力
- //选择矿锄(F1)
- 调用插件命令 BGKM5.KeyClick(hwnds1,112)
- 延时100毫秒
- //挖矿
- 调用插件命令 BGKM5.MMove(hwnds1,xwk,ywk)
- 调用插件命令 BGKM5.LClick(hwnds1,xwk,ywk)
- //延迟时间可自己修改,或用自定义变量在最开始设置
- 延时6800毫秒
- //以下4次点击,是在格子的4个角各点击一次拿矿
- //经过测试,包括男女普通角色、男女豆丁都没问题
- 调用插件命令 BGKM5.MMove(hwnds1,xwk,ywk)
- 调用插件命令 BGKM5.LClick(hwnds1,xwk,ywk)
- 延时80毫秒
- 调用插件命令 BGKM5.MMove(hwnds1,xwk,ywk-30)
- 调用插件命令 BGKM5.LClick(hwnds1,xwk,ywk-30)
- 延时80毫秒
- 调用插件命令 BGKM5.MMove(hwnds1,xwk+15,ywk-20)
- 调用插件命令 BGKM5.LClick(hwnds1,xwk+15,ywk-20)
- 延时80毫秒
- 调用插件命令 BGKM5.MMove(hwnds1,xwk-15,ywk-20)
- 调用插件命令 BGKM5.lClick(hwnds1,xwk-15,ywk-20)
- 延时80毫秒
- //切换一次食物,玩庄园的都知道,是为了防止连续挖矿造成人物抽动
- 调用插件命令 BGKM5.KeyClick(hwnds1,113)
- 延时200毫秒
- 跳转到标记 开始挖矿
- //体力补充
- 子程序 体力
- 调用插件命令 color7=BkgndColor.GetPixelColor(hwnds1,90,62)
- //对血条取色90,60大概是10%体力的位置,可以自己修改
- //如果颜色为黑,吃血
- 如果表达式 (color7=2106400) 为真,则
- //选择食物(F2)
- 调用插件命令 BGKM5.KeyDown(hwnds1,113)
- 调用插件命令 BGKM5.KeyUp(hwnds1,113)
- 延时200毫秒