Author Topic: нужна помощь новичку.  (Read 5257 times)

0 Members and 4 Guests are viewing this topic.

БогданУкраина

  • Зашел в гости
  • *
  • Posts: 2
    • View Profile
нужна помощь новичку.
« on: June 15, 2014, 04:13:46 AM »
Доброго времени суток. нужна помощь новичку. в флешигре картинку по которым нужно нажимать (ящики и луна) полупрозрачные управления игре мышкой ( Команда IF_PICTURE_IN (74,180, 1530,850, "ящик1.bmp", -1, 80) работает до первого сбора ресурсов затем картинку становится ярче или темнее. bgcolor менял от -1 до -4, currency от 80 до 50. не помогает. Вот фотки и Скрипт...

Code: (clickermann) [Select]
//Збор монет и молотков
      GETSCREEN  //поиск скриншота с цветокоррекцией (фильтр 6)
COLORMODE(6) //менял от 6 до 8
IF_PICTURE_IN (74,180, 1530,850, "ящик.bmp", -1, 80)
   LCLICK($_return1-7), $_return2+40))
  WAIT(RND(5,9))
      END_IF

aden

  • Оплот сообщества
  • ****
  • Posts: 363
    • View Profile
Re: нужна помощь новичку.
« Reply #1 on: June 15, 2014, 09:42:39 AM »
элементарно сделай два if_picture_in на каждую картинку(яркую и темную)

БогданУкраина

  • Зашел в гости
  • *
  • Posts: 2
    • View Profile
Re: нужна помощь новичку.
« Reply #2 on: June 15, 2014, 04:24:05 PM »
Code: (clickermann) [Select]
IF_PICTURE_IN (74,180, 1530,850, "ящик.bmp", "ящик1.bmp","ящик3.bmp","ящик4.bmp",-1, 80)
   LCLICK($_return1-7), $_return2+40))
  Скажите будет так команда работать?

 
Code: (clickermann) [Select]
//как сделать чтоб после 10 цыклов
IF_PICTURE_IN (74,180, 1530,850, "5 минут.bmp", -1, 80)
  LCLICK($_return1-7), $_return2+40))
//она останавливалась, но переходила на другую
IF_PICTURE_IN (74,180, 1530,850, "15 минут.bmp", -1, 80)
  LCLICK($_return1-7), $_return2+40))
Если можно  наведите пример

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: нужна помощь новичку.
« Reply #3 on: June 15, 2014, 08:09:55 PM »
Code: (clickermann) [Select]
IF_PICTURE_IN (74,180, 1530,850, "ящик.bmp", "ящик1.bmp","ящик3.bmp","ящик4.bmp",-1, 80)
   LCLICK($_return1-7), $_return2+40))
  Скажите будет так команда работать?

 
Code: (clickermann) [Select]
//как сделать чтоб после 10 цыклов
IF_PICTURE_IN (74,180, 1530,850, "5 минут.bmp", -1, 80)
  LCLICK($_return1-7), $_return2+40))
//она останавливалась, но переходила на другую
IF_PICTURE_IN (74,180, 1530,850, "15 минут.bmp", -1, 80)
  LCLICK($_return1-7), $_return2+40))
Если можно  наведите пример

Лишние скобки "LCLICK($_return1-7), $_return2+40))"
Code: (clickermann) [Select]
   LCLICK($_return1-7, $_return2+40)
Указывать более одной картинки нельзя, нужно вкладывать функции друг в друга
Code: (clickermann) [Select]
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "ящик.bmp", -1, 80)
   LCLICK($_return1-7, $_return2+40)
   WAITMS(100)
ELSE
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "ящик1.bmp", -1, 80)
      LCLICK($_return1-7, $_return2+40)
      WAITMS(100)
   ELSE
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "ящик3.bmp", -1, 80)
         LCLICK($_return1-7, $_return2+40)
         WAITMS(100)
      ELSE
         IF_PICTURE_IN (0,0, $_xmax,$_ymax, "ящик4.bmp", -1, 80)
            LCLICK($_return1-7, $_return2+40)
            WAITMS(100)
         END_IF
      END_IF
   END_IF
END_IF

По второму мало данных.
Приблизительно так, но нужно ли прерывать цикл если картинка найдена? Хотя 10 циклов пролетят за несколько миллисекунд. Обычно для ожидания появления картинки ставят таймер на цикл.
Code: (clickermann) [Select]
$loop = 0
while($loop<10)
   GETSCREEN
   IF_PICTURE_IN (74,180, 1530,850, "5 минут.bmp", -1, 80)
      LCLICK($_return1-7, $_return2+40)
      WAITMS(100)
   END_IF
   inc($loop,1)
   WAITMS(50)
END_CYC

$loop = 0
while($loop<10)
   GETSCREEN
   IF_PICTURE_IN (74,180, 1530,850, "15 минут.bmp", -1, 80)
      LCLICK($_return1-7, $_return2+40)
      WAITMS(100)
   END_IF
   inc($loop,1)
   WAITMS(50)
END_CYC

Zimon

  • Зашел в гости
  • *
  • Posts: 17
    • View Profile
Re: нужна помощь новичку.
« Reply #4 on: October 01, 2016, 08:55:44 PM »
Подскажите, как упростить этот код, а то я вставил туда 70 разкых картинок, и теперь тупит.

Code: (clickermann) [Select]
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "ящик.bmp", -1, 80)
   LCLICK($_return1-7, $_return2+40)
   WAITMS(100)
