Автокликер Clickermann :: Форум

Основной раздел => Общие вопросы => Topic started by: froze777 on May 17, 2017, 02:03:48 PM

Title: IF_PICTURE_IN срабатывает не находя изображение.
Post by: froze777 on May 17, 2017, 02:03:48 PM
Hi all.
Кто знает почему у меня в скрипте IF_PICTURE_IN, срабатывает LOGWRITE, в том случае даже если он не находит изображение?))Если в область 1 и область 2 добавить по 1 END_IF то в логе будет пусто, а в моих ожиданиях что выдаст "test1.bmp не найдено"и "test2.bmp не найдено". Если кто знает как реализовать мои ожидания не стесняйтесь помочь))
Code: (clickermann) [Select]
//Область 1
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN (80,77, 302,719, "test1.bmp", -1, 85)
   WAITMS(100)
   LOGWRITE("найдено test1.bmp")
   waitms(100)

   waitms(150)
COLORMODE(6)
IF_PICTURE_IN (138,213, 543,712, "test1step2.bmp", -1, 85)
   WAITMS(100)
   LOGWRITE("найдено step2")
   WAITMS(100)
ELSE
LOGWRITE("test1.bmp не найдено")
END_IF
wait(1)
//Область 2
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN (80,77, 302,719, "test2.bmp", -1, 85)
   WAITMS(100)
   LOGWRITE("найдено test2.bmp")
   waitms(150)
COLORMODE(6)
IF_PICTURE_IN (138,213, 543,712, "test2step2.bmp", -1, 85)
   WAITMS(100)
   LOGWRITE("найдено test2step2")
   WAITMS(100)
ELSE
LOGWRITE("test2.bmp не найдено")
END_IF
wait(1)
halt

Title: Re: IF_PICTURE_IN срабатывает не находя изображение.
Post by: froze777 on May 17, 2017, 03:53:32 PM
Не надо стесняться писать END_IF, та где они должны быть. Ваши картинки тупо не находятся, какое вам счастье от заведомо ложных записей в лог? Соблюдайте синтаксис и будет вам харашо.
И кавычки не теряем.
Не соглашусь с вами насчет END_IF, я делал по примеру скрипта который написал модератор. У него все END_IF в конце а не после каждого IF. После вашего исправления скрипта test1 и test1step2, между собой ничем не связаны...
Я думаю кто норм знает Clickermann, тот поймет что я хочу осуществить, с полуслова.

Title: Re: IF_PICTURE_IN срабатывает не находя изображение.
Post by: open_78 on May 17, 2017, 05:59:54 PM
Не соглашусь с вами насчет END_IF, я делал по примеру скрипта который написал модератор. У него все END_IF в конце а не после каждого IF. После вашего исправления скрипта test1 и test1step2, между собой ничем не связаны...
Я думаю кто норм знает Clickermann, тот поймет что я хочу осуществить, с полуслова.

Если бы вы делали по примеру вашего кумира, то как минимум количество END_IF должно было соответствовать количеству IF_... (а должно быть именно так(и у кумира так)). И никто не обязан здесь понимать с полуслова. Не битва экстрасенсов.
Теперь к сути. Попробуйте так:
Code: (clickermann) [Select]
//Область 1
GETSCREEN(80,77, 302,719)
COLORMODE(6,80,77, 302,719)
IF_PICTURE_IN (80,77, 302,719, "test1.bmp", -1, 85)
   WAITMS(100)
   LOGWRITE("найдено test1.bmp")
   waitms(100)   
   GETSCREEN(138,213, 543,712)
   COLORMODE(6,138,213, 543,712)
   IF_PICTURE_IN (138,213, 543,712, "test1step2.bmp", -1, 85)
      WAITMS(100)
      LOGWRITE("найдено step2")
      WAITMS(100)
   END_IF
ELSE
      LOGWRITE("test1.bmp не найдено")
END_IF
wait(1)
//Область 2
GETSCREEN(80,77, 302,719)
COLORMODE(6,80,77, 302,719)
IF_PICTURE_IN (80,77, 302,719, "test2.bmp", -1, 85)
   WAITMS(100)
   LOGWRITE("найдено test2.bmp")
   waitms(100)
   GETSCREEN(138,213, 543,712)
   COLORMODE(6,138,213, 543,712)
   IF_PICTURE_IN (138,213, 543,712, "test2step2.bmp", -1, 85)
      WAITMS(100)
      LOGWRITE("найдено test2step2")
      WAITMS(100)
   END_IF
ELSE
      LOGWRITE("test2.bmp не найдено")
END_IF
wait(1)
halt
Title: Re: IF_PICTURE_IN срабатывает не находя изображение.
Post by: Vint on May 17, 2017, 06:06:55 PM
kiril (http://crapware.aidf.org/forum/index.php?action=profile;u=4041)  всё правильно сказал. Не хватает двух END_IF. А вот где они должны стоять можно сказать только узнав нужную логику работы.
Т.к. никаких предпочтений указано небыло, kiril предложил один из вариантов чем сам себе подложил свинью в лице неблагодарности и требования "дать того шарящего человека".

Я думаю кто норм знает Clickermann, тот поймет что я хочу осуществить, с полуслова.[/font][/size]
Мы порой забываем данное себе же обещание "больше никогда не отвечать там, где нужно понимать с полуслова". Иногда прокатывает, но потом ЭТО происходит опять.


Не соглашусь с вами насчет END_IF, я делал по примеру скрипта который написал модератор.
Он не давал ломаного примера с недостающими END_IF.

А всего лишь, после ответа, нужно было уточнить какая последовательность нужна. И непонятного срача бы небыло.
Code: (clickermann) [Select]
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN (80,77, 302,719, "test1.bmp", -1, 85)
    WAITMS(100)
    LOGWRITE("найдено test1.bmp")
    waitms(100)
   
    waitms(150)
    COLORMODE(6)
    IF_PICTURE_IN (138,213, 543,712, "test1step2.bmp", -1, 85)
        WAITMS(100)
        LOGWRITE("найдено step2")
        WAITMS(100)
    ELSE
        LOGWRITE("test1step2 не найдено")
    END_IF
ELSE
    LOGWRITE("test1.bmp не найдено")
END_IF
wait(1)

GETSCREEN
COLORMODE(6)
IF_PICTURE_IN (80,77, 302,719, "test2.bmp", -1, 85)
    WAITMS(100)
    LOGWRITE("найдено test2.bmp")
    waitms(150)
    COLORMODE(6)
    IF_PICTURE_IN (138,213, 543,712, "test2step2.bmp", -1, 85)
        WAITMS(100)
        LOGWRITE("найдено test2step2")
        WAITMS(100)
    ELSE
        LOGWRITE("test2step2 не найдено")
    END_IF
ELSE
    LOGWRITE("test2.bmp не найдено")
END_IF
wait(1)
halt

Title: Re: IF_PICTURE_IN срабатывает не находя изображение.
Post by: Vint on May 17, 2017, 06:08:31 PM
Пока писал простыню, не видел новый ответ. Но он в большей части совпадает с моим.
Title: Re: IF_PICTURE_IN срабатывает не находя изображение.
Post by: froze777 on May 17, 2017, 06:36:21 PM
Vint, Блестящая работа))) Спасибо большое.
Я врубился))
Open_78, я писал в начале что пробовал уже такой вариант), но все же спасибо что попробовал помоч!