Здравствуйте, гость ( Вход | Регистрация )

3 страниц V  1 2 3 >  
Ответить в эту темуОткрыть новую тему
> Pilot mod pack. Расширение функционала
DarkMaster
сообщение 26.7.2024, 18:34
Сообщение #1


***********

Модератор UOPilot
Сообщений: 9.746
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 29724
Пользователь №: 11.279



Пак функций переписанных на чистом luajit с существенным расширением функционала.
Планируется к дальнейшему расширению и включению в пилот по умолчанию. Можно счтиать бета версией. Крайне желательно получить фидбеки по функционалу, ошибкам и т.д.

По поводу мышки и клавиатуры. Для работы с неактивным окном рекомендуется post. Для работы с активным окном input.

Для использования выпонить:
Код
require"lua_system\\init"

Краткий список функций. Подробнее в readme.txt
Системные. Массив sys.
Код
    define            - безопасно объявить через cdef
    geterr            - получить последнюю ошибку
    indexof           - получить индекс элемента в массиве
    inpairs_sorted    - итератор аналогичный in pairs(), но в афаитном порядке
    ispilot           - яляется ли среда пилотом
    lg                - вывести содержимое в лог (в т.ч. таблицы)
    random_g          - случайное число с распределением по гауссу
    registryread      - прочитать ключ реестра
    utf16_to_ascii    - преобразовать UTF-16 в ASCII
    utf16_to_file     - записать UTF-16 в файл
    utf8_to_ascii     - преобразовать UTF-8 в ASCII
    utf8_to_utf16     - преобразовать UTF-8 в UTF-16
Процессы. Массив proc.
Код
    cd                - получить/установить текущую директорию
    getenvironment    - получить текущие переменные окружения
    exec              - запустить исполняемый файл
    execandwait       - запустить исполняемый файл и ждать выполнения
    execpipe          - запустить исполняемый файл и открыть пайпы
    exepath           - путь к исполняемому файлу
    setaffinity       - назначить ядра процессу
    setpriority       - установить приоритет процеса
    terminate         - уничтожить окно
Окна. Массив wnd.
Код
    findwindow        - найти окно
    getcontroltext    - получить текст контрола (кнопки)
    getfocus          - получить хэндл окна с фокусом клавиатуры
    getforeground     - получить активное окно
    getwindow         - получить окно относительно другого
    getwindowclass    - получить класс окна
    getwindowtext     - получить имя окна
    isvisible         - является ли окно невидимым
    postmessage       - отправить post сообщение окну
    sendmessage       - отправить send сообщение окну
    setcontroltext    - задать текст контрола (кнопки)
    setwindowtext     - задать имя окна
    showwindow        - показать/свернуть/развернуть/скрыть окно
    tohandle          - преобразовать число в хэндл
    windowfromcursor  - хэндл окна под курсором
    windowfrompoint   - хэндл окна в точке
    windowinfo        - получить информацию об окне
    windowpid         - получить PID окна
    windowpos         - получить позицию окна
    workwindow        - назначить рабочим окном
Мышь. Массив mouse.
Код
    mousepos          - получить текущие координаты мыши

    Методы кликов мышкой:
    post
    send
    event
    input

    Каждый из методов имеет следующие функции:

    move              - переместить мышь

    left              - кликнуть левой кнопкой
    left_double       - двойной клик левой кнопкой
    left_down         - нажать левую кнопку
    left_up           - отпустить левую кнопку

    right             - кликнуть правой кнопкой
    right_double      - двойной клик правой кнопкой
    right_down        - нажать правую кнопку
    right_up          - отпустить правую кнопку

    middle            - кликнуть средней кнопкой
    middle_double     - двойной клик средней кнопкой
    middle_down       - нажать среднюю кнопку
    middle_up         - отпустить средню кнопку

    m4                - кликнуть mouse4 кнопкой
    m4_double         - двойной клик mouse4 кнопкой
    m4_down           - нажать mouse4 кнопку
    m4_up             - отпустить mouse4 кнопку

    m5                - кликнуть mouse5 кнопкой
    m5_double         - двойной клик mouse5 кнопкой
    m5_down           - нажать mouse5 кнопку
    m5_up             - отпустить mouse5 кнопку

    wheel_down        - переместить колесо вниз
    wheel_up          - переместить колесо вверх
    wheel_left        - переместить колесо влево
    wheel_right       - переместить колесо вправо

    Методы имеют следующие опции:
    move_before_click - переместить мышь в точку клика
    move_after_click  - вернуть мышь после клика
    move_func         - функция перемещения мыши
    move_split        - разделять перемещение и клик (только input и event)
    timeout_inner     - задержка межу down и up
    timeout_outer     - задержка между up и down (не блокирующая)
    timeout_move      - задержка межу move и down
    mod_inner         - использовать флаг зажатия ctrl/shift вместо зажатия (только send и post)
    clock_up          - время последнего клика
