Author Topic: Проект "Восстановление"  (Read 9252 times)

0 Members and 6 Guests are viewing this topic.

open_78

  • Активный участник
  • ***
  • Posts: 285
  • v4.13.014 x64
    • View Profile
Re: Проект "Восстановление"
« Reply #15 on: March 05, 2017, 05:54:18 PM »
Сначала сделать скрин. И заново сделать каплю.
Code: (clickermann) [Select]
GETSCREEN
COLORMODE(6)
SCREENSHOT
HALT
Потом в скрипте добавить.
Code: (clickermann) [Select]
//#name "PV"
//$HWnd = 5965136
//$WM_LBUTTONDOWN = 0x0201
//$WM_LBUTTONUP = 0x0202
//$WM_MOUSEMOVE = 0x0200
//$MK_LBUTTON = 0x0001
 
getscreen
COLORMODE(6)
if_picture_in(0, 0, $_xmax, $_ymax, "water.bmp",-1,90)
//-375 -100
 MOVE ($_return1 ,$_return2)
end_if  // Самое главное забыл
HALT  //  Тоже пригодится
-1 - это цвет маски(игнорируемый), Если -1 - без маски.
« Last Edit: March 05, 2017, 06:08:35 PM by open_78 »

Meamyr

  • Зашел в гости
  • *
  • Posts: 16
    • View Profile
Re: Проект "Восстановление"
« Reply #16 on: March 05, 2017, 06:05:18 PM »
То же самое. Тычет в точку которую отсчитывает по браузеру а не игре.

Но ведь в скрипте нет отсылки к hWND? Он нигде не используется в команде. Мы его только задаем. Может по этому? Как его в оборот включить? С end_if ничего не делается вообще. Без него он тычит не туда.
« Last Edit: March 05, 2017, 06:08:02 PM by Meamyr »

open_78

  • Активный участник
  • ***
  • Posts: 285
  • v4.13.014 x64
    • View Profile
Re: Проект "Восстановление"
« Reply #17 on: March 05, 2017, 06:10:57 PM »
Не делается т.к. картинку не находит. Уменьшай процент.

Meamyr

  • Зашел в гости
  • *
  • Posts: 16
    • View Profile
Re: Проект "Восстановление"
« Reply #18 on: March 05, 2017, 06:46:21 PM »
Заработало, пробовал разные варианты, переделал каплю не CM6 10х10, а CM6 5x5.

Code: (clickermann) [Select]
#name "PV"
$HWnd = 2032438
$WM_LBUTTONDOWN = 0x0201
$WM_LBUTTONUP = 0x0202
$WM_MOUSEMOVE = 0x0200
$MK_LBUTTON = 0x0001
getscreen
COLORMODE(6)
if_picture_in(0, 0, $_xmax, $_ymax, "waterCM6_25.bmp",-1,90)
Move ($_return1 ,$_return2)
//postmessage($HWND, $WM_MOUSEMOVE, 0, $_return1 + ($_return2*65536))
HALT  //

Этот вариант не работает (подозреваю что из-за нуля). Как сделать чтобы он тыкал в окно не открывая его? Предварительно нужно двинуть мышь, потому что игра не сразу реагирует на перемещения, как я заметил. Но в той теме про WinAPI через PostMessage (hWnd, Msg, wParam, lParam) не сказано что нужно писать для движения в поле wParam
Code: (clickermann) [Select]
#name "PV"
$HWnd = 2032438
$WM_LBUTTONDOWN = 0x0201
$WM_LBUTTONUP = 0x0202
$WM_MOUSEMOVE = 0x0200
$MK_LBUTTON = 0x0001
getscreen
COLORMODE(6)
if_picture_in(0, 0, $_xmax, $_ymax, "waterCM6_25.bmp",-1,90)
//Move ($_return1 ,$_return2)
postmessage($HWND, $WM_MOUSEMOVE, 0, $_return1 + ($_return2*65536))
HALT  //

open_78

  • Активный участник
  • ***
  • Posts: 285
  • v4.13.014 x64
    • View Profile
Re: Проект "Восстановление"
« Reply #19 on: March 05, 2017, 06:54:43 PM »
Нафига end_if убрал? Без него нельзя!!!

Meamyr

  • Зашел в гости
  • *
  • Posts: 16
    • View Profile
Re: Проект "Восстановление"
« Reply #20 on: March 05, 2017, 06:56:07 PM »
Но ведь работало! =D Ладно, могу и вернуть

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Проект "Восстановление"
« Reply #21 on: March 05, 2017, 07:14:19 PM »
В свернутом окне графика не показывается, поэтому и анализ не возможен.

