Автокликер Clickermann :: Форум
		Основной раздел => Использование => Topic started by: thedim on October 22, 2013, 10:06:45 AM
		
			
			- 
				
Здравствуйте Форумчане!
Если картинка найдена,тут все понятно:
getscreen
if_picture_in (0,0, $_xmax,$_ymax, "img.bmp")
   // действие...
end_if
А если не найдена, как выполнить действие? (тот же самый вопрос по пикселю). Заранее Спасибо!
Пробовал так: (не вышло)
getscreen
if_picture_in (0,0, $_xmax,$_ymax, "img.bmp")
else
   // действие...
end_if
Поковырялся и сделал, кому понадобиться функция, код ниже: (Спасибо Johnny за новый функционал!)
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)
			 
			
			- 
				
Пробовал так: (не вышло)
Что значит "не вышло"? У всех всё выходит. Значит картинка была найдена.
Поковырялся и сделал, кому понадобиться функция, код ниже: (Спасибо Johnny за новый функционал!)
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)
Вот это неправильно
if($img>0) 
что это? $img это массив. Если обращаться без индекса он всегда берёт первый элемент. В принципе ты и можешь сравнивать первый, но лучше так не делать чтобы не путаться. 
Да, и координата может быть равна 0. 
Тем более, что в программе есть шаблон!
опять же LOGWRITE("Изображение: не найдено ", $img)
Что выводим? Зачем нам ноль?
			 
			
			- 
				$img всего лишь переменная, для выборки if и else. (как я ее понимаю) По крайней мере когда что то находит то ей присваивается значение, когда нет то она равна  нулю, а вывожу я ее для наглядности. Когда писал, что бы понимать во что она меняется, для создания условия...
Это всего лишь скелет для дальнейших действий. Ноль это просто для примера, когда 0 то изображение не найдено.
пожалуйста: 
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)
			 
			
			- 
				
Что значит "не вышло"? У всех всё выходит. Значит картинка была найдена.
Что выходит то у всех? можно по конкретнее? Вот это что ли?:
getscreen
if_picture_in (0,0, $_xmax,$_ymax, "img.bmp")
else
   // действие...
end_if
			 
			
			- 
				
Что значит "не вышло"? У всех всё выходит. Значит картинка была найдена.
Что выходит то у всех? можно по конкретнее? Вот это что ли?:
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.
Проверять нужно 
ARRSIZE($img)>0
			 
			
			- 
				сдается мне что у парня просто напросто не работает первый вариант потмоу что у условия пустое тело. я вообще не уверен что условия так работают лол.
вставь туда хоть вывод что ли в лог
			 
			
			- 
				очень странно, может я где то был не внимателен когда пробовал так:
getscreen
if_picture_in (0,0, $_xmax,$_ymax, "img.bmp")
else
   // действие...
end_if
сейчас же все работает, удивительно....
извиняюсь за то что ввел в заблуждение, возможно в этот момент был какой то глюк связанный хз с чем. Потому что по логике вещей я сразу так и пробовал, спасибо за подсказку мужики, чувствую себя как то тупо даже... :o
			 
			
			- 
				Мой первый скрипт содержал if pixel in пустое тело else действие  ;D