Клавиатура. Массив kbd.
Код

    getlayout         - получить текущую раскладку клавиатуры
    getlayoutlist     - получить список доступных раскладок
    keystate          - получить состояние клавиши
    keystateasync     - получить состояние клавиши асинхронно.
    setlayout         - установить раскладку клавиатуры


    Методы отправки нажатий клавиатуры:
    send
    post
    event
    input

    Каждый из методов имеет следующие функции:
    key  - нажать и отпустить клавишу
    text - отправить текст
    down - нажать клавишу
    up   - отпустить клавишу
Время. Массив time.
Код

    clock_hp            - таймер с высоким разрешением
    clock_hp_int64      - таймер с высоким разрешением результат в int64
    clock_hp_resolution - количество тиков таймера с высоким разрешением в секунду
    clock_hp_result[0]  - результат выполнения clock_hp_int64()
    day                 - текущий день
    hour                - текущий час
    min                 - текущая минута
    month               - текущий месяц
    sec                 - текущая секунда
    sleep               - приостановить программу
    sleep_hp            - приостановить программу с высокой точностью
    sleep_random        - случайная пауза
    sleep_random_g      - случайная пауза с распределением по гауссу
    timer               - создать объект-таймер
    timestamp           - строковый таймштамп
    weekday             - текущий день недели
    year                - текущий год


Сообщение отредактировал DarkMaster - 7.3.2025, 18:45


Прикрепленные файлы
Прикрепленный файл  lua_system_3.0.0b.zip ( 264,66 килобайт ) Кол-во скачиваний: 258
Прикрепленный файл  lua_system_3.0.1b.zip ( 271,92 килобайт ) Кол-во скачиваний: 273
Прикрепленный файл  lua_system_3.0.2b.zip ( 306 килобайт ) Кол-во скачиваний: 216
Прикрепленный файл  lua_system_3.0.3b.zip ( 315,64 килобайт ) Кол-во скачиваний: 191
Прикрепленный файл  lua_system_3.0.4b.zip ( 302,32 килобайт ) Кол-во скачиваний: 121


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 30.7.2024, 11:51
Сообщение #2


***********

Модератор UOPilot
Сообщений: 9.746
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 29724
Пользователь №: 11.279



reserved

Сообщение отредактировал DarkMaster - 30.7.2024, 12:08


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 30.7.2024, 12:08
Сообщение #3


***********

Модератор UOPilot
Сообщений: 9.746
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 29724
Пользователь №: 11.279



Господа, я понимаю время, все такое. Но кто-нибудь хоть открывал? Ловите момент пока у меня есть время и возможность писать на общественных началах (IMG:style_emoticons/default/smile.gif)
Из того, что было мной обнаружено и пофикшено:
Добавлены функции кликов в event и input:
left_double
right_double
middle_double
m4_double
m5_double

Исправления readme:
вместо setcontroltext был getcontroltext
вместо setaffinity был setpriority
исправлена куча опечаток.

Убрано двое экранирование в require'ах.

Есть ли какие-то пожелания по функционалу? Рекомендации? Замечания? Баги?

Сообщение отредактировал DarkMaster - 30.7.2024, 18:37


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Madeus
сообщение 30.7.2024, 14:52
Сообщение #4


*****

Journeyman
Сообщений: 318
Регистрация: 19.11.2019
Группа: Пользователи
Наличность: 11023
Пользователь №: 19.451
Возраст: 32



В отпуске буду скоро потыкаю пока нет времени к сожалению, но я скачал, посмотрел, работа огромная проделана, спасибо!
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
nykep
сообщение 31.7.2024, 4:13
Сообщение #5


****

Apprentice
Сообщений: 261
Регистрация: 1.9.2012
Группа: Пользователи
Наличность: 1789
Пользователь №: 15.246
Возраст: 25



как это использовать, где выполнить require"lua_system\\init", как использовать методы, ничего не понятно. Если б мы знали что это такое, но мы не знаем что это такое (IMG:style_emoticons/default/smile.gif). Мне кажется тут по пальцам одной руки можно пересчитать тех кто понимает. Эти файлы я в папку с пилотом засунул, это хотя бы правильно сделал?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 31.7.2024, 9:48
Сообщение #6


