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

Основной раздел => Использование => Topic started by: thedim on October 22, 2013, 10:06:45 AM

Title: А если не найдено изображение?
Post by: thedim on October 22, 2013, 10:06:45 AM
Здравствуйте Форумчане!

Если картинка найдена,тут все понятно:
Code: [Select]
getscreen
if_picture_in (0,0, $_xmax,$_ymax, "img.bmp")
   // действие...
end_if

А если не найдена, как выполнить действие? (тот же самый вопрос по пикселю). Заранее Спасибо!

Пробовал так: (не вышло)
Code: [Select]
getscreen
if_picture_in (0,0, $_xmax,$_ymax, "img.bmp")
else
   // действие...
end_if

Поковырялся и сделал, кому понадобиться функция, код ниже: (Спасибо Johnny за новый функционал!)
Code: [Select]
getscreen
scanpicture($img, 0,0, $_xmax,$_ymax, "img.bmp")
if($img>0)
   LOGWRITE("Изображение: найдено ", $img)
   while (arrsize($img) > 0)
      $y = arrpop($img)
      $x = arrpop($img)
      // Действие...
      waitms(1000)
   end_cyc
else
   LOGWRITE("Изображение: не найдено ", $img)
   // Действие...
   waitms(1000)
end_if
waitms(1000)
Title: Re: А если не найдено изображение?
Post by: Vint on October 22, 2013, 12:25:43 PM
Пробовал так: (не вышло)

Что значит "не вышло"? У всех всё выходит. Значит картинка была найдена.

Поковырялся и сделал, кому понадобиться функция, код ниже: (Спасибо Johnny за новый функционал!)
Code: [Select]
getscreen
scanpicture($img, 0,0, $_xmax,$_ymax, "img.bmp")
if($img>0)
   LOGWRITE("Изображение: найдено ", $img)
   while (arrsize($img) > 0)
      $y = arrpop($img)
      $x = arrpop($img)
      // Действие...
      waitms(1000)
   end_cyc
else
   LOGWRITE("Изображение: не найдено ", $img)
   // Действие...
   waitms(1000)
end_if
waitms(1000)
Вот это неправильно
Code: (clickermann) [Select]
if($img>0)
что это? $img это массив. Если обращаться без индекса он всегда берёт первый элемент. В принципе ты и можешь сравнивать первый, но лучше так не делать чтобы не путаться.
Да, и координата может быть равна 0.

Тем более, что в программе есть шаблон!

опять же LOGWRITE("Изображение: не найдено ", $img)
Что выводим? Зачем нам ноль?
Title: Re: А если не найдено изображение?
Post by: thedim on October 22, 2013, 01:38:24 PM
$img всего лишь переменная, для выборки if и else. (как я ее понимаю) По крайней мере когда что то находит то ей присваивается значение, когда нет то она равна  нулю, а вывожу я ее для наглядности. Когда писал, что бы понимать во что она меняется, для создания условия...

Это всего лишь скелет для дальнейших действий. Ноль это просто для примера, когда 0 то изображение не найдено.

пожалуйста:

Code: [Select]
getscreen
scanpicture($img, 0,0, $_xmax,$_ymax, "img.bmp")
if($img>0)
   while (arrsize($img) > 0)
      $y = arrpop($img)
      $x = arrpop($img)
      lclick($_return1, $_return2) // если найдено то кликаем на изображение.
      waitms(1000)
   end_cyc
else
   lclick(10, 10) // если не найдено то жмем куда надо.
   waitms(1000)
end_if

waitms(1000)
Title: Re: А если не найдено изображение?
Post by: thedim on October 22, 2013, 02:01:33 PM
Что значит "не вышло"? У всех всё выходит. Значит картинка была найдена.

Что выходит то у всех? можно по конкретнее? Вот это что ли?:

getscreen
if_picture_in (0,0, $_xmax,$_ymax, "img.bmp")
else
   // действие...
end_if
Title: Re: А если не найдено изображение?
Post by: Vint on October 22, 2013, 02:36:50 PM
Что значит "не вышло"? У всех всё выходит. Значит картинка была найдена.

Что выходит то у всех? можно по конкретнее? Вот это что ли?:

getscreen
if_picture_in (0,0, $_xmax,$_ymax, "img.bmp")
else
   // действие...
end_if
Да, это.

...
scanpicture($img, 0,0, $_xmax,$_ymax, "img.bmp")
здесь $img массив, в который возвращаются координаты найденных изображений
If $img ... это то же самое, что и $img[0]
Она будет содержать 0 если не нашло ничего и если координата x первого найденного равна 0.
Проверять нужно
Code: (clickermann) [Select]
ARRSIZE($img)>0
Title: Re: А если не найдено изображение?
Post by: Johnny on October 22, 2013, 04:57:25 PM
сдается мне что у парня просто напросто не работает первый вариант потмоу что у условия пустое тело. я вообще не уверен что условия так работают лол.
вставь туда хоть вывод что ли в лог
Title: Re: А если не найдено изображение?
Post by: thedim on October 22, 2013, 06:46:51 PM
очень странно, может я где то был не внимателен когда пробовал так:
getscreen
if_picture_in (0,0, $_xmax,$_ymax, "img.bmp")
else
   // действие...
end_if

сейчас же все работает, удивительно....
извиняюсь за то что ввел в заблуждение, возможно в этот момент был какой то глюк связанный хз с чем. Потому что по логике вещей я сразу так и пробовал, спасибо за подсказку мужики, чувствую себя как то тупо даже... :o
Title: Re: А если не найдено изображение?
Post by: MIG29 on October 26, 2013, 08:31:41 PM
Мой первый скрипт содержал if pixel in пустое тело else действие  ;D