Author Topic: Поиск цвета и ограниченное количество кликов.  (Read 8179 times)

0 Members and 1 Guest are viewing this topic.

Compot

  • Зашел в гости
  • *
  • Posts: 17
    • View Profile
Здравствуйе.
Сижу осваиваю кликер.

Подскажите , в инструкции не нашел.
Необходимо:

В заданной области найти один из 4 возможных цветов пикселя и сделать по ним клик.
Для поиска пикселя использовал команду:

// поиск пикселя
IF_PIXEL_IN (513,692, 1223, 782, 16709629, 16777123, 16310421, 8583165)
lclick($_return1, $_return2)
END_IF

Как сделать что бы сценарий выполнялся только 15 раз?

После сделать еще 3 клика по разным известным областям (с этим все ясно)

И все заного, например 50 раз или 10 минут ?

« Last Edit: July 17, 2014, 11:23:49 PM by Compot »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Code: (clickermann) [Select]
$count = 0
WHILE($count < 15) // цикл будет крутиться пока функция IF_PIXEL_IN не найдет пиксел 15 раз
   GETSCREEN
   IF_PIXEL_IN(513,692, 1223, 782, 16709629, 16777123, 16310421, 8583165)
      INC($count,1)
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      WAITMS(50)
   END_IF
END_CYC
// потом выполнение продолжится

LCLICK(10,10)
WAITMS(100)
LCLICK(10,10)
WAITMS(100)
LCLICK(10,10)
WAITMS(100)

INC($stop,1)
IF($stop = 50) // остановиться через 50 циклов
   HALT
END_IF

// или другой вариант
DEFINE($time, $_time_t + 600)
IF($time < $_time_t) // остановиться через 10 минут
   HALT
END_IF

Compot

  • Зашел в гости
  • *
  • Posts: 17
    • View Profile
ВОт это огромное человеческое спасибо.
Теперь все становится понятней...пойду дальше читать инструкцию

Compot

  • Зашел в гости
  • *
  • Posts: 17
    • View Profile
Так теперь у меня новая идея фикс.
Немного перерабатываю кликер.
Хочу что бы он искал пиксель и кликал на 70 пикселей правей него (с этим разобрался, к координате Х дописал +70)
А вот как сделать условие:
Если необходимый цвет не найден то кликать по другой заданной координате?

Так разобрался после команды ElSE добавил LCLICK (x, y)
Но теперь команда не выполняется 15 раз....я так понимаю надо переместить значение INC($count,1)..но что то не пойму куда
Ага..не переместить а добавить еще раз после значения LCLICK...все правильно сделал или можно умней ?
« Last Edit: July 18, 2014, 06:42:59 PM by Compot »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Code: (clickermann) [Select]
$count = 0
WHILE($count < 15) // цикл будет крутиться пока функция IF_PIXEL_IN не найдет пиксел 15 раз
   GETSCREEN
   IF_PIXEL_IN(513,692, 1223, 782, 16709629, 16777123, 16310421, 8583165)
      INC($count,1)
      LCLICK($_return1, $_return2)
      WAITMS(100)
   ELSE
      LCLICK(1,1)
      WAITMS(100)
   END_IF
END_CYC

Compot

  • Зашел в гости
  • *
  • Posts: 17
    • View Profile
Вот пробывал так, все работало, только больше 15 раз. Возможно он 15 раз искал пиксели и 15 раз кликал если не находил..не считал...но точно больше 15.

Рабочий вариант получился таким

Code: (clickermann) [Select]
$count = 0
WHILE($count < 15) // цикл будет крутиться пока функция IF_PIXEL_IN не найдет пиксел 15 раз
   GETSCREEN
   IF_PIXEL_IN(10,10, 100, 100, цвет)
      INC($count,1)
      LCLICK($_return1+70, $_return2)
      WAIT(1)
   ELSE
LCLICK(10,10)
   WAIT(1)
   INC($count,1)
      WAITMS(50)
   END_IF
END_CYC

LCLICK(10,10)
WAIT(2)
LCLICK(10,10)
WAITMS(2)


P.S Глупый вопрос ) Как вставить Код в Форум ? )
« Last Edit: July 18, 2014, 10:32:20 PM by Compot »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Теряется смысл отсчета. Эт так проще уж загнать в цикл FOR на 15 повторов.

тема оформления "Clickermann" для кода с подсветкой синтаксиса. Выбирается из выпадающего списка "Код" (рядом с "цвет", "размер" и "шрифт") в режиме редактирования поста. Либо просто BB-тегом "code=clickermann"

Compot

  • Зашел в гости
  • *
  • Posts: 17
    • View Profile
Вот так вот правильно ? )
Блин, Здоровский Кликер  ;D

Code: (clickermann) [Select]
$a = 0
FOR($a,$a<15)
   GETSCREEN
   IF_PIXEL_IN(10,10, 100, 100, цвет)
         LCLICK($_return1+70, $_return2)
      WAIT(1)
   ELSE
    LCLICK(10,10)
   WAIT(1)
         WAITMS(50)
   END_IF
END_CYC

LCLICK(10,10)
WAIT(2)
LCLICK(10,10)
WAITMS(2)

INC($stop,1)
IF($stop = 50)
   HALT
END_IF

Теперь новая идея )
Может ли кликер определять число с экрана.
Например...что бы работа кликера остановилась когда количество золота в игре будет меньше 1565 например ?

И нельзя ли сделать на основе скрипта отдельную программу что бы было окно где можно ввести переменные (координаты поиска, количество попыток или количество времени работы, пуск и стоп) Что бы открыть, ввести свои данные и пользоваться.
Так сказать нужен инструмент для создания графической оболочки под собственный скрипт.

Так на счет цифр нашел тему http://crapware.aidf.org/forum/index.php?topic=88.msg1571#msg1571

единственное как отредактировать команду stop, если найденное значение будет меньше 50000
« Last Edit: July 19, 2014, 01:43:18 AM by Compot »