ELSE
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "ящик1.bmp", -1, 80)
      LCLICK($_return1-7, $_return2+40)
      WAITMS(100)
   ELSE
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "ящик3.bmp", -1, 80)
         LCLICK($_return1-7, $_return2+40)
         WAITMS(100)
      ELSE
         IF_PICTURE_IN (0,0, $_xmax,$_ymax, "ящик4.bmp", -1, 80)
            LCLICK($_return1-7, $_return2+40)
            WAITMS(100)
         END_IF
      END_IF
   END_IF
END_IF
« Last Edit: October 01, 2016, 10:10:54 PM by Zimon »

Золотой

  • Оплот сообщества
  • ****
  • Posts: 312
    • View Profile
Re: нужна помощь новичку.
« Reply #5 on: October 01, 2016, 11:27:02 PM »
Извините конечно, но вы не обратили внимания, что это код составил СУПЕРМОДЕРАТОР  и даже не побоюсь этого слова ГЕРОЙ ФОРУМА!!! 8)
так что тупить он не может, по определению. Тем более, что упрощать - это не наш метод, архиважно; усложнять, усложнять и ещё раз усложнять, :o чтоб добиться превосходных результатов в работе.  :)

Золотой

  • Оплот сообщества
  • ****
  • Posts: 312
    • View Profile
Re: нужна помощь новичку.
« Reply #6 on: October 01, 2016, 11:44:15 PM »
Code: (clickermann) [Select]
// "ящик.bmp  переименовать с номером
$yashikov=70 // указать число картинок
GETSCREEN
$var=1
WHILE($var < $yashikov)
   IF_PICTURE_IN (0,0, $_xmax,$_ymax,STRCONCAT("ящик",$var,".bmp"), -1, 80)
      LCLICK($_return1-7, $_return2+40)
      WAITMS(100)
      $var=$yashikov
   ELSE
      INC($var,1)
   END_IF
END_CYC
//а тупит из за долгого поиска при низком проценте совпадения 80%
// или из за неточного клика по найденой картинке $_return2+40

Zimon

  • Зашел в гости
  • *
  • Posts: 17
    • View Profile
Re: нужна помощь новичку.
« Reply #7 on: October 02, 2016, 03:33:09 AM »
Спасибо.

Еще одно, как этот код в подпрограмму засунуть и заставить 3 раза подряд проиграть? По справке пытался, не получилось  :(

Золотой

  • Оплот сообщества
  • ****
  • Posts: 312
    • View Profile
Re: нужна помощь новичку.
« Reply #8 on: October 02, 2016, 01:17:51 PM »
Спасибо.

Еще одно, как этот код в подпрограмму засунуть и заставить 3 раза подряд проиграть? По справке пытался, не получилось  :(
какой именно код? ???

Zimon

  • Зашел в гости
  • *
  • Posts: 17
    • View Profile
Re: нужна помощь новичку.
« Reply #9 on: October 02, 2016, 01:58:21 PM »
Спасибо.

Еще одно, как этот код в подпрограмму засунуть и заставить 3 раза подряд проиграть? По справке пытался, не получилось  :(
какой именно код? ???

Этот...
Code: (clickermann) [Select]
$yashikov=70 // указать число картинок
GETSCREEN
$var=1
WHILE($var < $yashikov)
   IF_PICTURE_IN (0,0, $_xmax,$_ymax,STRCONCAT("ящик",$var,".bmp"), -1, 80)
      LCLICK($_return1-7, $_return2+40)
      WAITMS(100)
      $var=$yashikov
   ELSE
      INC($var,1)
   END_IF
END_CYC

Золотой

  • Оплот сообщества
  • ****
  • Posts: 312
    • View Profile
Re: нужна помощь новичку.
« Reply #10 on: October 02, 2016, 06:24:08 PM »
заставить оно конечно не трудно,  :-[
Code: (clickermann) [Select]
SUB(ящички) // подпрограмма выполняется только после вызова
   FOR($a=0,$a<3) // заставить  3 раза подряд проиграть
      $yashikov=70   // указать число картинок
      GETSCREEN
      $var=1
      WHILE($var < $yashikov)
         IF_PICTURE_IN (0,0, $_xmax,$_ymax,STRCONCAT("ящик",$var,".bmp"), -1, 80)
            LCLICK($_return1-7, $_return2+40)
            WAITMS(100)
            $var=$yashikov
         ELSE
            INC($var,1)
         END_IF
      END_CYC
   END_CYC
END_SUB

ящички() // вызов подпрограммы (обязательно ниже подпрограммы)
вот только заставлять легко, а подумать, как оно должно правильно работать без заставлялок, это труднее.
на мой взгляд, всё у вас правильно если нужно найти только три первых попавшихся ящика.
А вот если нужно найти все ящики , то гораздо проще сканировать координаты всех картинок в один массив, а потом решать что с ними делать.
:-\
« Last Edit: October 02, 2016, 06:27:25 PM by Золотой »

Zimon

  • Зашел в гости
  • *
  • Posts: 17
    • View Profile
Re: нужна помощь новичку.
« Reply #11 on: October 03, 2016, 01:20:56 AM »
заставить оно конечно не трудно,  :-[

вот только заставлять легко, а подумать, как оно должно правильно работать без заставлялок, это труднее.
на мой взгляд, всё у вас правильно если нужно найти только три первых попавшихся ящика.
А вот если нужно найти все ящики , то гораздо проще сканировать координаты всех картинок в один массив, а потом решать что с ними делать.
:-\



Ну мне пока трудно заставить, вот на примерах учусь  :)
Спасибо!