|
Pilot mod pack. Расширение функционала |
|
|
DarkMaster |
26.7.2024, 18:34
|
          
Модератор UOPilot
Сообщений: 9.764
Регистрация: 2.12.2008 Группа: Супермодераторы Наличность: 29942
Пользователь №: 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 килобайт )
Кол-во скачиваний: 418
lua_system_3.0.1b.zip ( 271,92 килобайт )
Кол-во скачиваний: 888
lua_system_3.0.2b.zip ( 306 килобайт )
Кол-во скачиваний: 1031
lua_system_3.0.3b.zip ( 315,64 килобайт )
Кол-во скачиваний: 388
lua_system_3.0.4b.zip ( 302,32 килобайт )
Кол-во скачиваний: 312
--------------------
Скрипты UOPilot под заказ. Консультации по UOpilot 15$/час. Услуги Lua разработчика (не пилот, проекты, постоянка) Disсоrd: Kov____
|
|
|
|
|
  |
Ответов
фонарик |
25.9.2024, 21:36
|
   
Apprentice
Сообщений: 162
Регистрация: 23.11.2011 Группа: Пользователи Наличность: 0
Пользователь №: 14.305

|
Цитата(DarkMaster @ 25.9.2024, 0:16)  Попробуйте открыть блокнот и выполнить мой код. Что выведет? Все то же что и у вас (IMG: style_emoticons/default/cool.gif) А вот если окошко игры искать по классу, то в handle будет пустота. Цитата(DarkMaster @ 25.9.2024, 0:16)  Так сказать надо было. Уже бы давно поправил. Так я там так и написал, с примером (IMG: style_emoticons/default/unsure.gif)
|
|
|
|
Сообщений в этой теме
DarkMaster Pilot mod pack. Расширение функционала 26.7.2024, 18:34 DarkMaster reserved 30.7.2024, 11:51 DarkMaster Господа, я понимаю время, все такое. Но кто-нибудь... 30.7.2024, 12:08 Madeus В отпуске буду скоро потыкаю пока нет времени к со... 30.7.2024, 14:52 nykep как это использовать, где выполнить require"l... 31.7.2024, 4:13 DarkMaster Так а кто спросить то не дает?)
Закидываем папку l... 31.7.2024, 9:48 nykep Кажется я упускаю что-то важное, строка require... 1.8.2024, 0:43 DarkMaster Вот поэтому мне и нужны другие люди. Потому, что т... 1.8.2024, 9:22 DarkMaster 3.0.1b
Добавлены функции кликов в event и input... 1.8.2024, 9:33 nykep wnd.workwindow(nil, "Блокнот") ошибку не... 1.8.2024, 15:36 DarkMaster
Это просто пример.
по workwindow. В lua все ... 1.8.2024, 16:32 nykep --lua
require"lua_system\\init"
... 1.8.2024, 17:58 DarkMaster по методам. все:
send
post
event
input
должны раб... 1.8.2024, 20:12 kyja
клик с зажатым ctrl тестил на total commander... 1.8.2024, 23:46 DarkMaster
а вот и не всегда. если речь идет о post или send... 2.8.2024, 0:05 DarkMaster Что-нибудь получилось? 3.8.2024, 22:59 nykep у меня move выдает ошибку и с post и с input, клик... 4.8.2024, 15:22 DarkMaster
странно. А привязка точно верно сделана? Там что ... 4.8.2024, 16:50 DarkMaster Залил 3.0.2b с фиксами. Там же из нового:
sleep_r... 4.8.2024, 17:35 nykep с такой привязкой window = wnd.tohandle(132756) вр... 5.8.2024, 17:55 DarkMaster
он найдет основное окно. там же нужно отправлять ... 5.8.2024, 18:31 nykep Короче говоря window = wnd.tohandle(132756) привяз... 6.8.2024, 2:04 DarkMaster
первые два и не должны ибо там нужно привязывать ... 6.8.2024, 3:01 DarkMaster Похоже нашел в чем проблема. Ты привязку к окну пр... 6.8.2024, 17:38 nykep я всегда пытаюсь делать привязку к окну, я же гово... 6.8.2024, 18:39 DarkMaster понял.
А если через tohandle в то же родительское ... 6.8.2024, 18:46 nykep ошибка происходит когда я не использую handle. Вот... 6.8.2024, 19:29 DarkMaster Warning, can't apply a workwindow. 0 ERROR_SUC... 6.8.2024, 19:46 nykep да, есть такая ошибка в логе. У меня оказывается и... 6.8.2024, 20:47 DarkMaster есть такое. причем в текст если тыкает, то клик од... 6.8.2024, 21:01 DarkMaster Поправил. Там еще мышь не возвращалась в input.
Чу... 6.8.2024, 22:18 cocnen C привязкой через путь или имя окна реальная пробл... 21.9.2024, 3:51 DarkMaster
Код можно? И фактическое имя окна. Очень сложно п... 21.9.2024, 9:16 фонарик Здравствуйте. Подскажите пожалуйста, а такие функц... 24.9.2024, 1:18 DarkMaster
так я же выкладывал хинт.
промпт не уверен. созда... 24.9.2024, 9:33 фонарик оно cdata должно быть, а не number.
log(tonumber(r... 24.9.2024, 23:16 DarkMaster
я же обновил версию после твоего поста. краш при ... 25.9.2024, 22:11 фонарик я же обновил версию после твоего поста. краш при о... 25.9.2024, 22:48 DarkMaster
log(tonumber(ffi.cast("int", (arr.handl... 25.9.2024, 23:07 фонарик Так упасть не должно. Еще раз. Если во время хинта... 26.9.2024, 0:18 DarkMaster
В рамках данного расширения бессмысленно. Все фун... 26.9.2024, 1:00 фонарик Попробуй вызвать hint.destroy() перед завершением ... 27.9.2024, 22:27 DarkMaster hint.hide()
hint.destroy()
а так? У меня просто в... 27.9.2024, 22:36 фонарик
hint.hide()
hint.destroy()
а так? Может я что-то... 28.9.2024, 15:43 DarkMaster Я сейчас очень загружен. Сделаю стенд, будут подро... 28.9.2024, 18:01 DarkMaster 3.0.3b
mouse модуль
добавлено сообщение о битом х... 19.10.2024, 19:32 Opener
[code]3.0.3b
a runtime error.
.\lua_system... 5.11.2024, 15:18 DarkMaster ой. ща перевыложу. Кусок недописанный остался.
пр... 5.11.2024, 16:01 DarkMaster 3.0.4b
wnd модуль
windowpos - выставлен флаг repa... 6.3.2025, 14:20 Levo222
Прикрепленные файлы
Прикрепленный файл lua_syste... 13.9.2025, 10:21 DarkMaster распаковать последнюю версию в папку lua_system
... 13.9.2025, 19:17 Levo222
распаковать последнюю версию в папку lua_system
у... 13.9.2025, 20:18 DarkMaster
беспонятия. у меня нет кириллицы нигде. 13.9.2025, 22:29
4 чел. читают эту тему (гостей: 4, скрытых пользователей: 0)
Пользователей: 0
|
|