Что нового

SelectedItem Модуль

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
SelectedItem Change Log:
v1.4 - 17.05.2009 [Link]
- Добавлены демонстрационные функции для проверки работы кнопок и дистанции, _SIButtonTest() и _CheckDIstanceTest().
- Подправлена логика функции _CheckDistance().
- Добавлена пояснительная информация о принципе работы _CheckDistance().
v1.3
- Изменения, хронология и сорц - потеряны
v0.2 - 27.03.2009 [Link]:
- Тотальная переработка модуля. Изменено название на форуме с SIButton на SelectedItem
- Добавлена возможность проверки расстояния до цели. >1км, >10км, <10км. Проверка работает при расстоянии от 0 до 99км
v0.1 - 15.02.2009 [Link]:
- Альфа релиз модуля

checkdistanceinfotabfin.jpg
 
Автор
B

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
Re: SelectedItem

SIButton v0.1
Код:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Selected Item Button Модуль v0.1 Модуль для работы с 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 меню.
Func SIButton($Button)
    $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
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
Автор
B

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
Re: SelectedItem

SelectedItem v0.2
Код:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Selected Item Модуль v0.2 Модуль для работы с 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 меню.
; _CheckDistance
$WinPos[0] = 0
$WinPos[1] = 0
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
Func SIButton($Button)
    $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 TestLoop()
    _CheckDistance()
    Select
        Case 285
            ToolTip("<10km",0,0)
        Case 286
            ToolTip(">10km",0,0)
        Case 287
            ToolTip("<1km",0,0)
    EndSelect
EndFunc
 
Func _CheckDistance()
    PixelSearch($10DistanceCheckXLoc, $10DistanceCheckYLoc, $10DistanceCheckXLoc+4, $10DistanceCheckYLoc+5, $DistanceCheckColor, $DistanceCheckShade)
    If Not @error Then ; 10km check
        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
        EndIf
    EndIf
EndFunc ;==> _CheckDistance
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
Автор
B

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
Re: SelectedItem

_SelectedItem v1.4
Код:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; 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
 
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
Автор
B

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
В связи с работой над http://autoit-script.ru/index.php?topic=1918.msg13859;topicseen#new , был обновлен этот модуль и приведен к текущим стандартам
 
Верх