MapPlaceDictionary.Add "曙光平原", Array("精灵城", "流火学院", "磐地学院")
MapPlaceDictionary.Add "流火学院", Array("曙光平原")
MapPlaceDictionary.Add "磐地学院", Array("曙光平原")
MapPlaceDictionary.Add "沉睡森林", Array("精灵城", "云麓山脉")
MapPlaceDictionary.Add "云麓山脉", Array("沉睡森林", "守护之地")
MapPlaceDictionary.Add "守护之地", Array("云麓山脉", "古城遗迹")
MapPlaceDictionary.Add "古城遗迹", Array("守护之地")
'//
Function WayToPlace(ByVal PlaceSource, ByVal PlaceDes, ByVal BackWayPlace)
Dim ArrayOfPath, PlaceCount, Pla0ceArrayOfWayTo,ReachPlace
Dim lpa, PlaceWayTo
If MapPlaceDictionary.Exists(PlaceSource) Then
PlaceArrayOfWayTo = MapPlaceDictionary.Item(PlaceSource)
'//MsgBox PlaceArrayOfWayTo(0),0,UBound(PlaceArrayOfWayTo)
Else
Exit Function
End If
lpa=0
PlaceCount = 0
ReachPlace = False
If PlaceSource = PlaceDes Then
ReachPlace = True
End If
While lpa<=UBound(PlaceArrayOfWayTo) And Not(ReachPlace)
If PlaceArrayOfWayTo(lpa)<>BackWayPlace Then
ArrayOfPath = WayToPlace(PlaceArrayOfWayTo(lpa), PlaceDes, PlaceSource)
End If
If Not(IsEmpty(ArrayOfPath)) Then
ReachPlace = True
End If
lpa=lpa+1
Wend
If ReachPlace Then
If IsEmpty(ArrayOfPath) Then
WayToPlace = Array(PlaceSource)
Else
WayToPlace = JoinArray(Array(PlaceSource),ArrayOfPath)
End If
End If
End Function
'//
Function JoinArray(ByVal Array1, ByVal Array2)
Dim NewArrUbound, NewArr()
If IsArray(Array1) And IsArray(Array2) Then
NewArrUbound = UBound(Array1)+UBound(Array2)+1
ReDim NewArr(NewArrUbound)
For li=0 To NewArrUbound Step 1
If li<=UBound(Array1) Then
NewArr(li) = Array1(li)
Else
NewArr(li) = Array2(li-UBound(Array1)-1)
End If
Next
JoinArray = NewArr
Else
End If
Erase NewArr
End Function
VBSEnd
Return
//---------------------------------------------------------------
//
//---------------------------------------------------------------
Sub 移动到下一个地图
Dim CurPlace, LastColorRec, MvColorRec, Tmpli, Tmplj, TmpP, EdgArr
CurPlace = place
LastColorRec = ""
MvColorRec = ""
Tmpli = 0
Tmplj = 0
TmpP = 0
EdgArr = Array(0,0)
If GoPlaceTimeArr(2)>180000
//以下操作3分钟仍没到下个地图.重置计时,重走路点.
GoPlaceTimeArr(2)=0
EndIf
//当战斗时退出循环...
While fighting<=0 And CurPlace<>GToPlace And ColorCompare(GetPixelColor(623,151),"C6CBFF",15) And GoPlaceTimeArr(2)<180000
//If fighting<=0 And CurPlace<>GToPlace And ColorCompare(GetPixelColor(623,151),"C6CBFF",15) And GoPlaceTimeArr(2)<180000
Plugin GoPlaceTimeArr(0) = GetSysInfo.GetTime()
//
//检查角色是否正在移动
MvColorRec = GetPixelColor(496,698) & GetPixelColor(939,698)
If LastColorRec=MvColorRec
LastColorRec = MvColorRec
//静止移动时操作移动
//
//按照有效移动时间计算当前路点
Tmplj = 0
TmpP = 0
RndAng = 6.2831853*Rnd
While Tmplj<UBound(lRoadPointArr)
If lRoadPointArr(TmpP)<=GoPlaceTimeArr(2)
TmpP = Tmplj
EndIf
Tmplj = Tmplj+3
EndWhile
//
//点击小地图上的每一个路点
MoveTo lRoadPointArr(TmpP+1),lRoadPointArr(TmpP+2)