***********

Модератор UOPilot
Сообщений: 9.746
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 29724
Пользователь №: 11.279



Так а кто спросить то не дает?)
Закидываем папку lua_system рядом с exe пилота.
в скрипте пишем:
Код
--lua
require"lua_system\\init"

-- ну и понеслася
kbd.intput.key("a")
wnd.workwindow("путь к exe")
mouse.post(100, 200, "ctrl")


В дальнейшем планируется все выкинуть в глобал. Ну т.е. не надо бдует писать wnd.workwindow, sys.sleep и т.д, а просто workwindow, sleep, findwindow и т.д. На данный момент просто нет полноценного понимания, что делать с эмуляциями, т.к. там по 4 метода и в каждом функции имеют одинаковое имя. Делать вские sleft, pleft, eleft, ileft мне кажется не очень хорошей идеей, поэтому пока не развернул в глобал. Если есть идеи, как сделать красиво - буду рад.

Сообщение отредактировал DarkMaster - 1.8.2024, 9:23


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
nykep
сообщение 1.8.2024, 0:43
Сообщение #7


****

Apprentice
Сообщений: 261
Регистрация: 1.9.2012
Группа: Пользователи
Наличность: 1789
Пользователь №: 15.246
Возраст: 25



Кажется я упускаю что-то важное, строка require"lua_system\\init" больше не выдает ошибку, а вот дальше дело не идет.
Код
--lua
require"lua_system\\init"
wnd.workwindow("Блокнот")

