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 - Ramzesia

Pages: 1 2 [3] 4 5 ... 18
31
Общие вопросы / Re: Поиск картинок
« on: November 21, 2020, 12:31:27 PM »
Спасибо большое, но это не совсем то что нужно, теперь он делает следующее, если одна из искомых картинок найдена больше чем 1, то он проликивает как я хотел с низу и на лево а вот если всего одна то кликает с верху на право. Я так понимаю нужно сам поиск картинки изменить, если он будет сканировать с низу в лево то и кликать будет так как нужно.

32
Общие вопросы / Поиск картинок
« on: November 19, 2020, 05:06:01 PM »
Картинки находи все работает норм, но после того как найдет картинку, клики идут с лева на право и сверху вниз. Возможно ли сделать так что бы прокликивалось наоборот, с низу вверх и с права на лево?
Code: (clickermann) [Select]
FOR($Varr=1, $Varr < 30)
   GETSCREEN
   SCANPICTURE($ARR_SCAN, 0,0, $_xmax,$_ymax, STRCONCAT($Varr, ".bmp"), -1, 100)
   $scan_size = ARRSIZE($ARR_SCAN)
   FOR($ARR_NUM=0, $ARR_NUM < $scan_size, 2)
      $X = $ARR_SCAN[$ARR_NUM]
      $Y = $ARR_SCAN[$ARR_NUM+1]
      LCLICK($X + 3, $Y + 3)
      WAITMS(100)
   END_CYC
   UNDEFINE($ARR_SCAN)
   WAITMS(50)
END_CYC

33
Если надпись одинаковая, можно заполнить фон какимнибуть цветом, и в иф пикчер игнорировать этот цвет.

34
Есть вариант обойти защиту.

