Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - farmacedus

Pages: [1] 2 3
1
Ребят, помогите пожалуйста. Реал не понимаю в чем дело)

2
Да просто графика может меняться! Сглаживание шрифтов там всякое и тд.

Code: (clickermann) [Select]
// Отдельным скриптом получаешь скорректированный снимок
GETSCREEN
COLORMODE(6) // уровень коррекции 6
SCREENSHOT
HALT
Из скриншота вырезаешь твою "отправить2.bmp"

Code: (clickermann) [Select]
GETSCREEN
COLORMODE(6) // такую же коррекцию указываешь в своем скрипте.
SCANPICTURE($ARR_SCAN, 0,0, $_xmax,$_ymax, "отправить2.bmp", -1, 80) // а здесь мы снизим процент совпадения до 80% может и ниже

На самом деле тут ничего сложного.
Сделал новый скрин. Сделал совпадения меньше, и как было так и осталось. Это магия(

3
Это относится только к отправить2.bmp!
Code: (clickermann) [Select]
   SCANPICTURE($ARR_SCAN, 0,0, $_xmax,$_ymax, "отправить2.bmp", -1, 100)
  LOGWRITE ("Найдено картинок: ", ARRSIZE($ARR_SCAN)/2)

Функция SCANPICTURE ищет все картинки отправить2.bmp на экране и складывает координаты в массив $ARR_SCAN. Две строки массива это 1 координата. Я просто написал функцию определения количества строк в массиве и поделить это на два ARRSIZE($ARR_SCAN)/2 таким образом мы можем узнать сколько найдено картинок "отправить2.bmp"

Как с тобой трудно... Разберись уже с картинками!
ну блин....почему же часть кода работает? Картинку находит....извини может я туплю но это ппц как мне не понятно. Давай покажу в скайпе всё.

4
Ну судя по логу "отправить2.bmp" не найдена, вследствие чего $ARR_SCAN пуст а значит и цикл выполняться не будет! С цифрами лога ты конечно переборщил  :D

Вот я добавил строку лога которая сообщает сколько найдено картинок. Уверен что у тебя там 0
Code: (clickermann) [Select]
// вибор ника
LCLICK(1245,169)
WAITMS(500)
LCLICK(1245,169)
WAITMS(50)
KEYDOWN(#SHIFT)
LCLICK(1118,169)
KEYUP(#SHIFT)
WAITMS(50)
//вырезание ника
KEYDOWN (#CTRL)
WAITMS (50)
KEYDOWN (#X)
WAITMS (50)
KEYUP (#X)
KEYUP (#CTRL)
WAITMS (50)

KEYPRESS(#DELETE)

//выделениеника в строке поиска
LCLICK(610,479)
WAITMS(500)
LCLICK(610,479)
WAITMS(50)
KEYDOWN(#SHIFT)
LCLICK(242,478)
KEYUP(#SHIFT)
WAITMS(50)
//удаление и вставка нового ника
KEYPRESS(#DELETE)
WAITMS (50)
KEYDOWN (#CTRL)
WAITMS (50)
KEYDOWN (#V)
WAITMS (50)
KEYUP (#V)
KEYUP (#CTRL)
WAITMS (50)
//поиск и нажатия на искать
GETSCREEN
IF_PICTURE_IN (231,488, 440,740, "искать.bmp", -1, 100)
   LCLICK($_return1, $_return2)
   WAITMS(100)
END_IF

//поиск изображения входящего сообщения
GETSCREEN
IF_PICTURE_IN (1173,293, 1258,938, "крестик.bmp", -1, 100)
   LOGWRITE ("0")
   LCLICK($_return1, $_return2)
   WAITMS(100)
else
   LOGWRITE ("1")
   WAITMS(50)
   //проверка на конверт и поиск кнопки отправить
   GETSCREEN
   SCANPICTURE($ARR_SCAN, 0,0, $_xmax,$_ymax, "отправить2.bmp", -1, 100)
   LOGWRITE ("Найдено картинок: ", ARRSIZE($ARR_SCAN)/2)
$ARR_NUM = 0
   WHILE ($ARR_NUM < ARRSIZE($ARR_SCAN))
      LOGWRITE ("2")
      $X = $ARR_SCAN [$ARR_NUM]
      INC($ARR_NUM,1)
      $Y = $ARR_SCAN [$ARR_NUM]
      INC($ARR_NUM,1)
      IF_PIXEL_IN($X-599,$Y-0, $X+0,$Y+0, 16514039) // пиксель конверта (если есть конверт, то не жмет кнопку "отправить")
         WAITMS(1)
         LOGWRITE ("err")
      ELSE
         $ARR_NUM = 99999 // сброс цикла
         LCLICK($X, $Y)
         WAITMS(1000)
         LOGWRITE ("3")
      END_IF
   END_CYC
   UNDEFINE($ARR_SCAN)
END_IF
вот лог:
13:03:36 1
13:03:37 Найдено картинок: 0
13:03:39 1
13:03:40 Найдено картинок: 0

вопрос почему тогда если не найдено ни 1 картинки на искать оно нажимает нормально а значит и как минимум 1 картинку таки находит.

5
Я так делал, вот код.
И вот лог.
12:24:33 1
12:24:34 2
12:24:34 3
12:25:19 1
12:25:20 2
12:25:20 3
12:25:23 1
12:25:24 2
12:29:36 1
12:29:36 2
12:29:36 3

// вибор ника
LCLICK(1245,169)
WAITMS(500)
LCLICK(1245,169)
WAITMS(50)
KEYDOWN(#SHIFT)
LCLICK(1118,169)
KEYUP(#SHIFT)
WAITMS(50)
//вырезание ника
KEYDOWN (#CTRL)
WAITMS (50)
KEYDOWN (#X)
WAITMS (50)
KEYUP (#X)
KEYUP (#CTRL)
WAITMS (50)

KEYPRESS(#DELETE)

//выделениеника в строке поиска
LCLICK(610,479)
WAITMS(500)
LCLICK(610,479)
WAITMS(50)
KEYDOWN(#SHIFT)
LCLICK(242,478)
KEYUP(#SHIFT)
WAITMS(50)
//удаление и вставка нового ника
KEYPRESS(#DELETE)
WAITMS (50)
KEYDOWN (#CTRL)
WAITMS (50)
KEYDOWN (#V)
WAITMS (50)
KEYUP (#V)
KEYUP (#CTRL)
WAITMS (50)
//поиск и нажатия на искать
GETSCREEN
IF_PICTURE_IN (231,488, 440,740, "искать.bmp", -1, 100)
   LCLICK($_return1, $_return2)
   WAITMS(100)
END_IF

//поиск изображения входящего сообщения
GETSCREEN
IF_PICTURE_IN (1173,293, 1258,938, "крестик.bmp", -1, 100)
   LCLICK($_return1, $_return2)
   WAITMS(100)
else
   WAITMS(50)
   //проверка на конверт и поиск кнопки отправить
   GETSCREEN
            LOGWRITE ("1")
   SCANPICTURE($ARR_SCAN, 0,0, $_xmax,$_ymax, "отправить2.bmp", -1, 100)
   LOGWRITE ("2")
   $ARR_NUM = 0
   LOGWRITE ("3")
   WHILE ($ARR_NUM < ARRSIZE($ARR_SCAN))
   LOGWRITE ("4")
      $X = $ARR_SCAN [$ARR_NUM]
      LOGWRITE ("5")
      INC($ARR_NUM,1)
      LOGWRITE ("6")
      $Y = $ARR_SCAN [$ARR_NUM]
      LOGWRITE ("7")
      INC($ARR_NUM,1)
      LOGWRITE ("8")
      IF_PIXEL_IN($X-599,$Y-0, $X+0,$Y+0, 16514039) // пиксель конверта (если есть конверт, то не жмет кнопку "отправить")
         WAITMS(1)
         LOGWRITE ("err")
      ELSE
         $ARR_NUM = 99999 // сброс цикла
         LCLICK($X, $Y)
         WAITMS(1000)
         LOGWRITE ("3")
      END_IF
   END_CYC
   UNDEFINE($ARR_SCAN)
END_IF

6
Заметил еще одно, отсутствует UNDEFINE($ARR_SCAN) без этого на повторном проходе цикл снова отработает по старым координатам.

Code: (clickermann) [Select]
// вибор ника
LCLICK(1245,169)
WAITMS(500)
LCLICK(1245,169)
WAITMS(50)
KEYDOWN(#SHIFT)
LCLICK(1118,169)
KEYUP(#SHIFT)
WAITMS(50)
//вырезание ника
KEYDOWN (#CTRL)
WAITMS (50)
KEYDOWN (#X)
WAITMS (50)
KEYUP (#X)
KEYUP (#CTRL)
WAITMS (50)

KEYPRESS(#DELETE)

//выделениеника в строке поиска
LCLICK(610,479)
WAITMS(500)
LCLICK(610,479)
WAITMS(50)
KEYDOWN(#SHIFT)
LCLICK(242,478)
KEYUP(#SHIFT)
WAITMS(50)
//удаление и вставка нового ника
KEYPRESS(#DELETE)
WAITMS (50)
KEYDOWN (#CTRL)
WAITMS (50)
KEYDOWN (#V)
WAITMS (50)
KEYUP (#V)
KEYUP (#CTRL)
WAITMS (50)
//поиск и нажатия на искать

GETSCREEN
IF_PICTURE_IN (231,488, 440,740, "искать.bmp", -1, 100)
   LCLICK($_return1, $_return2)
   WAITMS(100)
END_IF
//поиск изображения входящего сообщения
GETSCREEN
IF_PICTURE_IN (1173,293, 1258,938, "крестик.bmp", -1, 100)
   LOGWRITE ("Найден крестик")
   LCLICK($_return1, $_return2)
   WAITMS(100)
else
   WAITMS(50)
   LOGWRITE ("проверка на конверт и поиск кнопки отправить")
   //проверка на конверт и поиск кнопки отправить
   GETSCREEN
   SCANPICTURE($ARR_SCAN, 0,0, $_xmax,$_ymax, "отправить2.bmp", -1, 100)
   $ARR_NUM = 0
   WHILE ($ARR_NUM < ARRSIZE($ARR_SCAN))
      $X = $ARR_SCAN [$ARR_NUM]
      INC($ARR_NUM,1)
      $Y = $ARR_SCAN [$ARR_NUM]
      INC($ARR_NUM,1)
      IF_PIXEL_IN($X-599,$Y-0, $X+0,$Y+0, 16514039) // пиксель конверта (если есть конверт, то не жмет кнопку "отправить")
         WAITMS(1)
      ELSE
         LOGWRITE ("проверка на конверт и поиск кнопки отправить")
         $ARR_NUM = 99999 // сброс цикла
         LCLICK($X, $Y)
         WAITMS(1000)
      END_IF
   END_CYC
   UNDEFINE($ARR_SCAN) // очищаем массив координат
END_IF

Еще у тебя написано "если есть конверт" на самом деле клик происходит если пиксель 16514039 не найден
Code: (clickermann) [Select]
IF_PIXEL_IN($X-599,$Y-0, $X+0,$Y+0, 16514039) // пиксель конверта (если есть конверт, то не жмет кнопку "отправить")
   WAITMS(1) // если найден то ничего
ELSE
   // если не найден то
   LOGWRITE ("проверка на конверт и поиск кнопки отправить")
   $ARR_NUM = 99999 // сброс цикла
   LCLICK($X, $Y)
   WAITMS(1000)
END_IF
Может быть тут корень проблемы?
Так в чем проблема? Этот код когда то вы мне и написали. И почему по отдельности работает а вместе нет? Может быть я покажу кому то в скайпе или ТВ в чем проблема?

7
Как ты определил что находит?
если брать с всего кода только
GETSCREEN
IF_PICTURE_IN (231,488, 440,740, "искать.bmp", -1, 100)
   LCLICK($_return1, $_return2)
   WAITMS(100)
END_IF

//поиск изображения входящего сообщения
GETSCREEN
IF_PICTURE_IN (1173,293, 1258,938, "крестик.bmp", -1, 100)
   LCLICK($_return1, $_return2) // сработает если крестик.bmp найден
   WAITMS(100)
else
   // сработает если крестик.bmp не найден
   WAITMS(50)
   //проверка на конверт и поиск кнопки отправить
   GETSCREEN
   SCANPICTURE($ARR_SCAN, 0,0, $_xmax,$_ymax, "отправить2.bmp", -1, 100)
   $ARR_NUM = 0
   WHILE($ARR_NUM < ARRSIZE($ARR_SCAN)) // цикл сработает если отправить2.bmp найдено
      $X = $ARR_SCAN [$ARR_NUM]
      INC($ARR_NUM,1)
      $Y = $ARR_SCAN [$ARR_NUM]
      INC($ARR_NUM,1)
      IF_PIXEL_IN($X-599,$Y-0, $X+0,$Y+0, 16514039) // пиксель конверта (если есть конверт, то не жмет кнопку "отправить")
         WAITMS(1)
      ELSE
         $ARR_NUM = 99999 // сброс цикла
         LCLICK($X, $Y)
         WAITMS(1000)
      END_IF
   END_CYC // конец цикла
END_IF // конец крестик.bmp

то всё работает, картинку находит.

8
Цыкл не срабатывает не смотря на то что картинка есть и её находит.

9
Разберись с алгоритмом

Code: (clickermann) [Select]
//поиск изображения входящего сообщения
GETSCREEN
IF_PICTURE_IN (1173,293, 1258,938, "крестик.bmp", -1, 100)
   LCLICK($_return1, $_return2) // сработает если крестик.bmp найден
   WAITMS(100)
else
   // сработает если крестик.bmp не найден
WAITMS(50)
   //проверка на конверт и поиск кнопки отправить
   GETSCREEN
   SCANPICTURE($ARR_SCAN, 0,0, $_xmax,$_ymax, "отправить2.bmp", -1, 100)
   $ARR_NUM = 0
   WHILE($ARR_NUM < ARRSIZE($ARR_SCAN)) // цикл сработает если отправить2.bmp найдено
      $X = $ARR_SCAN [$ARR_NUM]
      INC($ARR_NUM,1)
      $Y = $ARR_SCAN [$ARR_NUM]
      INC($ARR_NUM,1)
      IF_PIXEL_IN($X-599,$Y-0, $X+0,$Y+0, 16514039) // пиксель конверта (если есть конверт, то не жмет кнопку "отправить")
         WAITMS(1)
      ELSE
         $ARR_NUM = 99999 // сброс цикла
         LCLICK($X, $Y)
         WAITMS(1000)
      END_IF
   END_CYC // конец цикла
END_IF // конец крестик.bmp
я разобрался, всё понятно как работает. Вот эта часть что ты скинул работает если без верхней части. В чем проблема?

10
Там у тебя в конце ошибки с завершениями
Code: (clickermann) [Select]
// вибор ника
LCLICK(1245,169)
WAITMS(500)
LCLICK(1245,169)
WAITMS(50)
KEYDOWN(#SHIFT)
LCLICK(1118,169)
KEYUP(#SHIFT)
WAITMS(50)
//вырезание ника
KEYDOWN (#CTRL)
WAITMS (50)
KEYDOWN (#X)
WAITMS (50)
KEYUP (#X)
KEYUP (#CTRL)
WAITMS (50)

KEYPRESS(#DELETE)

//выделениеника в строке поиска
LCLICK(610,479)
WAITMS(500)
LCLICK(610,479)
WAITMS(50)
KEYDOWN(#SHIFT)
LCLICK(242,478)
KEYUP(#SHIFT)
WAITMS(50)
//удаление и вставка нового ника
KEYPRESS(#DELETE)
WAITMS (50)
KEYDOWN (#CTRL)
WAITMS (50)
KEYDOWN (#V)
WAITMS (50)
KEYUP (#V)
KEYUP (#CTRL)
WAITMS (50)
//поиск и нажатия на искать

GETSCREEN
IF_PICTURE_IN (231,488, 440,740, "искать.bmp", -1, 100)
   LCLICK($_return1, $_return2)
   WAITMS(100)
END_IF
//поиск изображения входящего сообщения
GETSCREEN
IF_PICTURE_IN (1173,293, 1258,938, "крестик.bmp", -1, 100)
   LCLICK($_return1, $_return2)
   WAITMS(100)
else
   WAITMS(50)
   //проверка на конверт и поиск кнопки отправить
   GETSCREEN
   SCANPICTURE($ARR_SCAN, 0,0, $_xmax,$_ymax, "отправить2.bmp", -1, 100)
   $ARR_NUM = 0
   WHILE ($ARR_NUM < ARRSIZE($ARR_SCAN))
      $X = $ARR_SCAN [$ARR_NUM]
      INC($ARR_NUM,1)
      $Y = $ARR_SCAN [$ARR_NUM]
      INC($ARR_NUM,1)
      IF_PIXEL_IN($X-599,$Y-0, $X+0,$Y+0, 16514039) // пиксель конверта (если есть конверт, то не жмет кнопку "отправить")
         WAITMS(1)
      ELSE
         $ARR_NUM = 99999 // сброс цикла
         LCLICK($X, $Y)
         WAITMS(1000)
      END_IF
   END_CYC
END_IF
начиная с 48 строки не работает, по отдельности до 48 и после всё работает, вместе почему то нет.

11
Code: (clickermann) [Select]
// вибор ника
LCLICK(1245,169)
WAITMS(500)
LCLICK(1245,169)
WAITMS(50)
KEYDOWN(#SHIFT)
LCLICK(1118,169)
KEYUP(#SHIFT)
WAITMS(50)
//вырезание ника
KEYDOWN (#CTRL)
WAITMS (50)
KEYDOWN (#X)
WAITMS (50)
KEYUP (#X)
KEYUP (#CTRL)
WAITMS (50)

KEYPRESS(#DELETE)

//выделениеника в строке поиска
LCLICK(610,479)
WAITMS(500)
LCLICK(610,479)
WAITMS(50)
KEYDOWN(#SHIFT)
LCLICK(242,478)
KEYUP(#SHIFT)
WAITMS(50)
//удаление и вставка нового ника
KEYPRESS(#DELETE)
WAITMS (50)
KEYDOWN (#CTRL)
WAITMS (50)
KEYDOWN (#V)
WAITMS (50)
KEYUP (#V)
KEYUP (#CTRL)
WAITMS (50)
//поиск и нажатия на искать

GETSCREEN
IF_PICTURE_IN (231,488, 440,740, "искать.bmp", -1, 100)
   LCLICK($_return1, $_return2)
   WAITMS(100)
END_IF
//поиск изображения входящего сообщения
GETSCREEN
IF_PICTURE_IN (1173,293, 1258,938, "крестик.bmp", -1, 100)
   LCLICK($_return1, $_return2)
   WAITMS(100)
else
   WAITMS(50)
   //проверка на конверт и поиск кнопки отправить
   GETSCREEN
   SCANPICTURE($ARR_SCAN, 0,0, $_xmax,$_ymax, "отправить2.bmp", -1, 100)
   $ARR_NUM = 0
   WHILE ($ARR_NUM < ARRSIZE($ARR_SCAN))
      $X = $ARR_SCAN [$ARR_NUM]
      INC($ARR_NUM,1)
      $Y = $ARR_SCAN [$ARR_NUM]
      INC($ARR_NUM,1)
      IF_PIXEL_IN($X-599,$Y-0, $X+0,$Y+0, 16514039) // пиксель конверта (если есть конверт, то не жмет кнопку "отправить")
         WAITMS(1)
      ELSE
         $check = 1
         $ARR_NUM = 99999 // сброс цикла
         LCLICK($X, $Y)
         WAITMS(1000)
      END_IF
   END_IF

12
Code: (clickermann) [Select]
GETSCREEN
SCREENSHOTEX(300,300, 600,600, "Image_", 0) // сделать скриншот в BMP
HALT

GETSCREEN
SCREENSHOTEX(300,300, 600,600, "Image_", 1) // сделать скриншот в JPG
HALT
спасибо за ответы. Браться будут по 1 строке из файла ники?

13
И еще зачем убрали возможность делать скрин определенной области? Или её куда то перенесли?

14
Использование / Помощь по синстаксису
« on: April 23, 2015, 10:28:36 AM »
Всем привет. Ребят, нужно сделать такую вещь. Нужно чтоб кликер брал ник, вставлял в поле, нажимал искать и дальше уже производил некоторые действия, вопрос как сделать чтобы он шел по списку ников?

15
Как сказал Джонни для этого нужно переписать движок под современную IDE. http://crapware.aidf.org/forum/index.php?topic=1493.msg8064#msg8064
Наверное это будет 5.0  ;)
Яснопонятно. Спасибо)

Pages: [1] 2 3