按键精灵判断DNF人物位置源码
DNF这游戏,每次进图的时候,boos位置还有门口位置和障碍物每次可能都不一样.这让不少制作脚本的新手很苦恼,前段时间有人在按键精灵官方论坛分享了判断人在哪里和boss在哪里的脚本,这里就共享给大家。
思路大致如下:把副本的小地图分为横6纵9然后找色判断。
源码发出来就是:
Delay 3000
Plugin hwnd = Window.GetKeyFocusWnd()
Delay 50
Delay 100
Plugin Window.Move(hwnd,0,0)
Delay 300
Plugin XY = Color.FindMutiColor(509, 19, 634, 250, "FFCC11", "1|0|BB5500,0|3|EEDD00", 0.9)
MyArray = Split(XY, "|")
X = Clng(MyArray(0)): Y = Clng(MyArray(1))
y1=47
x1=627
n=1
//MessageBox x
//MessageBox y
For 9
x1=627
y2=y1+18
For 6
//MoveTo x1,y1
//Delay 500
//MessageBox 1
x2=x1-18
//MoveTo x2,y2
//MessageBox 2
//If 550<x and x<620 and 105<y and y<109
If x2<x and x<x1 and y1<y and y<y2
//MessageBox x2
//MessageBox y1
//MessageBox y2
Goto 查图end
MessageBox n
EndIf
x1=x1-18
n=n+1
EndFor
y1=y1+18
EndFor
Rem 查图end
MessageBox "人物="& n
y1=47
x1=627
m=1
Plugin XY = Color.FindMutiColor(509, 19, 634, 244, "33FF", "4|0|DDFF,10|0|55FF,1|3|55FF,4|3|55FF,8|3|55FF", 0.9) MyArray = Split(XY, "|")
X = Clng(MyArray(0)): Y = Clng(MyArray(1))
For 9
x1=627
y2=y1+18
For 6
//MoveTo x1,y1
//Delay 500
//MessageBox 1
x2=x1-18
//MoveTo x2,y2
//MessageBox 2
//If 550<x and x<620 and 105<y and y<109
If x2<x and x<x1 and y1<y and y<y2
//MessageBox x2
//MessageBox y1
//MessageBox y2
Goto 查图2end
MessageBox n
EndIf
x1=x1-18
m=m+1
EndFor
y1=y1+18
EndFor
Rem 查图2end
MessageBox "boss="& m
EndScript。