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