35
Привет, долго меня не было, реал затянул. Вот нашлось время и эта прекрасная тема опять понадобилась. Все установил все поставил, но столкнулся с парой проблем, скорость передвижения все таки медленная, остсюда вопрос можно ли без передвижения? Тупо мгновенно клик в заданные координаты? И вторая проблема почему то буквы у меня не печатает( с мышкой все нормально а с буквами беда может что то не правильно делаю?
Code: (clickermann) [Select]
micro_keypress ("a")

36
Целиком окно заскринь, и как ты скрины делаешь?
Если через пеинт то при сохранении выбери BMP формат

37
Пробуй так
Code: (clickermann) [Select]
$check = 0
WHILE($check = 0)
   GETSCREEN
   COLORMODE(6)
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "Завершить.bmp", -1, 95)
      LCLICK($_return1, $_return2)
      WAITMS(500)
      MOVE($_return1 - 50, $_return2)
   ELSE
      KEYPRESS(#ESC)
      $check = 1
      WAITMS(150)
   END_IF
END_CYC
Quote
А также вопрос по мигающей кнопке.
А ее надо увидеть что бы понять что с ней делать

38
Не совсем понятно, что ты не понял, вроде я довольно понятно все написал.
По поводу если не найдена картинка:
Code: (clickermann) [Select]
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file.bmp", -1, 100) // Если найдено
   LCLICK($_return1, $_return2) // Клик по картинке
   WAITMS(100)
ELSE  // Если не найдено
   WAITMS(300)
   KEYPRESS(#ESC) // Жмем ESC
   WAITMS(50)
END_IF
Quote
И как бы сделать так, чтобы при нажатии на картинку, если она снова появляется в том же месте, на нее нажималось именно столько раз, сколько она будет появляться?
Напиши прямо куда нажимать? Ты про подарки от друзей? Добавь меня в скайп ggk-vova, вечером если не буду занят, пообщаемся, и попробуем собрать то что тебе нужно.

39
Да и еще, учти такой момент, когда ты найдешь картинку переменные $_return запомнят координаты картинки 1 и все расчеты производишь относительно этих координат, но когда ты запустишь поиск второй картинки или пикселя,в переменные $_return запишутся уже координаты картинки 2.

40
Quote
И можно ли быстро узнать на сколько идет смещение до нужно точки нажатия? А то вчера полвечера просидел с калькулятором считал куда нажать ;D
Есть проги которые все это высчитывают, я привык сам с добрым калюкулятором, нахожу координаты картинки потом от них отнимаю те в которые надо нажать после поиска, если значение положительное тогда прибавляешь к $_return если отрицательно то отнимаешь все просто

41
После поиска картинки, переменные примут значения координат, найденной картинки (левый верх куска картинки) и дальнейшие расчеты надо делать относительно этих координат. например картинка, которую мы ищем, находится в координатах 10 10 переменные  $_return1 и $_return2 присвоили значение 10 10, что бы попасть по картинке, желательно прибавить к ним пару пикселей получится ($_return1 + 5, $_return2 + 5) теперь нам надо кликнуть ниже и правее от найденной картинки на 10 по х и на 20 по у, мы помним что $_return1 и $_return2 = х10 у10 значит надо прибавить получится ($_return1 + 10, $_return2 + 20) и скажем нужно еще кликнуть левее на 20 и ниже на 30 получится ($_return1 - 20, $_return2 + 30). что бы узнать координаты искомой картинки, можно после поиска картинки, прописать запись в лог такую строчку
Code: (clickermann) [Select]
GETSCREEN
 IF_PICTURE_IN (0,0, $_xmax,$_ymax, "Крестик.bmp", -1, 90)
  LOGWRITE ($_return1, " х ", $_return2)
END_IF
или такую
Code: (clickermann) [Select]
GETSCREEN
 IF_PICTURE_IN (0,0, $_xmax,$_ymax, "Крестик.bmp", -1, 90)
  MOVE($_return1, $_return2) // Курсор прыгнет на эти координаты, потом можно запомнить их или нахать Alt+Q они запишутся в открытом редакторе кликермана
END_IF

42
Это из справки кликермена
IF_PICTURE_IN ... END_IF

Производит поиск изображения в прямоугольной области буфера анализа.

Синтаксис

IF_PICTURE_IN (x, y, x2, y2, file, [bgcolor], [currency] )
...
END_IF



Параметры
x, y - числовые координаты левого верхнего угла области поиска
x2, y2 - числовые координаты правого нижнего угла области поиска
file - bmp файл, поиск которого будет осуществляться
bgcolor - необязательный параметр; игнорируемый цвет фона входного изображения
currency - необязательный параметр; точность поиска в процентах (1..100)



Возвращаемые параметры
$_return1 - x координата найденного изображения
$_return2 - y координата -//-



Пример
Code: (clickermann) [Select]
getscreen

IF_PICTURE_IN (10,20, 300, 300, "somefile.bmp")
 move($_return1, $_return2)
END_IF


43
Проверяй такой вариант
Code: (clickermann) [Select]
#name "Хроники хаоса"

// Проверяем и закрываем рекламу
$check = 2
$time = $_time_t + 8 // таймер на 8 секунд
WHILE($time > $_time_t) | ($check > 0)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "Крестик.bmp", -1, 90)
      INC($check,-1)
      LCLICK($_return1 + 10, $_return2 + 10)
      WAITMS(1500)
   ELSE
      WAITMS(1500)
   END_IF
END_CYC
IF($time ! 0)
END_IF
WAITMS(800)

// Ищим арену
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "Арена.bmp", -1, 90)
   LCLICK($_return1 + 15, $_return2 + 15) // Клик по арена
   WAITMS(1500)
   LCLICK($_return1, $_return2 + 145) // Клик по напасть
   WAITMS(1500)
   LCLICK($_return1 + 280, $_return2 + 205) // Клик по в бой
   WAITMS(1200)
END_IF

// Ожидаем появления паузы
$check = 0
WHILE($check = 0)
   GETSCREEN
   COLORMODE(6)
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "Пауза.bmp", -1, 90)
      LCLICK($_return1 + 10, $_return2 + 10) // Клик по пауза
      WAITMS(500)
      LCLICK($_return1 - 460, $_return2 + 340) // Клик по пропустить
      $check = 1
      WAITMS(100)
   ELSE
      WAITMS(50)
   END_IF
END_CYC

HALT // Удали это если надо что бы скрипт работал без остановки

44
Там такое условие, запуск игры появляется окно с крестиком, первое всегда, второе может быть а может и нет, 5 сек хватает что бы 2 окна поймать, надо проверить первое и закрыть потом в течении 5 сек чекать второе, если есть закрыть, если нет пойти дальше.
Так можно это проверять? Вроде работает, но не уверен что сделал правильно.
Code: (clickermann) [Select]
$check = 2
$time = $_time_t + 8 // таймер на 8 секунд
WHILE($time > $_time_t) | ($check > 0)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "Крестик.bmp", -1, 90)
      INC($check,-1)
      LCLICK($_return1 + 10, $_return2 + 10)
      WAITMS(1500)
   ELSE
      WAITMS(1500)
   END_IF
END_CYC
IF($time ! 0)
END_IF

45
Если на середину там разница 200 пикселей, нужно по оси х отнять 200 пикселей
Code: (clickermann) [Select]
LCLICK($_return1 - 200, $_return2 + 145) // Клик по напасть (средняя кнопка)

Pages: 1 2 [3] 4 5 ... 18