Что нового

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
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;
 
Автор
B

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)
 
Автор
B

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
 
Автор
B

Belfigor

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