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

> Оптимизация скрипта
crax
сообщение 26.9.2017, 20:27
Сообщение #1


**

Neophyte
Сообщений: 23
Регистрация: 21.12.2009
Группа: Пользователи
Наличность: 0
Пользователь №: 12.317



Всем добрый день!

у меня есть несколько переменных - пары координат х и у, которые нужно вводить по очереди.
скрипт выглядит схематично так:

Код

set #uslovie 1
set #x1 234
set #y1 699
set #x2 676
set #y2 099
set #x3 222
set #y3 222
:begin

if #uslovie  = 1
send #x1
send {tab}
send #y1
set #uslovie #uslovie + 1
end_if

if #uslovie = 2
send #x2
send {tab}
send #y2
set #uslovie #uslovie + 1
end_if

if #uslovie = 3
send #x3
send {tab}
send #y3
set #uslovie #uslovie + 1
end_if
goto begin


возможно ли как-то избежать постоянного ввода однотипного участка
Код

if #uslovie = 3
send #x3
send {tab}
send #y3
set #uslovie #uslovie + 1
end_if
goto begin


а написать только кусок
Код


if #uslovie = 3
send #x #uslovie  - порядковый номер х совпадает с условием
send {tab}
send #y #uslovie  - порядковый номер y совпадает с условием
set #uslovie #uslovie + 1
end_if
goto begin



понимаю что именно так нельзя поэтому и нуждаюсь в помощи
заранее благодарен :-)





Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов
cirus
сообщение 15.10.2017, 10:57
Сообщение #2


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26702
Пользователь №: 16.971
Возраст: 29



Можно, но findcolor не понимает массивы, поэтому нужно присвоить значение массива числовой переменной и уже её использовать в findcolor.
код
Код
init_arr %a (1) 472, 106 672, 301 4464896       // область поиска и цвет
init_arr %a (2) 1517, 530 1753, 692 16633191    // область поиска и цвет
init_arr %a (3) 80, 91 232, 207 7919083         // область поиска и цвет

for #i 1 size (%a)
    set #startX %a [#i 1]  
    set #startY %a [#i 2]
    set #endX %a [#i 3]
    set #endY %a [#i 4]
    set #color %a [#i 5]
    set #a findcolor (#startX #startY #endX #endY  1 1 #color %arr)
    if  #a > 0
        left %arr [1 1], %arr [1 2]
        wait 1000
    end_if
end_for
end_script
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения



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

 

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