Цитата(DarkMaster @ 23.10.2022, 20:14)

для начала вам вообще не нужен mouse_pos здесь.
move %arr[#j 1] %arr[#j 2]
вы же тут не используете mouse_pos
get mouse_pos #x #y
move #x,#y
в чем смысл конструкции? мы получаем координаты мыши, и перемещаем ее в эти же самые координаты. Т.е. по сути эффективная работа равна нулю: где мышь была там она и будет. Я допускаю, в некоторых частных случаях этот может активировать кнопку, но в общем случае полностью бессмысленные действия.
kleft #x,#y
с тем же успехом вы можете использовать
kleft %arr[#j 1] %arr[#j 2]
разницы не будет никакой. Т.к. по сути вы делаете:
move %arr[#j 1] %arr[#j 2]
get mouse_pos #x #y
move #x,#y
kleft #x,#y
итого мы перемещаем мышь в
%arr[#j 1] %arr[#j 2]
потом получаем координаты мыши в перменные x и y. Зачем? мы уже знаем где она - %arr[#j 1] %arr[#j 2]
и туда же кликаем.
итого:
выкинуть get_mousepos
выкинуть move #x #y
заменить в kleft #x #y на kleft %arr[#j 1] %arr[#j 2]
Если глобально - переходите на lua. Проще его выучить и писать спокойно, чем ловить проблемы старого синтаксиса.
Если не глобально - выкинуть все goto и забыть про них навсегда.
Да надо наверное подучить lua. Хотя я ни разу не програмист).
А про goto
чем я могу заменить вот этот цикл?
:1
if #x,#y 6818061 9526877
kleft #x,#y
stop_script
end_if
goto 1
как мне сделать чтобы в середине скприпта можно было бы вставить цикл ожидания который бы прирывался только при выполнение условия. И чем плох goto? Он делает скрипт более медленным?
И ещё можно вопрос, вот этот скрипт по моему работает очень долго и у меня не получается им найти нужную картинку которая появляется на какие то ,03 секунды. Это дело в скрипте или просто УО пилот неспособен отслеживать появления картинки с такой скоростью. Например цвет в определённой координате он отслеживает моментально. Можно ли как то ускорить этот скрипт?
set #startX 491
set #startY 280
set #endX 1264
set #endY 712
set $path "d:\images\"
init_arr %image 4 5 6 7 8
set #size size(%image)
for #i 1 #size 1 // цикл для поиска картинок
set #a findimage (#startX #startY #endX #endY ($path%image[#i].bmp) %arr 2 80 1 7)
if size(%arr) > 0
for #j 1 size(%arr)
move %arr[#j 1] %arr[#j 2]
wait 500