Помощь - Поиск - Пользователи - Календарь
Полная версия: Загадочные костыли.
UoKit.com Форумы > Кликер > UO Pilot
snutz
Приветствую, уважаемые форумчане!
Подскажите пожалуйста, как можно решить данную загадку:

Допустим есть одно окно, в котором необходимо искать допустим 28 картинок.
При нахождении картинки в этом окне -> нажимать на определенные координаты другого окна и ожидать например 5 минут только для поиска этой картинки. (А не для всего скрипта).

*Картинки могут появляться одновременно и постепенно, допустим одна картинка появилась -> нажимаем на определенные координаты (Ждем 5 минут для этой картинки) -> Ищем сразу же дальше -> через 5 секунд 2 других картинки появились -> нажимаем на определенные координаты согласно скрипту (Ждем 5 минут для этих картинок) -> Ищем сразу же дальше.


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

While 1=1 //начало бесконечного цикла
set a# -> pic1 //обозначение переменных/картинок которые нужно искать.
set b# -> pic2
set N...

if #a > 0 //если нашли картинку A, то...
то...
wait 3000
end_if
if #b > 0 //Если нашли картинку B, то....
то...
wait 3000
end_if

end_while


Но сразу предполагаю, что пилот пойдет прямо по очереди строк и застрянет на Wait.


<-------------------------------------------------------->

Вопрос не в тему, но тоже интересен - есть ли у uopilot возможность отправки GET запросов? (заранее сформированных, без хедеров и авторизации).

Например при определенных условиях отправка get-запроса вида: https://primer.ru/primer?id=123
Fors1k
Код
//Param{
    set $path "C:\Files\Images"  // путь к картинкам
    set #fWait 300000            // ждать 5 минут
    set #startX 0                // координаты поиска
    set #startY 0                // координаты поиска
    set #endX 1920               // координаты поиска
    set #endY 1080               // координаты поиска
//}

dir (%res $path *.bmp*)
while 1
for #i 1 size(%res)
    set #a findimage (#startX #startY #endX #endY (%res[#i 1]) %arr 2)
    if  #a > 0 and %fTimer[#i] < timer
        gosub toDo#i
        set %fTimer[#i] timer + #fWait
    end_if
end_for
end_while
:todo1 // Если нашлась первая картинка
    // ...
    // kleft 100 200
    //...
return
:todo2 // Если нашлась вторая картинка
    // ...
    // kleft 100 200
    //...
return
Fors1k
Цитата(snutz @ 16.3.2020, 17:35) *

При определенных условиях отправка get-запроса вида: https://primer.ru/primer?id=123

Распаковать в корень пилота.
Нажмите для просмотра прикрепленного файла
Код
--lua
http = require("socket.http")

local url = "https://primer.ru/primer?id=123"
if 1 < 2 then
    local body = (http.request(url))
end
end_script ()
snutz
Цитата(Fors1k @ 16.3.2020, 19:21) *

Код
//Param{
    set $path "C:\Files\Images"  // путь к картинкам
    #fWait 300000                // ждать 5 минут
    set #startX 0                // координаты поиска
    set #startY 0                // координаты поиска
    set #endX 1920               // координаты поиска
    set #endY 1080               // координаты поиска
}

dir (%res $path *.bmp*)
while 1
for #i 1 size(%res)
    set #a findimage (#startX #startY #endX #endY (%result1[#i 1]) %arr 2)
    if  #a > 0 and %fTimer[#i] < timer
        gosub toDo#i
        set %fTimer[#i] timer + #fWait
    end_if
end_for
end_while
:todo1 // Если нашлась первая картинка
    // ...
    // kleft 100 200
    //...
return
:todo2 // Если нашлась вторая картинка
    // ...
    // kleft 100 200
    //...
return



Благодарю вас!
Попробую - отпишусь!)
snutz
Цитата(Fors1k @ 16.3.2020, 19:21) *

Код
//Param{
    set $path "C:\Files\Images"  // путь к картинкам
    #fWait 300000                // ждать 5 минут
    set #startX 0                // координаты поиска
    set #startY 0                // координаты поиска
    set #endX 1920               // координаты поиска
    set #endY 1080               // координаты поиска
}

dir (%res $path *.bmp*)
while 1
for #i 1 size(%res)
    set #a findimage (#startX #startY #endX #endY (%result1[#i 1]) %arr 2)
    if  #a > 0 and %fTimer[#i] < timer
        gosub toDo#i
        set %fTimer[#i] timer + #fWait
    end_if
end_for
end_while
:todo1 // Если нашлась первая картинка
    // ...
    // kleft 100 200
    //...
return
:todo2 // Если нашлась вторая картинка
    // ...
    // kleft 100 200
    //...
return


Подскажите пожалуйста немного по коду.

Допустим есть картинка 1.bmp 2.bmp 3.bmp
Если мы нашли 1.bmp -> то кликаем координаты (x;y)
Если мы нашли 2.bmp -> то кликаем координаты (x;y)
Если мы нашли 3.bmp -> то кликаем координаты (x;y)
...

Я так понимаю в образце приведенного вами кода вне зависимости от найденной картинки происходят todoN?
snutz
Цитата(snutz @ 16.3.2020, 20:30) *

Подскажите пожалуйста немного по коду.

Допустим есть картинка 1.bmp 2.bmp 3.bmp
Если мы нашли 1.bmp -> то кликаем координаты (x;y)
Если мы нашли 2.bmp -> то кликаем координаты (x;y)
Если мы нашли 3.bmp -> то кликаем координаты (x;y)
...

Я так понимаю в образце приведенного вами кода вне зависимости от найденной картинки происходят todoN?


Разобрался, благодарю!
cirus
Fors1k, зачем давать незапускаемый код?
Fors1k
Цитата(cirus @ 17.3.2020, 1:55) *

Fors1k, зачем давать незапускаемый код?

Не знаю. Ты какой-то код не можешь запустить?
cirus
Цитата
какой-то код не можешь запустить?

Цитата
//Param{
set $path "C:\Files\Images" // путь к картинкам
#fWait 300000 // ждать 5 минут напишет ошибка
set #startX 0 // координаты поиска
set #startY 0 // координаты поиска
set #endX 1920 // координаты поиска
set #endY 1080 // координаты поиска
} напишет ошибка

Цитата
Распаковать в корень пилота.

Закинь luasocket-2.0.2-lua-5.1.2-Win32-vc6 в папку с пилотом и напишет что модули не найдены.
Fors1k
Цитата(cirus @ 17.3.2020, 2:31) *

Закинь luasocket-2.0.2-lua-5.1.2-Win32-vc6 в папку с пилотом и напишет что модули не найдены.

Закинуть нужно было содержимое той папки. Исправил архив.
Цитата(cirus @ 17.3.2020, 2:31) *
Цитата
#fWait 300000 // ждать 5 минут

напишет ошибка

У меня в пилоте стоит StopScrUnknownCommand 0. Тут не хватает set в начале строки, исправил.

Это называется опечатка. По идее в таких случаях говорят: "Чувак, у тебя там set потерялся в такой-то строке, допиши". Что за вопрос такой "Зачем.." ? Непонятно.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Русская версия Invision Power Board © 2001-2024 Invision Power Services, Inc.