Code: (clickermann) [Select]
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN(0, 0, $_xmax, $_ymax, "waterCM6_25.bmp",-1,90)
   POSTMESSAGE($_hwnd, 0x0200, 0x0001, $_return1 + ($_return2*65536)) // наводим
   WAITMS(50)
   POSTMESSAGE($_hwnd, 0x0201, 0x0001, $_return1 + ($_return2*65536) // зажимаем
   waitms(50)
   POSTMESSAGE($_hwnd, 0x0202, 0x0001, $_return1 + ($_return2*65536)) // отпускаем
   waitms(100)
ELSE
   HINTPOPUP("Не нашел")
END_IF

HALT  // Стоп

Meamyr

  • Зашел в гости
  • *
  • Posts: 16
    • View Profile
Re: Проект "Восстановление"
« Reply #22 on: March 06, 2017, 05:55:43 PM »
Oraven, ваш скрипт тоже не срабатывает, возвращаясь к моему старому упростим скрипт, вот что я обнаружил:
Code: (clickermann) [Select]
#name "PV"
$HWnd = 263244 //ìåíÿåì êàæäûé ðàç
$WM_LBUTTONDOWN = 0x0201
$WM_LBUTTONUP = 0x0202
$WM_MOUSEMOVE = 0x0200
$MK_LBUTTON = 0x0001
     
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN(0, 0, $_xmax, $_ymax, "waterCM6_25.bmp",-1,90)
Move ($_return1 ,$_return2)
//   POSTMESSAGE($_hwnd, 0x0200, 0x0001, $_return1 + ($_return2*65536)) // íàâîäèì
//   WAITMS(50)
//   POSTMESSAGE($_hwnd, 0x0201, 0x0001, $_return1 + ($_return2*65536) // çàæèìàåì
//   waitms(50)
//   POSTMESSAGE($_hwnd, 0x0202, 0x0001, $_return1 + ($_return2*65536)) // îòïóñêàåì
//   waitms(100)
//ELSE
//   HINTPOPUP("Íå íàøåë")
//END_IF
 
HALT  // Ñòîï

Без else, hintpopup, end_if - работает, курсор наводится на воду.
С else, hintpopup, end_if - срабатывает "иначе", показывает "не нашел"
С end_if - не работает, курсор на месте.
Рабочий вариант с выключенными else, hintpopup, end_if и заменой Move на три ваших Postmessage так же не работает или показывает "не нашел" с условием "иначе".
Если Move убрать и оставить только один Postmessage с движением мыши - не работает
« Last Edit: March 06, 2017, 06:00:28 PM by Meamyr »

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Проект "Восстановление"
« Reply #23 on: March 06, 2017, 06:04:46 PM »
Да, блин. Тебе уже пять раз сказали, без END_IF нельзя!
Конструкция условия состоит из
Code: (clickermann) [Select]
IF_
...
END_IF

Не будет END_IF, не будет работать и строка IF_. СОВСЕМ. Просто пропускается. Хоть есть там картинка, хоть нет, тупо идёт дальше и выполняется Move.

У тебя не находит картинку, а ты вместо решения вопроса кликеру зубы выбиваешь.


Meamyr

  • Зашел в гости
  • *
  • Posts: 16
    • View Profile
Re: Проект "Восстановление"
« Reply #24 on: March 06, 2017, 06:07:10 PM »
Я понимаю что должен быть конец условия, но почему с ним не работает, а без него наводится точно на воду, он же находит воду без него, что мешает найти с завершенной конструкцией, вот что вызывает недоумение

open_78

  • Активный участник
  • ***
  • Posts: 285
  • v4.13.014 x64
    • View Profile
Re: Проект "Восстановление"
« Reply #25 on: March 06, 2017, 06:11:27 PM »
У тебя не находит картинку!!!
« Last Edit: March 06, 2017, 06:39:50 PM by open_78 »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Проект "Восстановление"
« Reply #26 on: March 06, 2017, 06:13:18 PM »
Значения в системных переменных $_return1 ,$_return2 не сбрасываются даже после остановки скрипта. Именно поэтому их всегда пишут внутри условия.

IF_PICTURE_IN это функция-условие.

Code: (clickermann) [Select]
IF_PICTURE_IN(0, 0, $_xmax, $_ymax, "waterCM6_25.bmp",-1,90)
// все что здесь выполняется если картинка найдена
ELSE
// эта часть выполняется если картинка не найдена.
END_IF

Завязывай уже портить условие, и копай в сторону не нахождения твоей "waterCM6_25.bmp"!

Meamyr

  • Зашел в гости
  • *
  • Posts: 16
    • View Profile
Re: Проект "Восстановление"
« Reply #27 on: March 06, 2017, 07:12:10 PM »
Значения в системных переменных $_return1 ,$_return2 не сбрасываются даже после остановки скрипта. Именно поэтому их всегда пишут внутри условия.
Воо) Теперь я понял!

open_78

  • Активный участник
  • ***
  • Posts: 285
  • v4.13.014 x64
    • View Profile
Re: Проект "Восстановление"
« Reply #28 on: March 06, 2017, 07:36:23 PM »
Ты писал:

2) Нажатия по таким иконкам, иконки немного движутся вверх-вниз.

Иконки при движении возможно меняют рисунок.
Попробуй найти этим скриптом. Он ждет появления нужной картинки.
Code: (clickermann) [Select]
$var=0
WHILE($var=0)
   GETSCREEN
   COLORMODE(6)
   IF_PICTURE_IN(0, 0, $_xmax, $_ymax, "waterCM6_25.bmp",-1,90)
      $var=1
      MOVE ($_return1 ,$_return2)
      HINTPOPUP("НАШЕЛ ТУТ-Х=",$_return1," У=",$_return2)
      WAITMS(100)
   ELSE
      WAITMS(50)
   END_IF
END_CYC
HALT
Даже на первом скрине из первого поста на двух иконках очень отличающиеся друг от друга картинки капли.

« Last Edit: March 06, 2017, 09:39:45 PM by open_78 »

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Проект "Восстановление"
« Reply #29 on: March 06, 2017, 10:12:34 PM »
Капли из первоно поста? А что можно сказать по jpeg-у? Только что где находится и как расположено.

Пора аршинными буквами написать про скрины в png. И не отвечать, пока не появятся.