UoKit.com Форумы > Кликер > UO Pilot
Страницы: 1, 2, 3, 4, 5, 6, 7, 8
Glosha
всем, спс! разобрался....
init_arr %a (1) // в скобках используется для координат.
init_arr %a 1 //без скобок символы.
ps. подскажите, а как в последний массив кода, который выше, добавить таймер?
Вверх
Fors1k
Цитата(Glosha @ 21.8.2019, 12:12)

не могу понять, если значение тут 1 цифра " init_arr %tw (1) 4 5 ", то работает корректно и правильно находит стол, но если больше 1 значение, начинается хаос с выбором стола.
code
Код
set delimiter ' '
set workwindow 394820
init_arr %a (1 4) 2354 560 2354 560 2354 590 2354 590 // записать координаты всех мест поиска цвета: StartX StartY EndX EndY.
init_arr %b (1 2) 2354 740 2354 770// записать координаты всех мест клика: X Y.
init_arr %tw (1) 4 5
while size(%a) > 0
for #i 1 size(%a)
    set #a %a[#i 1]
    set #b %a[#i 2]
    set #c %a[#i 3]
    set #d %a[#i 4]
    set #fc findcolor (#a #b #c #d 1 1 (3798088-4387912) %arr 2 -1 3 workwindow)
    if  #fc = 0
        kleft %b[#i]
        wait 33s
         kleft 1058, 216 abs
         wait 3s
         set #ld linedelay
        set linedelay 40
        set #cw 1 // номер рабочего стола, в котором сейчас находится окно.
        set workwindow 394820 // окно, которое будем перемещать
        showwindow workwindow
        if #cw < %tw[#i]
        set #a 2
        else
        set #a 1
        end_if
        sendex_down {WindowsLeft}{Tab}
        sendex_up {WindowsLeft}{Tab}
        wait 350
        sendex_down ~{F10}
        wait 200
        sendex_up ~{F10}
        wait 200
        sendex {Down}
        wait 200
        sendex {Down}
        wait 200
        sendex {Right}
        wait 200
        repeat %tw[#i] - #a
        sendex {Down}
        end_repeat
        sendex {Enter}
        sendex {Escape}
        set linedelay #ld
        delete_array %tw -#i
        delete_array %a -#i
        delete_array %b -#i
        break
    end_if
end_for
end_while


init_arr %tw (1 1) 4 5 нужно записать так.
Цитата(Glosha @ 21.8.2019, 15:10)

всем, спс! разобрался....
init_arr %a (1) // в скобках используется для координат.
init_arr %a 1 //без скобок символы.
ps. подскажите, а как в последний массив кода, который выше, добавить таймер?

Про единицу после %a разобрался неправильно, перечитай описание команды на вики.
Что такое таймер в массив?
Вверх
Glosha
Цитата(Fors1k @ 22.8.2019, 3:33)

init_arr %tw (1 1) 4 5 нужно записать так.

Про единицу после %a разобрался неправильно, перечитай описание команды на вики.
Что такое таймер в массив?

странно у меня без (1 1) все четко работает.... ок, исправлю и проверю.
ага нашел в вики (1 1) записать 1 значение с 1 элементом.
по поводу таймера. мне еще нужно, как вариант, чтобы кроме проверки цвета в кнопке был таймер временной, чтобы я например задал нужное время и даже если все 6 кнопок не дали отказ, пилот вышел из массива и пошел дальше.
Вверх
Glosha
поправите пожалуйста если неправильно, но вроде работает (таймер)
код
Код
set delimiter ' '
set workwindow 394820
set #timeout timer + 30000  // устанавливает значение timer
set #cw 1 // номер рабочего стола, в котором сейчас находится окно.
init_arr %a (1 4) 2354 560 2354 560 2354 590 2354 590 2354 620 2354 620 2354 650 2354 650 2354 680 2354 680 2354 710 2354 710 // записать координаты всех мест
init_arr %b (1 2) 2354 560 2354 590 2354 620 2354 650 2354 680 2354 710// записать координаты всех мест клика: X Y.
while size(%a) > 0 or timer < #timeout
for #i 1 size(%a)
    set #a %a[#i 1]
    set #b %a[#i 2]
    set #c %a[#i 3]
    set #d %a[#i 4]
    set #fc findcolor (#a #b #c #d 1 1 (3798088-4387912) %arr 2 -1 3 workwindow)
    if  #fc = 0
    kleft %b[#i]
        delete_array %a -#i
        delete_array %b -#i
        break
    end_if
end_for
if timer >= #timeout    // если вышло время
break
end_if
end_while
end_script

Вверх
Fors1k
Цитата(Glosha @ 23.8.2019, 12:43)

поправите пожалуйста если неправильно, но вроде работает (таймер)
код
Код
set delimiter ' '
set workwindow 394820
set #timeout timer + 30000  // устанавливает значение timer
set #cw 1 // номер рабочего стола, в котором сейчас находится окно.
init_arr %a (1 4) 2354 560 2354 560 2354 590 2354 590 2354 620 2354 620 2354 650 2354 650 2354 680 2354 680 2354 710 2354 710 // записать координаты всех мест
init_arr %b (1 2) 2354 560 2354 590 2354 620 2354 650 2354 680 2354 710// записать координаты всех мест клика: X Y.
while size(%a) > 0 or timer < #timeout
for #i 1 size(%a)
    set #a %a[#i 1]
    set #b %a[#i 2]
    set #c %a[#i 3]
    set #d %a[#i 4]
    set #fc findcolor (#a #b #c #d 1 1 (3798088-4387912) %arr 2 -1 3 workwindow)
    if  #fc = 0
    kleft %b[#i]
        delete_array %a -#i
        delete_array %b -#i
        break
    end_if
end_for
if timer >= #timeout    // если вышло время
break
end_if
end_while
end_script


код
Код
set delimiter ' '
set workwindow 394820
set #timeout 30000  // установить значение #timeout
set #cw 1 // номер рабочего стола, в котором сейчас находится окно.
init_arr %a (1 4) 2354 560 2354 560 2354 590 2354 590 2354 620 2354 620 2354 650 2354 650 2354 680 2354 680 2354 710 2354 710 // записать координаты всех мест
init_arr %b (1 2) 2354 560 2354 590 2354 620 2354 650 2354 680 2354 710// записать координаты всех мест клика: X Y.
while size(%a) > 0 and timer < #timeout
for #i 1 size(%a)
    set #a %a[#i 1]
    set #b %a[#i 2]
    set #c %a[#i 3]
    set #d %a[#i 4]
    set #fc findcolor (#a #b #c #d 1 1 (3798088-4387912) %arr 2 -1 3 workwindow)
    if  #fc = 0
    kleft %b[#i]
        delete_array %a -#i
        delete_array %b -#i
        break
    end_if
end_for
end_while
end_script

Вверх
Glosha
Цитата(Fors1k @ 23.8.2019, 13:34)

код
Код
set delimiter ' '
set workwindow 394820
set #timeout 30000  // установить значение #timeout
set #cw 1 // номер рабочего стола, в котором сейчас находится окно.
init_arr %a (1 4) 2354 560 2354 560 2354 590 2354 590 2354 620 2354 620 2354 650 2354 650 2354 680 2354 680 2354 710 2354 710 // записать координаты всех мест
init_arr %b (1 2) 2354 560 2354 590 2354 620 2354 650 2354 680 2354 710// записать координаты всех мест клика: X Y.
while size(%a) > 0 and timer < #timeout
for #i 1 size(%a)
    set #a %a[#i 1]
    set #b %a[#i 2]
    set #c %a[#i 3]
    set #d %a[#i 4]
    set #fc findcolor (#a #b #c #d 1 1 (3798088-4387912) %arr 2 -1 3 workwindow)
    if  #fc = 0
    kleft %b[#i]
        delete_array %a -#i
        delete_array %b -#i
        break
    end_if
end_for
end_while
end_script



таймер, указывается только в миллисекундах? 2m или 2h не катит?
Вверх
Fors1k
Цитата(Glosha @ 22.8.2019, 10:56)

странно у меня без (1 1) все четко работает.... ок, исправлю и проверю.
ага нашел в вики (1 1) записать 1 значение с 1 элементом.

(1 1) означает записывать элементы, начиная с 1ой строки, и по 1 элементу в каждую строку.
init_arr %tw (1 1) 4 5 Результат:
Строка 1: 4
Строка 2: 5
Дальше в коде ты обращаешься к массиву через %tw[#i].
%tw[1] будет равно 4 (взяли элемент из 1ой строки).
%tw[2] будет равно 5 (взяли элемент из 2ой строки).


Цитата(Glosha @ 23.8.2019, 13:43)

таймер, указывается только в миллисекундах? 2m или 2h не катит?
Цитата(Fors1k @ 5.8.2019, 19:46)

Нюансы такого плана ты можешь узнать на вики.

Вверх
Glosha
разобрался
Вверх
Invision Power Board © 2001-2024 Invision Power Services, Inc.
Version for Pocket PC © 2006-2024, IPBest Studio.