;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Selected Item Модуль v1.4 Модуль для работы с Selected Item menu
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Применение:
;; $SIx и $SIy разместить в начале скрипта и указать координаты верхнего левого угла меню. При стандартных настройках высота окна 93, ширина 253 пикселя.
;; Само тело функции расместить в любой удобной части скрипта.
;; Использовать ссылку на функцию из любой части скрипта, чтобы нажать на необходимую кнопку в Selected Item.
;; Модуль поддерживает с 1-й по седьмую кнопку по горизонтали при стандартных при стандартных настройках интерфейса.
;; Зависимость: НЕТ
;; Описание:
;; Selected Item Модуль - это независмый модуль не требующий для своей работы каких либо других модулей.
;; SIButton(1) - Ссылка на функци. Позволяет нажать на первую кнопку в Selected Item окне.
;; ...
;; SIButton(7) - Ссылка на функци. Позволяет нажать на седьмую кнопку в Selected Item окне.
;; $SIx = 236 ;;Selected Item Окно. Х координата левого верхнего угла.
;; $SIy = 66 ;;Selected Item Окно. Y координата вергнего левого угла.
;; Принцип работы:
;; Исходя из полученной команды инициализирует нажатие на заданную кнопку SI меню.
Opt("MustDeclareVars", 1)
Dim $WinPos = WinGetPos("EVE")
Dim $SIX = $WinPos[0] + 756
Dim $SIY = $WinPos[1] + 39
Dim $10DistanceCheckXLoc = 874, $10DistanceCheckYLoc =76, $DistanceCheckColor = 0x8A8A8A, $DistanceCheckShade = 10, $ShipMaxSpeed = 647
Dim $1KDistanceCheckXLoc = $SIX + 105, $1DistanceCheckYLoc = $SIY + 37, $1MDistanceCheckXLoc = $SIX + 110;К проверка ширина - 3, М проверка - ширина - 4
;~ _SIButtonTest()
;~ _CheckDistanceTest()
Func _SIButtonTest()
_SIButton(1)
_SIButton(2)
_SIButton(3)
_SIButton(4)
_SIButton(5)
_SIButton(6)
_SIButton(7)
EndFunc ;==> _SIButtonTest()
Func _CheckDistanceTest()
While 1
Select
Case _CheckDistance() = 285
ToolTip("<10km",0,0)
Case _CheckDistance() = 286
ToolTip(">10km",0,0)
Case _CheckDistance() = 287
ToolTip("<1km",0,0)
Case Else
;~ MsgBox(1, "Error.", "Name: Selected Item Модуль" & @CRLF & "Case: Расстояние не определено.")
EndSelect
WEnd
EndFunc ;==> _CheckDistanceTest
Func _SIButton($Button)
Dim $Button1X = $SIx + 19, $Button1Y = $SIy + 72, $Button2X = $Button1X + 25, $Button2Y = $Button1Y, $Button3X = $Button2X + 25, $Button3Y = $Button2Y, $Button4X = $Button3X + 25, $Button4Y = $Button3Y, $Button5X = $Button4X + 25, $Button5Y = $Button4Y, $Button6X = $Button5X + 25, $Button6Y = $Button5Y, $Button7X = $Button6X + 25, $Button7Y = $Button6Y
Select
Case $Button = 1
MouseClick("left", $Button1X, $Button1Y, 1, 10)
Case $Button = 2
MouseClick("left", $Button2X, $Button2Y, 1, 10)
Case $Button = 3
MouseClick("left", $Button3X, $Button3Y, 1, 10)
Case $Button = 4
MouseClick("left", $Button4X, $Button4Y, 1, 10)
Case $Button = 5
MouseClick("left", $Button5X, $Button5Y, 1, 10)
Case $Button = 6
MouseClick("left", $Button6X, $Button6Y, 1, 10)
Case $Button = 7
MouseClick("left", $Button7X, $Button7Y, 1, 10)
EndSelect
EndFunc ;==>SIButton
Func _CheckDistance()
PixelSearch($10DistanceCheckXLoc, $10DistanceCheckYLoc, $10DistanceCheckXLoc+4, $10DistanceCheckYLoc+5, $DistanceCheckColor, $DistanceCheckShade)
If Not @error Then
Return 285 ;<10km
Else
PixelSearch($1MDistanceCheckXLoc+2, $1DistanceCheckYLoc, $1MDistanceCheckXLoc+4, $1DistanceCheckYLoc+5, $DistanceCheckColor, $DistanceCheckShade)
If Not @error Then
PixelSearch($1KDistanceCheckXLoc, $1DistanceCheckYLoc, $1KDistanceCheckXLoc+3, $1DistanceCheckYLoc+5, $DistanceCheckColor, $DistanceCheckShade)
If Not @error Then
Return 286 ;>10km
Else
Return 287;<1km
EndIf
Else
PixelSearch($1KDistanceCheckXLoc, $1DistanceCheckYLoc, $1KDistanceCheckXLoc+3, $1DistanceCheckYLoc+5, $DistanceCheckColor, $DistanceCheckShade)
If Not @error Then
Return 287;<1km
EndIf
EndIf
EndIf
Return 287;<1km
EndFunc ;==> _CheckDistance
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;