Что нового

StrokeSelect Модуль

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
StrokeSelect v0.1
Код:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;
;; StrokeSelect Модуль v0.1 Модуль для работы со вторым уровнем меню
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;
;; Применение:
;; Само тело функции расместить в любой удобной части скрипта.
;; Использовать ссылку на функцию из любой части скрипта, для инизиализации работы со вторым уровнем меню.
;; Зависимость: ЕСТЬ
;; Данный модуль зависит от ТТ и CS модулей. Для его использования необходимо включить эти модули в тело скрипта.
;; Точные названия модулей: Func TT($Text); Func CS($Time).
;; Описание:
;; Дочерний модуль функции OpenMenu
;; Принцип работы:
;; Получает и обрабатывает запросы из функции OpenMenu
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;
Func StrokeSelect($Stroke,$MenuX, $MenuY, $Type, $Run)
    CS($WaitTime)
    Select
        Case $Stroke = 1
            TT("Выделяю " &$Stroke& "-ю строку")
            MouseMove($StrokeX, $StrokeY, $MouseSpeed)
            CS($WaitTime)
            MouseClick("left",$StrokeX, $StrokeY, 1, $MouseSpeed)
        Case $Stroke > 1
            TT("Выделяю " &$Stroke& "-ю строку")
            MouseMove($StrokeX, $StrokeY2, $MouseSpeed)
            CS($WaitTime)
            MouseClick("left",$StrokeX, $StrokeY2, 1, $MouseSpeed)
    EndSelect
    Select
        Case $Type = 1
            MouseMove($StrokeX2, $StrokeY2, $MouseSpeed)
        Case Else
    ;
    EndSelect
EndFunc
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;
 
Автор
Belfigor

Belfigor

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

Видимо удалены ибо отпала в них надобность, замени CS и TT Sleepом и ToolTipoом
 

McSkull

Знающий
Сообщения
66
Репутация
6
Belfigor сказал(а):
Ну например можешь проверить сколько строк в выпавшем меню и принять решение исходя из этого :smile:
Так и не понял как можно посчитать сторки... :(

Ведь этот скрипт сам не считает количество строк во 2-м уровне меню...

Если я правильно понял то в этом куске кода имеется в виду, что для каждой строки нужно прописать:
Case $Stroke = 2
.......................
Case $Stroke = N


Код:
Case $Stroke > 1
            TT("Выделяю " &$Stroke& "-ю строку")
            MouseMove($StrokeX, $StrokeY2, $MouseSpeed)
            CS($WaitTime)
            MouseClick("left",$StrokeX, $StrokeY2, 1, $MouseSpeed)
 
Автор
Belfigor

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
Этот модуль сам по себе ничего не представляет а лишь обрабатывает информацию полученную из Опен меню, опенменю же в свою очередь лишь указывает какую строку где открыть, но этот вид опенменю уже устарел, хотя для изучения и подходит но все же даже я уже с трудом помню как оно работает :smile:
 

McSkull

Знающий
Сообщения
66
Репутация
6
:smile:
Ну как он работает я вреди бы разобрался.

Сразу запрашивается функция которая открывает Меню или Овервив и выбирает нужную строку.
OpenMenu($Stroke, $MenuX, $MenuY, $Type, $Run)
Потом запрашивается функция которая выбирает строку во втором уровне меню.
StrokeSelect($Stroke,$MenuX, $MenuY, $Type, $Run)

По моему правильно понял... (то есть строка на которую нужно кликнуть описывается в 2-х строчках кода).
У меня все намного топорнее сейчас...

Код:
; Варп на Белт
Func WarpBelt1()
MouseClick("left", 55, 73)
MouseMove(120, 225, 100)
MouseClick("left", 300, 225, 1, 100)
EndFunc

;Варп на станцыю
Func WarpStantion()
MouseClick("left", 55, 73)
MouseMove(120, 177, 100)
MouseMove(290, 177, 100)
MouseClick("left", 290, 227, 1, 60)
DokTest()
EndFunc
 
Автор
Belfigor

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
нет, строк селект используется самим опенменю внутри функции.
Пример работы со строками описан в самом опен меню модуле.
 
Верх