ColorCompare=ColorDifferentValue
End If
Else
ColorCompare=0
End If
End Function
'
'09-05-29 修正怪物屏幕座标
'重设战斗中怪物屏幕位置
Function XMonsterPosArray(ByVal XPos, ByVal YPos)
Dim RelX
Dim RelY
Dim XYi
Dim XList
Dim YList
If Not(IsNumeric(XPos)) or Not(IsNumeric(YPos)) then
XMonsterPosArray=Array(0,0,-1)
Exit Function
End If
RelX=0
RelY=0
XYi=0
XList=Array(375,310,253,196,139,456,391,334,277,220)
YList=Array(296,350,408,465,522,334,388,446,503,560)
While(XYi<10 and RelY=0)
If Abs(XPos-XList(XYi))<6 then
RelX=XList(XYi)
RelY=YList(XYi)
End If
XYi=XYi+1
Wend
If RelY>0 then
XMonsterPosArray=Array(RelX,RelY,Abs(XPos-RelX))
Else
XMonsterPosArray=Array(XPos,YPos,-1)
End If
End Function
'
VBSEnd
Return
//=====================VBS===========================
//
Sub 等待设定之类似颜色出现
//需要以上自定义ColorCompare函数
//使用设定数组SetWaitColor=Array(颜色,最大等待时间ms,座标x,座标y,应设为0(返回剩余时间))
SetWaitColor(0)=UCase(SetWaitColor(0))
If IsNumeric(SetWaitColor(1)) and IsNumeric(SetWaitColor(2)) and IsNumeric(SetWaitColor(3))
If SetWaitColor(2)>0 and SetWaitColor(3)>0
While (SetWaitColor(1)>0 and (ColorCompare(GetPixelColor(SetWaitColor(2),SetWaitColor(3)),SetWaitColor(0),15))<=0)
Delay 500
SetWaitColor(1)=SetWaitColor(1)-500
EndWhile
If SetWaitColor(1)>0
SetWaitColor(4)=SetWaitColor(1)
EndIf
EndIf
EndIf
Return
Sub 识别10号宋体字
Plugin FontVal = DBSoft.OCR(0,SetFontx,SetFonty,SetFontx+SetFontCount*6+1,SetFonty+9,2,1,"SongTi_11_B.DLL",1,1,"ffffff",0,30,"")
//MessageBox FontVal
Return
Sub 检查是否要输入防外挂验证
FontAddArr=Array(0,0)
If (ColorCompare(GetPixelColor(569,373),"b9c4ff",15) and ColorCompare(GetPixelColor(498,434),"686a2d",15))
//需要输入验证
FontVal = 0
SetFontx=484
SetFonty=398
SetFontCount=4
Gosub 识别10号宋体字
If (Len(FontVal)=3)
FontAddArr=Split(FontVal,"+")
FontAddArr(0)=CInt(FontAddArr(0))
FontAddArr(1)=CInt(FontAddArr(1))
If (IsNumeric(FontAddArr(0)) and IsNumeric(FontAddArr(1)))
//成功识别字符
VInputValue=FontAddArr(0)+FontAddArr(1)
MoveTo 460,430
LeftClick 1
Delay 500
KeyPress 8,1
Delay 100
KeyPress 8,1
SayString VInputValue
Delay 500
MoveTo 471,459
LeftClick 1
Delay 500
EndIf
EndIf
EndIf
Return
Sub DEBUGKEY
If LastDebugKey<=0
GetLastKey LastDebugKey
Else
LastDebugKey=0
EndIf
Return