такой скрипт выдает
(IMG:https://i.ibb.co/G2h4Rws/err.png)

Можно пример полного скрипта, который отправляет писульку и кликает правой кнопкой в блокнот методом post?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 1.8.2024, 9:22
Сообщение #8


***********

Модератор UOPilot
Сообщений: 9.746
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 29724
Пользователь №: 11.279



Вот поэтому мне и нужны другие люди. Потому, что тестишь по накатанной, а шаг в сторону и вот оно.
Во 1. В wnd.findwindow первым параметром идет ПУТЬ а не имя окна, отсюда проблема певая. Я использовал во время разработки в основном to_handle, отсюда проблемки. Т.е. в данном случае:
Код
wnd.workwindow(nil, "Блокнот")


Во 2 криво добавил обработчик ошибок уже после написания функции.

Огромное спасибо.
Ща прилеплю апдейт.

Код
--lua
require"lua_system\\init"

-- ну и понеслася
kbd.input.key("a")
wnd.workwindow("путь к exe")
--wnd.workwindow(nil, "имя окна") -- или так
mouse.post.left(100, 200, "ctrl")

// Небольшая просьба. Пишите из чего запускаете. Пилот или zerobrane.

Сообщение отредактировал DarkMaster - 1.8.2024, 16:31


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 1.8.2024, 9:33
Сообщение #9


***********

Модератор UOPilot
Сообщений: 9.746
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 29724
Пользователь №: 11.279



Код
3.0.1b
Добавлены функции кликов в event и input:
    left_double
    right_double
    middle_double
    m4_double
    m5_double

time модуль
    создан time.lua
    sys.sleep переехал в time.sleep
    time.sleep модифицирован:
    Реальное минимальное время задержки 1/1000 секунды.
    созданы функции:
        time.clock_hp
        time.clock_hp_resolution
        time.clock_hp_int64
        time.day
        time.hour
        time.min
        time.month
        time.sec
        time.sleep
        time.sleep_hp
        time.timestamp
        time.weekday
        time.year

sys модуль
    созданы функции:
        sys.workdirectory
    utf8_to_utf16 и utf16_to_ascii, utf8_to_utf16
    исправлены проблемы со строкой нулевой длины,
    добвлена обработка nil вместо строки.

wnd модуль
    исправлен workwindow (обработка ошибок уничтожала результат)

Исправления readme:
    вместо setcontroltext был getcontroltext
    вместо setaffinity был setpriority
    исправлена куча опечаток.

Убрано двойное экранирование в require'ах.


Сообщение отредактировал DarkMaster - 1.8.2024, 9:34


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
nykep
сообщение 1.8.2024, 15:36
Сообщение #10


****

Apprentice
Сообщений: 261
Регистрация: 1.9.2012
Группа: Пользователи
Наличность: 1789
Пользователь №: 15.246
Возраст: 25



wnd.workwindow(nil, "Блокнот") ошибку не выдает, а остальное вот:
(IMG:https://i.ibb.co/sV7KL0X/err1.png)

И вопрос почему сперва идет ввод ("a"), а только потом workwindow и зачем в мышке ctrl? Разве не надо писать left, right и т д?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 1.8.2024, 16:32
Сообщение #11


***********

Модератор UOPilot
Сообщений: 9.746
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 29724
Пользователь №: 11.279



Цитата
И вопрос почему сперва идет ввод ("a")

Это просто пример.
по workwindow. В lua все \ необходимо удваивать. Экранирование это \\. Либо использовать [[текст содеражищий \ без необходимости удвоения \\]]
Две следующие ошибки... Не выспался я походу... тупо опечатки. Поправил пример.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
nykep
сообщение 1.8.2024, 17:58
Сообщение #12


****

Apprentice
Сообщений: 261
Регистрация: 1.9.2012
Группа: Пользователи
Наличность: 1789
Пользователь №: 15.246
Возраст: 25



Код
--lua
require"lua_system\\init"
wnd.workwindow("C:\\Windows\\notepad.exe")
time.sleep (1000)
kbd.input.key("a")
time.sleep (1000)
mouse.post.left(10, 9, "ctrl")


ввод буквы работает, клик ничего не делает ни левой ни правой. И все же что такое здесь "ctrl"? И как по-новому записывать move? Пробовал по-разному, все время ошибки. Должен ли работать kbd.post.key("a") ? И в активном и неактивном ничего не делает.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 1.8.2024, 20:12
Сообщение #13


***********

Модератор UOPilot
Сообщений: 9.746
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 29724
Пользователь №: 11.279



по методам. все:
send
post
event
input

должны работать, но не везде =) их использование абсолютно идентичное для пользователя. внутри там куча оберток чтобы синтаксис для пилота был одинаковый у каждого метода.
зависит от приложения. send очень капризный. отправляется в неактивное окно
post - относительно нормально должен отправлять, работает с неактивным окном.
event - в активное окно
input - в активное окно. Этот очень преспективный, приложения должны очень хорошо его воспринимать.
Цитата
И все же что такое здесь "ctrl"?

клик с зажатым ctrl тестил на total commander'е выделение файлов с ctrl.

Там в папочке есть файлик readme.txt - там все-все описания функций.

Сообщение отредактировал DarkMaster - 1.8.2024, 20:13


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
kyja
сообщение 1.8.2024, 23:46
Сообщение #14


***

Novice
Сообщений: 90
Регистрация: 29.10.2016
Группа: Пользователи
Наличность: 0
Пользователь №: 18.164



Цитата(DarkMaster @ 1.8.2024, 20:12) *

клик с зажатым ctrl тестил на total commander'е выделение файлов с ctrl.

Не то чтобы не очевидно но это в целом будет казаться странным поведением
то есть под капотом ведь там наверное идет эмуляция нажатия кнопки и потом клика и потом отпуск кнопки и отпуск клика

То есть условно в какой то игре которая считывает допустим скорость кликов / зажатия / отпусков кнопок это будет выглядеть крайне не естественно и соответственно больше шансов на бан и прочие
И вот вроде на такой безобидной вещи можно будет сильно палится ну это конечно все только для игр актуально

Из идей мне кажется очень часто спрашивали и в целом интересная функция это перемещение мыши не линейно из точки А в Б а более человеческое по кривой что мне кажется очень был популярный вопрос
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 2.8.2024, 0:05
Сообщение #15


***********

Модератор UOPilot
Сообщений: 9.746
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 29724
Пользователь №: 11.279



Цитата
то есть под капотом ведь там наверное идет эмуляция нажатия кнопки и потом клика и потом отпуск кнопки и отпуск клика

а вот и не всегда. если речь идет о post или send, то они умеют в рамках сообщения клика отсылать сообщение о том, что клик с модификатором (только shift и ctrl, для альт не работает). По дефолту пришлось отключить - приложения такие дебри winapi не оценили, в настройках метода можно включить обратно.
Цитата
То есть условно в какой то игре которая считывает допустим скорость кликов / зажатия / отпусков кнопок это будет выглядеть крайне не естественно и соответственно больше шансов на бан и прочие
И вот вроде на такой безобидной вещи можно будет сильно палится ну это конечно все только для игр актуально

я от части соглашусь, но тут есть много "но". не всегда бан страшен (по разным причинам), не всегда это игры, есть те же мыши с биндами, где так же прилетают с фиксированными задержками нажатия и отжатия. Хотя в целом - да, у меня есть желание сделать красивые рандомные таймеры для этого.

Цитата
И как по-новому записывать move?

Не заметил вопрос. Точно так же как и клики, например:
mouse.post.move(100, 200)
Обратите внимание, что указатель теперь не перемещается и move происходит исключительно для приложения. В paint'е вполне успешно рисует. В то же время:
mouse.input.move(100, 200)
приведет к явному изменению позиции указателя.

Т.е. move теперь тоже часть методов. Для него есть еще одна функция вне методов, чет забыл про нее и сомнения у меня в том, что она нужна, но руки дойдут сделаю. Не хочу с модуля на модуль туда-сюда прыгать. Важно текущее состояние чтобы хоть чуть-чуть было протестировано, зафиксируем, как стабильное (насколько это возможно), допил других модулей, тесты других, сбор в кучу и делаем апдейт пилота. План такой. Потом можно смело уходить на второй круг и добавлять функционал по уже сделанным модулям. Естественно этот принцип не абсолютный, в тот же sys и time уже сейчас внесены дополнения после 3.0.1b потому, что некоторые вещи тянут за собой необходимость реализации функций, которые гораздо уместнее поместить в тот же sys, чем делать локальными и недоступными пользователю.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 3.8.2024, 22:59
Сообщение #16


***********

Модератор UOPilot
Сообщений: 9.746
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 29724
Пользователь №: 11.279



Что-нибудь получилось?


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
nykep
сообщение 4.8.2024, 15:22
Сообщение #17


****

Apprentice
Сообщений: 261
Регистрация: 1.9.2012
Группа: Пользователи
Наличность: 1789
Пользователь №: 15.246
Возраст: 25



у меня move выдает ошибку и с post и с input, клики только с input, а с post клики ничего не делают, пробовал в блокноте и пэинте. А еще post не печатает в блокнот
(IMG:https://i.ibb.co/KNRkJ66/err1.png)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 4.8.2024, 16:50
Сообщение #18


***********

Модератор UOPilot
Сообщений: 9.746
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 29724
Пользователь №: 11.279



Цитата
post клики ничего не делают, пробовал в блокноте и пэинте.

странно. А привязка точно верно сделана? Там что в блокноте что в пэинте куча дочерних окон. Попробуй пилтом через ctrl+a дернуть хэндл и вызвать потом:
window = wnd.tohandle(циферки_хэндла)
mouse.post.left(100, 200)
У меня сейчас работает. В пэинте успешно ставит точки. Сделай кисть побольше на всякий случай(совет тупой, но мало ли).
В блокноте тоже работает.

Отправка клавиатуры в блокнот тоже шуршит, но пост не пошлет регистр. Точнее он шлет, но блокноту пофигу. send блокнот вообще не воспринимает. В пилотовском send'e там вообще зоопарк из комбинации методов был из-за чего иногда жаловлись, что идут двойные нажатия или двойной ввод текста. Там было что-то вроде:
send_down(буква)
say(буква)
send_up(буква)
Это криво, неправильно. Подобное поведение есть в input, но там сам метод совсем иначе это генерирует.

move ща копаю. видимо оторвал когда модификаторы прикручивал.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 4.8.2024, 17:35
Сообщение #19


***********

Модератор UOPilot
Сообщений: 9.746
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 29724
Пользователь №: 11.279



Залил 3.0.2b с фиксами. Там же из нового:
sleep_random - случайная пауза
sleep_random_g - случайная пауза с распределением по гауссу

inpairs_sorted - итератор аналогичный in pairs(), но в афаитном порядке
random_g - случайное число с распределением по гауссу


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
nykep
сообщение 5.8.2024, 17:55
Сообщение #20


****

Apprentice
Сообщений: 261
Регистрация: 1.9.2012
Группа: Пользователи
Наличность: 1789
Пользователь №: 15.246
Возраст: 25



с такой привязкой window = wnd.tohandle(132756) вроде все работает. Если же делать привязку с помощью wnd.workwindow("") или просто ctrl + a(наводил на чистый лист в блокноте и пэинте и получал хэндл тот при котором работает если привязать командой window = wnd.tohandle(132756)), тогда не работает, плюс mouse.input выдает одинаковую ошибку с кликами и перемещением
(IMG:https://i.ibb.co/xY4G9q6/err1.png)
Кстати у меня пилот 2.42, не помню где качал его, а на форуме тут последняя 2.41 почему то, какой лучше использовать?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

3 страниц V  1 2 3 >
Ответить в эту темуОткрыть новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 30.7.2025, 23:47
Designed by Nickostyle