Привет. Написал простой скрипт чтоб записывал передвижение мыши а затем в точности воспроизводил. Но не уверен что все по уму сделано. Можете поправить? К тому-же столкнулся с проблемой того, что на разных компьютерах воспроизводится с разной скоростью. где-то за 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мс файл текстовый пересоздается на диске с. Это не вызывает дополниительных нагрузок и микрозадержек в виду этого? Варианта записывать в массив чтобы потом сохранился одним разом в файл я не придумал, так как когда надо сотановить запись я жму кнопочку стоп скрипт.