//本脚本为前台打怪脚本,功能仅对获得键盘输入焦点的当前窗口起作用 //最好使用按键精灵最新版,本脚本是在按键精灵9上测试可用 //脚本启动热键:键盘最右侧的小数字键盘上的"+"号;终止热键:键盘最右侧的小数字键盘上的"-"号 //脚本启动方法: //1.在按键精灵中导入本脚本,并修改保存后,打勾使之有效; //2.单开时,在TLBB窗口内任意用鼠标点击一下获得焦点,然后按启动热键(数字小键盘上的"+"号),保持3秒钟,直至弹出提示窗口,点击确定即可。 //3.双开时,在第1个TLBB窗口内任意用鼠标点击一下获得焦点,然后按启动热键(数字小键盘上的"+"号),在3秒钟之内用鼠标点击第2个TLBB窗口并保持不变,等待出现提示窗口后,,点击确定即可。 //TLBB:快捷键:F1——第1本书第1个技能;F2——常用的打怪技能键;F3——常用的打怪技能键;F4——一般为半怒的打怪技能键;F11——切换打怪目标 //若你不想使用这么多技能,可以直接修改脚本,或者将屏幕上F2、F3或者F4这些你不需要的技能图标移动到其它空位上 Dim redstartx Dim redstarty //用户双开打怪时,2个窗口通过按Ctrl+Tab键切换,此脚本部分支持双开打怪,但因脚本是前台打怪脚本,需要用户不停按Ctrl+Tab键切换两个窗口,仅能让双开时轻松一些。 //注意:redstartx和redstarty需要每次启动脚本之前修改;脚本启动后,不能移动窗口位置;若改变了窗口位置,需重新设置这两个参数 //查看X和Y坐标值,可使用抓抓,将鼠标移动到怪物血条的左侧左上位置,然后记录抓抓上显示的坐标 //屏幕上怪物血条的左上起始位置的X坐标,括号中第1个数是对应第1个窗口的怪物血条的X坐标,第2个数对应的是第2个窗口的怪物血条的X坐标 redstartx = Array(1396, 590) //屏幕上怪物血条的左上起始位置的Y坐标,括号中第1个数是对应第1个窗口的怪物血条的Y坐标,第2个数对应的是第2个窗口的怪物血条的Y坐标 redstarty = Array(55, 55) //提示:若用户单开,仅有一个窗口,那么让上述两个参数中括号内的两个数字相同即可,例如redstartx = Array(1392, 1392) //注意:本脚本中采用的怪物血条颜色的标记为000BD9,显卡不同或者显示设置不同均有可能造成实际颜色差异,并导致脚本误判;若有必要,你需使用抓抓查看怪物血条颜色,然后替换本脚本中所有使用000BD9的地方(共3处) //初始设置与提示窗口 //下面这句是得到当前键盘输入焦点的窗口句柄,(启动本脚本前,先用鼠标点击第1个TLBB窗口使之成为当前窗口) Hwndorigin = Plugin.Window.GetKeyFocusWnd() //延迟3秒钟,在3秒钟内,请用鼠标点击第2个TLBB窗口窗口,并维持到出现提示窗口。 Delay 3000 Hwndorigin2 = Plugin.Window.GetKeyFocusWnd() Msgbox "两个自动打怪窗口的句柄依次为:" & Hwndorigin & " " & Hwndorigin2 & " 请点击确定关闭此提示窗口。" //脚本主体: //一直不断的循环 Do While True //获得当前窗口的序号,第1个窗口的序号为0,第2个为1,不是初始设置的两个窗口时为-1 Hwndcur = Is0or1() //若当前窗口是初始设置的2个TLBB窗口之一时,执行下列操作: If Hwndcur >= 0 Then //区域模糊查色,功能:在指定区域内查找颜色近似为000BD9的地方,若找到了,将其位置保存在变量x,y中,若找不到这种颜色,则x,y值小于0 FindColorEx redstartx(Hwndcur), redstarty(Hwndcur), redstartx(Hwndcur), redstarty(Hwndcur) + 6, "000BD9", 0, 0.8, x, y //当前窗口的当前怪物有血,则执行下列操作: If x > 0 Then //按F1键,接着按F2键,然后0.8秒内不操作 KeyPress "F1", 1 Delay 50 KeyPress "F2", 1 Delay 800 //重新判断当前窗口的当前怪物是否有血 Hwndcur = Is0or1() FindColorEx redstartx(Hwndcur),redstarty(Hwndcur),redstartx(Hwndcur),redstarty(Hwndcur)+6,"000BD9",0,0.8,x,y //当前窗口的当前怪物有血,则执行下列操作: If x>0 Then //按F1键,接着按F3键,然后0.8秒内不操作 KeyPress "F1", 1 Delay 50 KeyPress "F3", 1 Delay 800 End If //重新判断当前窗口的当前怪物是否有血 Hwndcur = Is0or1() FindColorEx redstartx(Hwndcur),redstarty(Hwndcur),redstartx(Hwndcur),redstarty(Hwndcur)+6,"000BD9",0,0.8,x,y //当前窗口的当前怪物有血,则执行下列操作: If x>0 Then //按F1键,接着按F4键,然后0.8秒内不操作 KeyPress "F1", 1 Delay 50 KeyPress "F4", 1 Delay 800 End If Else //若当前窗口的怪物无血,则切换打怪对象:按F11键 (用户需先在TLBB的快捷键设置中设置好) KeyPress "F11", 1 Delay 50 End If End If Loop //函数Is0or1,功能:返回当前窗口的序号,第1个窗口的序号为0,第2个为1,不是初始设置的两个窗口时为-1 Function Is0or1() Hwndtemp = Plugin.Window.GetKeyFocusWnd() If Hwndtemp = Hwndorigin Then Is0or1 = 0 ElseIf Hwndtemp = Hwndorigin2 Then Is0or1 = 1 Else Is0or1 = -1 End If End Function