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

> Создаем плавающую переменную set: #A1 #A2 ... #A(#i)
FREEON
сообщение 30.8.2019, 0:33
Сообщение #1


*****

Journeyman
Сообщений: 365
Регистрация: 14.2.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.346
Возраст: 25



Как скриптом создать имя плавающей переменной и затем вывести ее в лог?
Код

for #i 1 5
    set #a(#i) #i
    log #a(#i)
end_for
log #a(4) //вывести содержание переменной из середины
end_script

и при выдаче в лог нужную переменную нам не выдает. лог:
Цитата
1(1)
2(2)
3(3)
4(4)
5(5)
5(4)

с массивом же норм работает и можно обратиться к нужному имени
Код

for #i 1 5
    init_arr %a(#i) #i
    log %a(#i) [1]
end_for
log %a(4) [1]
end_script

лог:
Цитата
1
2
3
4
5
4

но при попытке представить массив в качестве переменной set #a(#i) %a(#i)[1] не получается и обратиться к ней тоже не выходит
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов
Fors1k
сообщение 31.8.2019, 17:58
Сообщение #2


*****

Journeyman
Сообщений: 497
Регистрация: 19.12.2017
Группа: Пользователи
Наличность: 108
Пользователь №: 18.746



Убрал лишние строки, задал переменные через set, а не примочками init_arr, как и просил.
code
Код
log clear
log mode compact
while #poisk < 0 or #poisk = 0
    set #poisk findimage (1023, 34 1077, 50 (D:\_UOPilot\newimage\astro.bmp) %arr 2 80 -1) //поиск
end_while
for #i 1 size(%arr)
    //-- координаты для анализа объекта
    set #sx (%arr[#i 1] - 5)
    set #sy (%arr[#i 2] + 10)
    set #ex (%arr[#i 1] + 12)
    set #ey (%arr[#i 2] + 25)
    //-- где будет действие
    log x: %arr[#i 1] y: %arr[#i 2]
    //-- присваиваем уникальное имя и задаем коорд.
    set %x[#i] %arr[#i 1]
    set %y[#i] %arr[#i 2]
    //log #sx #sy #ex #ey
    //move  #sx #sy   //обл поиска
    //wait 100
    //move #ex #ey    //конец обл поиска
    set $path "D:\_UOPilot\newimage\ras\"  //картинки для выбора лучшего варианта
    set delimiter ' '
    dir (%image $path *.bmp*)             //поиск картинок в папке и загрузка их в массив
    //log В папке найдено: size(%image) картинок
    for #j 1 size(%image)
        set #v findimage(#sx #sy #ex #ey (%image [#j 1]) %a) //поиск лучшего объекта
        //log поиск в #sx #sy #ex #ey
        if  #v > 0
            //log Найдена картинка %image [#j 3]
            set %b[#i] %image [#j 3] //присвоим параметру отсева уникальное имя
            log %b[#i]
            break
        end_if
        //log нет цифр
    end_for
end_for
set delimiter ''
//log %b[1]%b[2]%b[3]
set $p %b[1]%b[2]%b[3]
set $m minx(minx(%b))        //отсев нужного значения
log $m
set #n posex($m $p)                //позиция значения в массиве
log поз #n
move %x[#n] %y[#n]      //действие в лучшей точке в нужном месте
end_script


--------------------
Для связиИзображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения



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

 

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