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

> Скрипт на запись макроса, Запись макроса через скрипт на мышку
Zenogiasu
сообщение 25.1.2024, 23:50
Сообщение #1


**

Neophyte
Сообщений: 45
Регистрация: 3.12.2022
Группа: Пользователи
Наличность: 0
Пользователь №: 20.434
Возраст: 28



Привет. Написал простой скрипт чтоб записывал передвижение мыши а затем в точности воспроизводил. Но не уверен что все по уму сделано. Можете поправить? К тому-же столкнулся с проблемой того, что на разных компьютерах воспроизводится с разной скоростью. где-то за 40 сек исполняет, где-то за 38 к примеру.

это скрипт записи макроса
Код

set #s 1
get mouse_pos #x #y
kright_down #x #y
:ss
get mouse_pos #x #y
init_arr %s (#s) #x #y // записываем в массив текущие корды мыши
save_array %s C:\123.txt    // сохраняем этот массив в текстовый файл
set #s #s + 1           // чтоб следующие координаты прописывал на след строчку
wait 10
goto ss    // и так пока не остановлю.

Это скрипт воспроизведения макроса
Код

set $massiv ddd12       // какой массив воспроизводить

set linedelay 0         // воспроизведение плавного макроса
set size(%s)
set #s
set $txt .txt
load_array %s c:\$massiv$txt   // загружаем нужный массив с координатами
set #skolkostrok size(%s)     // узнаем сколько там строк
set #s #s + 1    // устанавливаем строку на 1
move_smooth %s [#s 1] %s [#s 2]   // перемещаем на первоначальные нужные координаты 1 строки
wait 100 + random (10)
kright_down %s [#s 1] %s [#s 2]   // и стартуем
set #a #skolkostrok - 1     // повторять столько сколько строк в массиве
repeat #a
    set #s #s + 1
    move %s [#s 1] %s [#s 2]
    wait 16 + random (1)       // а это время пришлось выверять вручную долгими тестами чтобы совпадало
end_repeat
kright_up %s [#s 1] %s [#s 2]
end_script

Я так понял язык пилота в этом плане чучуть ущербный правильно? Потому-что меняешь тайминги там где ваит 16 на любые другие с разницей в несколько милисекунд, а время выполнения скрипта не меняется почему-то. разница будет только если на 7+ мс менять тайминг
К ктому-же столкнулся с проблемой что на разных компах сходу те же скрипты с разной скоростью работают. Тот-же код на луа решшит данные проблемы с таймингами? Чтобы на всех компах и системах работало одинакого и не приходилось переживать. Да и к тому-же в скрипте записи там каждые 10мс файл текстовый пересоздается на диске с. Это не вызывает дополниительных нагрузок и микрозадержек в виду этого? Варианта записывать в массив чтобы потом сохранился одним разом в файл я не придумал, так как когда надо сотановить запись я жму кнопочку стоп скрипт.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов
Zenogiasu
сообщение 27.1.2024, 2:08
Сообщение #2


**

Neophyte
Сообщений: 45
Регистрация: 3.12.2022
Группа: Пользователи
Наличность: 0
Пользователь №: 20.434
Возраст: 28



Понял, но себя на понял не беру поэтому ничего не понял
чтож тогда если поправок в мой текущий скрипт записи макроса нет - ряд других вопросов:
1. можно ли считывать ИД курсора на языке пилота?
2. по умолчанию элементы массива являются строковыми переменными?
3. гет имидж, как вы выражаетесь, выгядет вкусной вещью, но перекапав форум, любой увидит то что по факту эта вещь, к сожалению не работает. решены ли проблемы на луа?
4. На какие массивы распостраняется делимитер? например тебе надо поставить пробел в делиметре. после ттого как ты это сделал, на какие массивы оно будет распостранено? на все что заданы в текущий момент в скрипте или как? и как обнулить делимитер?
5. можно ли как-то без использования функции Ярлыка и бат файла сделать так, чтобы при запуске основного exe пилота был автоматически сразу запущен нужный скрипт?
6. Можно ли привязать одну вкладку скрипта к приложению из другого скрипта?
7. забыл(
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Сообщений в этой теме
Zenogiasu   Скрипт на запись макроса   25.1.2024, 23:50
cirus   Нет. Так устроена функция Sleep в Windows. Скорос...   26.1.2024, 2:30
Zenogiasu   Нет. Так устроена функция Sleep в Windows. Скорос...   26.1.2024, 3:07
DarkMaster   Под lua есть решения с высокоточными таймерами. Вр...   26.1.2024, 18:21
DarkMaster   встроенными средствами нет. возможно на луа либы ...   27.1.2024, 16:47
Zenogiasu   встроенными средствами нет. возможно на луа либы ...   28.1.2024, 3:05
DarkMaster   эмм... у меня на луа скрипт бегал на getimage + г...   28.1.2024, 17:53
Zenogiasu   Возникла ужасная проблема. на компе не работают ск...   5.2.2024, 15:14
DarkMaster   проблема наблюдалась у некоторых людей, если систе...   5.2.2024, 15:53
Zenogiasu   проблема наблюдалась у некоторых людей, если сист...   5.2.2024, 15:59
Aqualon   проблема наблюдалась у некоторых людей, если сист...   5.2.2024, 20:06
nykep   ffi.cdef[[ void Sleep(int ms); ...   5.2.2024, 23:10
DarkMaster   По сути без разницы - они полностью совместимы, н...   5.2.2024, 16:10
Zenogiasu   Проблема с неработающими Wait - РЕШЕНА. Решена был...   5.2.2024, 17:54
DarkMaster   local ffi = require[[ffi]] ff...   7.2.2024, 17:51
Zenogiasu   Подскажите пожалуйста как разбить элемент на элеме...   14.2.2024, 2:51
DarkMaster   переходите на луа - всем будет проще. за синтаксис...   14.2.2024, 18:22
Zenogiasu   Благодарю добрый человек. На вас весь форум держит...   24.2.2024, 1:47


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

 

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