Помощь - Поиск - Пользователи - Календарь
Полная версия: Помогите разобраться findimage
UoKit.com Форумы > Кликер > UO Pilot
ZaArazkin
есть скрипт
Код

set #handle workwindow         // найти окно эмулятора
set workwindow #handle                    // сделать его рабочим

wait 2s
if 850, 405 7502588
    kleft 885, 356
else
    set $b findimage (592, 115  1238, 682  (E:\UOpilot\Гадалка\img\energy.bmp) %brr 2)
    if $b > 80
        kleft 1050 678  //начать
        wait 2000
        kleft 1046 355
        wait 1500
        kleft 892 355
        wait 1500
        kleft 722 359
        wait 1500
       kleft 673 670 //сдаться
        wait 100
        kleft 635 491 //ОК
    else $b < 79
        kleft 648, 673  //сдаться
        kleft 641, 491   //ок
    end_if
end_if

по которому ищем картинку. но она то находиться то нет.
Привязку к окну сделал (CTRL+a)
DarkMaster
Цитата
Привязку к окну сделал (CTRL+a)

Привязываете каждый раз?
Цитата
set #handle workwindow // найти окно эмулятора
set workwindow #handle // сделать его рабочим

Абсолютно бессмысленный кусок кода. Если его выкинуть - ничего не изменится.
Вы не ищите окно эмулятора, а записываете в переменную текущее рабочее окно в переменную, потом из этой переменной обратно же и записываете.
a = b
b = a
Это то, что вы написали. b в итоге останется тем же самым.
Цитата
по которому ищем картинку. но она то находиться то нет.

Либо с окнами косячите, либо изображение "плавает". Можно попробовать указать deviation 2-5. Так же у вас очень большгое искомое изображение - на результат не повлияет, но ищется оно очень долго. Можно обрезать до 5*5-10*10.
ZaArazkin
Цитата(DarkMaster @ 20.2.2019, 11:11) *

Привязываете каждый раз?

Абсолютно бессмысленный кусок кода. Если его выкинуть - ничего не изменится.
Вы не ищите окно эмулятора, а записываете в переменную текущее рабочее окно в переменную, потом из этой переменной обратно же и записываете.
a = b
b = a
Это то, что вы написали. b в итоге останется тем же самым.
Либо с окнами косячите, либо изображение "плавает". Можно попробовать указать deviation 2-5. Так же у вас очень большгое искомое изображение - на результат не повлияет, но ищется оно очень долго. Можно обрезать до 5*5-10*10.


с привязкой точно все нормально. проверял через F. он показывает какую картинку делает скриншот
cirus
Картинку сделайте меньшего размера и добавьте параметр deviation.
Код
set $b findimage (592, 115  1238, 682  (E:\UOpilot\Гадалка\img\energy.bmp) %brr 2 80 1 5)  // последний параметр погрешность в цвете.
sutra
Если результат поиска (переменная $b) будет 80, ничего делаться не будет, сдвиньте один из параметров в ту или иную сторону.

Сорри, извиняюсь, ещё else не доглядел. Просто он там лишний. В общем исправить надо. Возможно результат поиска, что маловероятно конечно, равен 80.

Цитата
$b < 79
Вот это убрать.
ZaArazkin
Цитата(sutra @ 20.2.2019, 12:51) *

Если результат поиска (переменная $b) будет 80, ничего делаться не будет, сдвиньте один из параметров в ту или иную сторону.

Сорри, извиняюсь, ещё else не доглядел. Просто он там лишний. В общем исправить надо. Возможно результат поиска, что маловероятно конечно, равен 80.

Вот это убрать.



эммм где там лишнее else?
sutra
Цитата
else $b < 79
Вот здесь, надо убрать $b < 79, так правильно. Ну или удалять else и делать ещё один ИФ: if $b < 81 , соответственно добавлять ещё один end_if

И вообще я не понял, а почему у Вас строка $b ?? Я конечно не проверял, может и так работает?? Но надо ставить #b - это число, вот его и надо сравнивать.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Русская версия Invision Power Board © 2001-2024 Invision Power Services, Inc.