#这是按键精灵生成的脚本源文件
#在理解各条命令的基础上,您可以修改这个文件的内容
#您修改的结果将会在普通视图上有所反映
UserVar F1=1 单攻技能(F?)
F1=111+F1
UserVar F2=2 持续技能(F?)
F2=111+F2
UserVar F3=3 加红技能(F?)
F3=111+F3
UserVar F4=4 加蓝技能(F?)
F4=111+F4
UserVar F7=7 捡东西(F?)
F7=111+F7
UserVar F8=8 回城幅(F?)
F8=111+F8
UserVar LiTime=90 防止无怪打默认90秒
Rem BeginProcedure
Gosub BloodBlue
Gosub LookDown
Gosub AngleReset
VBS userx=0:usery=0
Gosub 读取坐标
VBS userx=curx:usery=cury
Delay 10
Expre="("&cstr(userx)&"."&cstr(usery)&")"
SayExpression Expre
VBS LaTime1=time
Delay 100
//KeyPress 13 1
Rem BeginGame
Gosub BloodBlue
MoveTo 1300 350
Delay 100
MoveTo 510,458
Delay 100
LeftClick 1
VBSCall FindColorEx(346,217,681,552,"3130E7",1,0.8,xMon,yMon)
//VBSCall FindPic(346,217,681,552,"D:\Program Files\按键精灵\script\Xuetiao2.bmp",0.7,xMon,yMon)
If xMon>0
Gosub HaveMon
VBS LaTime1=time
//一个怪死亡时的时间
Else
VBS NoTime=time
If DateDiff("s",LaTime1,NoTime)>LiTime
//如果上个怪死亡到限定时间内没打怪进行小动
//妳补了长时间没怪回位;
//可改成随机引怪
Gosub SmallMove
EndIf
//Gosub PickUp 加这项减少了搜索怪物的速度
EndIf
Goto BeginGame
Sub HaveMon
UserVar Passive=DropList{0|1}=0 打被动怪(1)不打(0)
VBS HitTime=30
// 打死一个怪的时间默认30秒
VBS La2Time=time
Rem MoveMon
If Passive=1
KeyPress F1 1
Delay 1000
EndIf
Rem FightMon
KeyPress F2 1
Delay 1000
Gosub BloodBlue
KeyPress F2 1
Delay 1000
VBSCall FindColorEx(346,217,681,552,"3130E7",1,0.8,xMon,yMon)
// VBSCall FindPic(346,217,681,552,D:\Program Files\按键精灵\script\Xuetiao2,0.7,xMon,yMon)
If xMon>0
VBS NoTime=time
If DateDiff("s",La2Time,NoTime)>HitTime
//防止卡怪
Goto BeginGame
EndIf
Goto FightMon
EndIf
Gosub PickUp
//捡东西;回位
Return HaveMon
Sub SmallMove
MoveTo 410,510
Delay 100
LeftClick 1
Gosub JudgeApart
Return SmallMove
Sub PickUp
KeyPress F7,1
Delay 1000
Gosub JudgeApart
Return PickUp
Sub JudgeApart
UserVar LimitLgth=5 锁定范围至少=5
Delay 10
Gosub 读取坐标
ApartlLength=sqr((curx-userx)^2+(cury-usery)^2)
Delay 10
If ApartlLength>LimitLgth
Gosub MovePosition
EndIf
Return JudgeApart
Sub MovePosition
Gosub BloodBlue
Gosub LookDown
Gosub 读取坐标
VBS JuLi1=sqr((curx-userx)^2+(cury-usery)^2)
Rem 移动
If JuLi1>5
Rem 测试方位
VBSCall FindColorEx(346,217,681,552,"3130E7",1,0.8,xMon,yMon)
If xMon>0
Goto MoveMon
EndIf
VBS x1=curx
VBS y1=cury
MoveTo 512+160 393+160
Delay 20
LeftClick 2
Delay 400
Gosub BloodBlue
Delay 300
Gosub 读取坐标
VBS x2=curx
VBS y2=cury
VBS JuLi2=sqr((curx-userx)^2+(cury-usery)^2)
If JuLi2<5
VBS JuLi1=JuLi2
Goto 移动
EndIf
VBS dX=x2-x1
VBS dY=y2-y1
VBS Cosa=160*(dX-dY)/((dX)^2+(dY)^2)
VBS Sina=160*(-dX-dY)/((dX)^2+(dY)^2)
VBS pX=userx-x2
VBS pY=usery-y2
VBS lX=int(pX*Cosa-pY*Sina)
VBS lY=int(-pX*Sina-pY*Cosa)
VBS js=1
If sqr((lX^2+lY^2))>350
Rem 计数
VBS js=js*2
lX=int(lX/2)
lY=int(lY/2)
If sqr((lX^2+lY^2))>350
Goto 计数
EndIf
EndIf
If js>4
VBS js=4
EndIf
For js
MoveTo 512+lX 393+lY
Delay 20
LeftClick 2
Delay 700
EndFor
Delay 200
Gosub 读取坐标
VBS JuLi3=sqr((curx-userx)^2+(cury-usery)^2)
If JuLi3<5
VBS JuLi1=JuLi3
Goto 移动
Else
SayString JuLi3&"......"
Goto 测试方位
EndIf
EndIf
Gosub AngleReset
// SayString "嘻嘻!!"
// Delay 100
// KeyPress 13 1
// Delay 50
Return MovePosition
Sub LookDown
MoveTo 510,30
Delay 100
RightDown 1
Delay 300
MoveR 0,620
Delay 200
RightUp 1
Delay 300
MoveTo 510,458
Delay 100
Return LookDown
Sub AngleReset
VBSCall Call FindColor(470,180,550,380,"00ffff",x1,y1)
If abs(y1-318)>8
Gosub 调整角度
EndIf
Return AngleReset
Sub 调整角度
VBS bz=0
Rem 调整角度开始
VBS bz=bz+1
If bz>20
Return 调整角度
EndIf
If int(bz/5)=bz/5
Gosub BloodBlue
EndIf
VBSCall Call FindColor(450,200,550,380,"00ffff",x1,y1)
If (y1-318)>0
MoveTo 512 380+40
Delay 100
RightDown 2
Delay 100
MoveTo 512 380+30
Delay 100
RightUp 1
Delay 100
EndIf
If (y1-318)<0
MoveTo 512 380+40
Delay 100
RightDown 2
Delay 100
MoveTo 512 380+50
Delay 100
RightUp 1
Delay 100
EndIf
VBSCall Call FindColor(450,200,550,380,"00ffff",x2,y2)
If ABS(y2-318)>8
Goto 调整角度开始
EndIf
Return 调整角度
Sub BloodBlue
Delay 20
IfColor 40,10,182c42,0
KeyPress F3 1
EndIf
IfColor 37,21,313429,0
KeyPress F4 1
EndIf
EndIf
Return BloodBlue
Sub 读取坐标
VBS nx=865
//坐标符号"["左上角点X
VBS ny=23
//读取坐标赋初值 坐标符号"["左上角点Y
nx=nx+4:ny=ny+1:strnum="":strxy=""
curx=0:cury=0
//点只有一个
point=0
//点只有一个
VBS MINl=0
// (坐标颜色分量MIN)左边两位(填十进制)
VBS MAXl=24
//(坐标颜色分量MAX)左边两位(填十进制)
VBS MINm=0
//(坐标颜色分量MIN)中间两位(填十进制)
VBS MAXm=36
// (坐标颜色分量MAX)中间两位(填十进制)
VBS MINr=160
//(坐标颜色分量MIN)右边两位(填十进制)
VBS MAXr=255
//(坐标颜色分量MAX)右边两位(填十进制)
hexlMIN=hex(MINl)
hexlMAX=hex(MAXl)
hexmMIN=hex(MINm)
hexmMAX=hex(MAXm)
hexrMIN=hex(MINr)
hexrMAX=hex(MAXr)
//读取坐标赋初值
dim pcolor(12)
Rem 读数
VBSCall GetPixelColor(nx+2,ny-1)
pcolor(12)=GetPixelColor(nx+2,ny-1)
pcolorL=left(pcolor(12),2):pcolorM=mid(pcolor(12),3,2):pcolorR=right(pcolor(12),2)
If pcolorL>=hexlMIN and pcolorL<=hexlMAX and pcolorM>=hexmMIN and pcolorM<=hexmMAX and pcolorR>=hexrMIN and pcolorR<=hexrMAX
pcolor(12)=1
Else
pcolor(12)=0
EndIf
If pcolor(12)=1
strnum="]"
Goto 读取结束
EndIf
VBSCall GetPixelColor(nx+1,ny+1)
pcolor(2)=GetPixelColor(nx+1,ny+1)
pcolorL=left(pcolor(2),2):pcolorM=mid(pcolor(2),3,2):pcolorR=right(pcolor(2),2)
If pcolorL>=hexlMIN and pcolorL<=hexlMAX and pcolorM>=hexmMIN and pcolorM<=hexmMAX and pcolorR>=hexrMIN and pcolorR<=hexrMAX
pcolor(2)=1
Else
pcolor(2)=0
EndIf
If pcolor(2)=1
strnum="1"
Goto 合并
EndIf
VBSCall GetPixelColor(nx,ny+7)
pcolor(11)=GetPixelColor(nx,ny+7)
pcolorL=left(pcolor(11),2):pcolorM=mid(pcolor(11),3,2):pcolorR=right(pcolor(11),2)
If pcolorL>=hexlMIN and pcolorL<=hexlMAX and pcolorM>=hexmMIN and pcolorM<=hexmMAX and pcolorR>=hexrMIN and pcolorR<=hexrMAX
pcolor(11)=1
Else
pcolor(11)=0
EndIf
If pcolor(11)=1
strnum="2"
Goto 合并
EndIf
VBSCall GetPixelColor(nx+1,ny+2)
pcolor(5)=GetPixelColor(nx+1,ny+2)
pcolorL=left(pcolor(5),2):pcolorM=mid(pcolor(5),3,2):pcolorR=right(pcolor(5),2)
If pcolorL>=hexlMIN and pcolorL<=hexlMAX and pcolorM>=hexmMIN and pcolorM<=hexmMAX and pcolorR>=hexrMIN and pcolorR<=hexrMAX
pcolor(5)=1
Else
pcolor(5)=0
EndIf
If pcolor(5)=1
strnum="4"
Goto 合并
EndIf
VBSCall GetPixelColor(nx,ny)
pcolor(0)=GetPixelColor(nx,ny)
pcolorL=left(pcolor(0),2):pcolorM=mid(pcolor(0),3,2):pcolorR=right(pcolor(0),2)
If pcolorL>=hexlMIN and pcolorL<=hexlMAX and pcolorM>=hexmMIN and pcolorM<=hexmMAX and pcolorR>=hexrMIN and pcolorR<=hexrMAX
pcolor(0)=1
Else
pcolor(0)=0
EndIf
VBSCall GetPixelColor(nx,ny+2)
pcolor(4)=GetPixelColor(nx,ny+2)
pcolorL=left(pcolor(4),2):pcolorM=mid(pcolor(4),3,2):pcolorR=right(pcolor(4),2)
If pcolorL>=hexlMIN and pcolorL<=hexlMAX and pcolorM>=hexmMIN and pcolorM<=hexmMAX and pcolorR>=hexrMIN and pcolorR<=hexrMAX
pcolor(4)=1
Else
pcolor(4)=0
EndIf
If pcolor(0)=1 and pcolor(4)=1
strnum="5"
Goto 合并
EndIf
VBSCall GetPixelColor(nx+3,ny+1)
pcolor(3)=GetPixelColor(nx+3,ny+1)
pcolorL=left(pcolor(3),2):pcolorM=mid(pcolor(3),3,2):pcolorR=right(pcolor(3),2)
If pcolorL>=hexlMIN and pcolorL<=hexlMAX and pcolorM>=hexmMIN and pcolorM<=hexmMAX and pcolorR>=hexrMIN and pcolorR<=hexrMAX
pcolor(3)=1
Else
pcolor(3)=0
EndIf
VBSCall GetPixelColor(nx,ny+5)
pcolor(10)=GetPixelColor(nx,ny+5)
pcolorL=left(pcolor(10),2):pcolorM=mid(pcolor(10),3,2):pcolorR=right(pcolor(10),2)
If pcolorL>=hexlMIN and pcolorL<=hexlMAX and pcolorM>=hexmMIN and pcolorM<=hexmMAX and pcolorR>=hexrMIN and pcolorR<=hexrMAX
pcolor(10)=1
Else
pcolor(10)=0
EndIf
If pcolor(3)=1 and pcolor(10)=1
strnum="6"
Goto 合并
EndIf
If pcolor(0)=1 and pcolor(3)=1
strnum="7"
Goto 合并
EndIf
VBSCall GetPixelColor(nx+1,ny+4)
pcolor(9)=GetPixelColor(nx+1,ny+4)
pcolorL=left(pcolor(9),2):pcolorM=mid(pcolor(9),3,2):pcolorR=right(pcolor(9),2)
If pcolorL>=hexlMIN and pcolorL<=hexlMAX and pcolorM>=hexmMIN and pcolorM<=hexmMAX and pcolorR>=hexrMIN and pcolorR<=hexrMAX
pcolor(9)=1
Else
pcolor(9)=0
EndIf
If pcolor(9)=1
strnum="9"
Goto 合并
EndIf
VBSCall GetPixelColor(nx+4,ny+3)
pcolor(7)=GetPixelColor(nx+4,ny+3)
pcolorL=left(pcolor(7),2):pcolorM=mid(pcolor(7),3,2):pcolorR=right(pcolor(7),2)
If pcolorL>=hexlMIN and pcolorL<=hexlMAX and pcolorM>=hexmMIN and pcolorM<=hexmMAX and pcolorR>=hexrMIN and pcolorR<=hexrMAX
pcolor(7)=1
Else
pcolor(7)=0
EndIf
VBSCall GetPixelColor(nx,ny+4)
pcolor(8)=GetPixelColor(nx,ny+4)
pcolorL=left(pcolor(8),2):pcolorM=mid(pcolor(8),3,2):pcolorR=right(pcolor(8),2)
If pcolorL>=hexlMIN and pcolorL<=hexlMAX and pcolorM>=hexmMIN and pcolorM<=hexmMAX and pcolorR>=hexrMIN and pcolorR<=hexrMAX
pcolor(8)=1
Else
pcolor(8)=0
EndIf
If pcolor(7)=1 and pcolor(8)=1
strnum="0"
Goto 合并
EndIf
If pcolor(4)=1
strnum="8"
Goto 合并
EndIf
VBSCall GetPixelColor(nx,ny+3)
pcolor(6)=GetPixelColor(nx,ny+3)
pcolorL=left(pcolor(6),2):pcolorM=mid(pcolor(6),3,2):pcolorR=right(pcolor(6),2)
If pcolorL>=hexlMIN and pcolorL<=hexlMAX and pcolorM>=hexmMIN and pcolorM<=hexmMAX and pcolorR>=hexrMIN and pcolorR<=hexrMAX
pcolor(6)=1
Else
pcolor(6)=0
EndIf
If pcolor(6)=1
strnum="-"
Goto 合并
EndIf
VBSCall GetPixelColor(nx+1,ny)
pcolor(1)=GetPixelColor(nx+1,ny)
pcolorL=left(pcolor(1),2):pcolorM=mid(pcolor(1),3,2):pcolorR=right(pcolor(1),2)
If pcolorL>=hexlMIN and pcolorL<=hexlMAX and pcolorM>=hexmMIN and pcolorM<=hexmMAX and pcolorR>=hexrMIN and pcolorR<=hexrMAX
pcolor(1)=1
Else
pcolor(1)=0
EndIf
If pcolor(1)=1
strnum="3"
Goto 合并
EndIf
If point=0
strnum="."
point=1
Goto 合并
EndIf
Rem 合并
strxy = strxy&strnum
nx=nx+6
Goto 读数
Rem 读取结束
i=InStr(strxy,".")
If i>1
If IsNumeric(Left(strXY,i-1)) And IsNumeric(Mid(strxy,i+1))
curx=CLng(Left(strxy,i-1))
cury=CLng(Mid(strxy,i+1))
EndIf
EndIf
Rem 结束
//myway="我的坐标是"&cstr(curx)&"."&cstr(cury)
//SayExpression myway
// Delay 100
// KeyPress 13 1
EndIf
Return 读取坐标