Plugin WinTop=Window.Foreground()
Plugin RectTop=Window.GetClientRect(WinTop)
TempArray=Split(RectTop,"|")
x1=CInt(TempArray(0)):y1=CInt(TempArray(1))
x=700:y=200
//移动距离
stepx=40
//精确度
accuracy=3
Rem start
a1=x1:b1=y1:a2=x1:b2=y1:a3=x1:b3=y1
Delay 20
//点到NPC身上鼠标型状
Rem 标2
If a2=-1 and b2=-1
Goto 标3
EndIf
VBSCall FindColor(a2+1,b2,800+x1,600+y1,"f0dc48",a2,b2)
IfColor a2+1,b2,f0dc48,0
gx=a2:gy=b2
Else
Goto 标2
EndIf
Goto 计算
//点到宝箱上鼠标型状
Rem 标3
If a3=-1 and b3=-1
Goto 标1
EndIf
VBSCall FindColor(a3+1,b3,800+x1,600+y1,"b88018",a3,b3)
IfColor a3+1,b3,b88018,0
gx=a3:gy=b3
Else
Goto 标3
EndIf
Goto 计算
//正常鼠标型状
Rem 标1
If a1=-1 and b1=-1
Goto start
EndIf
VBSCall FindColor(a1+1,b1,800+x1,600+y1,"98f8f0",a1,b1)
IfColor a1+1,b1,98f8f0,0
IfColor a1+2,b1,a8f8f0,0
gx=a1:gy=b1
Else
Goto 标1
EndIf
Else
Goto 标1
EndIf
Delay 8
Rem 计算
//得到目标坐标与当前鼠标的差值
tpx=x-gx
tpy=y-gy
//得到目标坐标与当前鼠标的差值(绝对值)
tpax=Abs(x-gx)
tpay=Abs(y-gy)
//算出X坐标的差值除以移动距离的等份
dengfen=tpax/stepx
//算出X坐标的差值每等份的值
ydengfenzhi=tpay/dengfen
If ydengfenzhi>100
ydengfenzhi=100
EndIf
//当X或Y的差值大于20作相对移动
If tpax>20 or tpay>20
If tpx>stepx
tpx=stepx
EndIf
If tpx<-stepx
tpx=-stepx
EndIf
//以X的差值等份值算出Y移动距离作相对移动
If tpy>ydengfenzhi
tpy=ydengfenzhi
EndIf
If tpy<-ydengfenzhi
tpy=-ydengfenzhi
EndIf
MoveR tpx,tpy
Delay 50
Goto start
EndIf
//差值小于精度值就直接结束子程序.不作处理
If tpax<=accuracy and tpay<=accuracy
//差值较小时.作相对微移
Else
If tpx>1
tpx=1
EndIf
If tpx<-1
tpx=-1
EndIf
If tpy>1
tpy=1
EndIf
If tpy<-1
tpy=-1