Author Topic: Игра  (Read 27775 times)

0 Members and 1 Guest are viewing this topic.

Viktor77

  • Активный участник
  • ***
  • Posts: 106
    • View Profile
Re: Игра
« Reply #60 on: April 21, 2020, 04:22:04 PM »
зачем-же обманывать, не все в колхозе дураки - мы знаем что такое ELSE!
Если вы не знаете, то почитайте справочку, а потом придумывайте более убедительные сказки про
"дальше 20, 21, 22, 23 далее находит 345"
как говорится " или-или, четвёртого не дано!"
знаю что такое else

Viktor77

  • Активный участник
  • ***
  • Posts: 106
    • View Profile
Re: Игра
« Reply #61 on: April 23, 2020, 09:31:52 AM »
Code: (clickermann) [Select]
// 21.04.2020
#name "V6.0 помогите разобраться"
SUB(клик,$par1,$par2,$par3) // подпрограмма с параметрами
   LCLICK($par1,$par2)
   WAITMS($par3)
END_SUB
SUB(картинка,$par4,$par5,$par6,$par7,$par8,$par9,$par10,$par11)
   GETSCREEN($par4,$par5,$par6,$par7)
   IF_PICTURE_IN ($par4,$par5,$par6,$par7,$par8, -1, 100)
      $check = 1
      клик($_return1+$par9,$_return2+$par10,$par11)
   END_IF
END_SUB   
LOGCLEAR
WAITMS(50)
LOGWRITE ("Старт")
WAITMS(50)
картинка(334,75, 1028,640,"76.bmp",2,2,2000)
$check = 0
WHILE($check = 0)
   GETSCREEN(690,460,820,550)
   IF_PICTURE_IN (690,460,820,550, "78.bmp", - 1, 90)
      LOGWRITE ("найдена 78")
      move($_return1, $_return2)
      WAITMS(6000)
      картинка(160, 167, 1109, 681, "20.bmp",2,2, 2000)
      картинка(160, 167, 1109, 681, "21.bmp",2,2, 2000)
      картинка(160, 167, 1109, 681, "22.bmp",2,2, 2000)
      картинка(160, 167, 1109, 681, "23.bmp",2,2, 2000)
   ELSE
      LOGWRITE ("искать картинку 345")
      WAITMS(2000)
      картинка(1090, 150, 1120, 180, "345.bmp",2,2, 1000)
   END_IF
END_CYC
LOGWRITE (" Стоп, найдена картинка 345")
HALT
пока есть картинка 79, нужно искать картинку 20-23, после прекратить действие. картинка 79 есть, но 1 раз ее ищет, после завершает работу
Code: (clickermann) [Select]
SUB(клик,$par1,$par2,$par3) // подпрограмма с параметрами
   LCLICK($par1,$par2)
   WAITMS($par3)
END_SUB
SUB(картинка,$par4,$par5,$par6,$par7,$par8,$par9,$par10,$par11)
   GETSCREEN($par4,$par5,$par6,$par7)
   IF_PICTURE_IN ($par4,$par5,$par6,$par7,$par8, -1, 100)
      $check = 1
      клик($_return1+$par9,$_return2+$par10,$par11)
   END_IF
END_SUB
LOGCLEAR
WAITMS(50)
LOGWRITE ("Старт")
WAITMS(50)
картинка(334,75, 1028,640,"76.bmp",2,2,2000)
GETSCREEN(690,460,820,550)
IF_PICTURE_IN (690,460,820,550, "79.bmp", - 1, 100)
   LOGWRITE ("найдена 79")
   move($_return1, $_return2)
   WAITMS(2000)
   картинка(160, 167, 1109, 681, "20.bmp",2,2, 2000)
   картинка(160, 167, 1109, 681, "21.bmp",2,2, 2000)
   картинка(160, 167, 1109, 681, "22.bmp",2,2, 2000)
   картинка(160, 167, 1109, 681, "23.bmp",2,2, 2000)
ELSE
   $check = 0
   WHILE($check = 0)
      GETSCREEN(690,460,820,550)
      IF_PICTURE_IN (690,460,820,550, "79.bmp", - 1, 100)
         картинка(160, 167, 1109, 681, "20.bmp",2,2, 2000)
         картинка(160, 167, 1109, 681, "21.bmp",2,2, 2000)
         картинка(160, 167, 1109, 681, "22.bmp",2,2, 2000)
         картинка(160, 167, 1109, 681, "23.bmp",2,2, 2000)
         $check = 1
         move($_return1, $_return2)
         LOGWRITE ("картинка 79 не найдена")
      END_IF
   END_CYC
END_IF
HALT

Viktor77

  • Активный участник
  • ***
  • Posts: 106
    • View Profile
Re: Игра
« Reply #62 on: April 23, 2020, 12:54:19 PM »
что нужно добавить чтоб работало?
Code: (clickermann) [Select]
SUB(клик,$par1,$par2,$par3) // подпрограмма с параметрами
   LCLICK($par1,$par2)
   WAITMS($par3)
END_SUB
SUB(картинка,$par4,$par5,$par6,$par7,$par8,$par9,$par10,$par11)
   GETSCREEN($par4,$par5,$par6,$par7)
   IF_PICTURE_IN ($par4,$par5,$par6,$par7,$par8, -1, 100)
      $check = 1
      клик($_return1+$par9,$_return2+$par10,$par11)
   END_IF
END_SUB
LOGCLEAR
WAITMS(50)
LOGWRITE ("Старт")
WAITMS(50)
WAIT(3)
SETKBLAYOUT(WNDFIND("Clickermann",0), 1049)
WAITMS(50)
SETKBLAYOUT(WNDFIND("yandex",0), 1049)
WAITMS(50)
KEYSTRING("текст")
WAITMS(50)
картинка(0,636, 437,757,"картинка.bmp",2,2,2000)
SETKBLAYOUT(WNDFIND("Clickermann",0), 1033)
WAITMS(50)
SETKBLAYOUT(WNDFIND("yandex",0), 1033)
KEYPRESS(#F5) // обновить страницу в браузере
WAIT(20)
SETKBLAYOUT(WNDFIND("Clickermann",0), 1049)
WAITMS(50)
SETKBLAYOUT(WNDFIND("yandex",0), 1049)
KEYSTRING("нужный текст")
WAITMS(50)
halt

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Игра
« Reply #63 on: April 23, 2020, 01:10:42 PM »
пока есть картинка 79, нужно искать картинку 20-23, после прекратить действие. картинка 79 есть, но 1 раз ее ищет, после завершает работу

Code: (clickermann) [Select]
SUB(клик,$par1,$par2,$par3) // подпрограмма с параметрами
   LCLICK($par1,$par2)
   WAITMS($par3)
END_SUB
SUB(картинка,$par4,$par5,$par6,$par7,$par8,$par9,$par10,$par11)
   GETSCREEN($par4,$par5,$par6,$par7)
   IF_PICTURE_IN ($par4,$par5,$par6,$par7,$par8, -1, 100)
      $check = 1
      клик($_return1+$par9,$_return2+$par10,$par11)
   END_IF
END_SUB

LOGCLEAR
WAITMS(50)
LOGWRITE ("Старт")
WAITMS(50)

картинка(334,75, 1028,640,"76.bmp",2,2,2000)

GETSCREEN(690,460,820,550)
IF_PICTURE_IN (690,460,820,550, "79.bmp", - 1, 100)
   LOGWRITE ("найдена 79")
   move($_return1, $_return2)
   WAITMS(2000)
   картинка(160, 167, 1109, 681, "20.bmp",2,2, 2000)
   картинка(160, 167, 1109, 681, "21.bmp",2,2, 2000)
   картинка(160, 167, 1109, 681, "22.bmp",2,2, 2000)
   картинка(160, 167, 1109, 681, "23.bmp",2,2, 2000)
ELSE
   $check = 0
   WHILE($check = 0)
      GETSCREEN(690,460,820,550)
      IF_PICTURE_IN (690,460,820,550, "79.bmp", -1, 100)
         картинка(160, 167, 1109, 681, "20.bmp",2,2, 2000)
         картинка(160, 167, 1109, 681, "21.bmp",2,2, 2000)
         картинка(160, 167, 1109, 681, "22.bmp",2,2, 2000)
         картинка(160, 167, 1109, 681, "23.bmp",2,2, 2000)
         move($_return1, $_return2)
         LOGWRITE ("картинка 79 не найдена")
      ELSE
         $check = 1 // если 79.bmp нет, завершаем цикл
      END_IF
   END_CYC
END_IF
HALT

Viktor77

  • Активный участник
  • ***
  • Posts: 106
    • View Profile
Re: Игра
« Reply #64 on: April 23, 2020, 01:19:44 PM »
пока есть картинка 79, нужно искать картинку 20-23, после прекратить действие. картинка 79 есть, но 1 раз ее ищет, после завершает работу

Code: (clickermann) [Select]
SUB(клик,$par1,$par2,$par3) // подпрограмма с параметрами
   LCLICK($par1,$par2)
   WAITMS($par3)
END_SUB
SUB(картинка,$par4,$par5,$par6,$par7,$par8,$par9,$par10,$par11)
   GETSCREEN($par4,$par5,$par6,$par7)
   IF_PICTURE_IN ($par4,$par5,$par6,$par7,$par8, -1, 100)
      $check = 1
      клик($_return1+$par9,$_return2+$par10,$par11)
   END_IF
END_SUB

LOGCLEAR
WAITMS(50)
LOGWRITE ("Старт")
WAITMS(50)

картинка(334,75, 1028,640,"76.bmp",2,2,2000)

GETSCREEN(690,460,820,550)
IF_PICTURE_IN (690,460,820,550, "79.bmp", - 1, 100)
   LOGWRITE ("найдена 79")
   move($_return1, $_return2)
   WAITMS(2000)
   картинка(160, 167, 1109, 681, "20.bmp",2,2, 2000)
   картинка(160, 167, 1109, 681, "21.bmp",2,2, 2000)
   картинка(160, 167, 1109, 681, "22.bmp",2,2, 2000)
   картинка(160, 167, 1109, 681, "23.bmp",2,2, 2000)
ELSE
   $check = 0
   WHILE($check = 0)
      GETSCREEN(690,460,820,550)
      IF_PICTURE_IN (690,460,820,550, "79.bmp", -1, 100)
         картинка(160, 167, 1109, 681, "20.bmp",2,2, 2000)
         картинка(160, 167, 1109, 681, "21.bmp",2,2, 2000)
         картинка(160, 167, 1109, 681, "22.bmp",2,2, 2000)
         картинка(160, 167, 1109, 681, "23.bmp",2,2, 2000)
         move($_return1, $_return2)
         LOGWRITE ("картинка 79 не найдена")
      ELSE
         $check = 1 // если 79.bmp нет, завершаем цикл
      END_IF
   END_CYC
END_IF
HALT
спасибо, а помогите пожалуйста нужно написать текст ру, после перегрузить страницу F5, и снова написать текст ру. у меня пишет ру, но не работает F5.

Viktor77

  • Активный участник
  • ***
  • Posts: 106
    • View Profile
Re: Игра
« Reply #65 on: April 23, 2020, 01:42:30 PM »
пока есть картинка 79, нужно искать картинку 20-23, после прекратить действие. картинка 79 есть, но 1 раз ее ищет, после завершает работу

Code: (clickermann) [Select]
SUB(клик,$par1,$par2,$par3) // подпрограмма с параметрами
   LCLICK($par1,$par2)
   WAITMS($par3)
END_SUB
SUB(картинка,$par4,$par5,$par6,$par7,$par8,$par9,$par10,$par11)
   GETSCREEN($par4,$par5,$par6,$par7)
   IF_PICTURE_IN ($par4,$par5,$par6,$par7,$par8, -1, 100)
      $check = 1
      клик($_return1+$par9,$_return2+$par10,$par11)
   END_IF
END_SUB

LOGCLEAR
WAITMS(50)
LOGWRITE ("Старт")
WAITMS(50)

картинка(334,75, 1028,640,"76.bmp",2,2,2000)

GETSCREEN(690,460,820,550)
IF_PICTURE_IN (690,460,820,550, "79.bmp", - 1, 100)
   LOGWRITE ("найдена 79")
   move($_return1, $_return2)
   WAITMS(2000)
   картинка(160, 167, 1109, 681, "20.bmp",2,2, 2000)
   картинка(160, 167, 1109, 681, "21.bmp",2,2, 2000)
   картинка(160, 167, 1109, 681, "22.bmp",2,2, 2000)
   картинка(160, 167, 1109, 681, "23.bmp",2,2, 2000)
ELSE
   $check = 0
   WHILE($check = 0)
      GETSCREEN(690,460,820,550)
      IF_PICTURE_IN (690,460,820,550, "79.bmp", -1, 100)
         картинка(160, 167, 1109, 681, "20.bmp",2,2, 2000)
         картинка(160, 167, 1109, 681, "21.bmp",2,2, 2000)
         картинка(160, 167, 1109, 681, "22.bmp",2,2, 2000)
         картинка(160, 167, 1109, 681, "23.bmp",2,2, 2000)
         move($_return1, $_return2)
         LOGWRITE ("картинка 79 не найдена")
      ELSE
         $check = 1 // если 79.bmp нет, завершаем цикл
      END_IF
   END_CYC
END_IF
HALT
1 круг проходит, и останавливается, но при этом картинка 79 по прежнему есть, и совпадение картинки 100%

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Игра
« Reply #66 on: April 23, 2020, 04:41:30 PM »
1 круг проходит, и останавливается, но при этом картинка 79 по прежнему есть, и совпадение картинки 100%

Ну, да по твоим условиям в цикл он вообще не войдет. Вот так будет работать.
Code: (clickermann) [Select]
SUB(клик,$par1,$par2,$par3) // подпрограмма с параметрами
   LCLICK($par1,$par2)
   WAITMS($par3)
END_SUB
SUB(картинка,$par4,$par5,$par6,$par7,$par8,$par9,$par10,$par11)
   GETSCREEN($par4,$par5,$par6,$par7)
   IF_PICTURE_IN ($par4,$par5,$par6,$par7,$par8, -1, 100)
      $check = 1
      клик($_return1+$par9,$_return2+$par10,$par11)
   END_IF
END_SUB

LOGCLEAR
WAITMS(50)
LOGWRITE ("Старт")
WAITMS(50)

картинка(334,75, 1028,640,"76.bmp",2,2,2000)

$check = 0
WHILE($check = 0)
   GETSCREEN(690,460,820,550)
   IF_PICTURE_IN (690,460,820,550, "79.bmp", -1, 100)
      LOGWRITE ("найдена 79")
      move($_return1, $_return2)
      WAITMS(2000)
      картинка(160, 167, 1109, 681, "20.bmp",2,2, 2000)
      картинка(160, 167, 1109, 681, "21.bmp",2,2, 2000)
      картинка(160, 167, 1109, 681, "22.bmp",2,2, 2000)
      картинка(160, 167, 1109, 681, "23.bmp",2,2, 2000)
   ELSE
      $check = 1 // если 79.bmp нет, завершаем цикл
      LOGWRITE ("картинка 79 не найдена")
   END_IF
END_CYC

HALT

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Игра
« Reply #67 on: April 23, 2020, 04:44:48 PM »
спасибо, а помогите пожалуйста нужно написать текст ру, после перегрузить страницу F5, и снова написать текст ру. у меня пишет ру, но не работает F5.

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

Viktor77

  • Активный участник
  • ***
  • Posts: 106
    • View Profile
Re: Игра
« Reply #68 on: April 23, 2020, 05:33:36 PM »
спасибо, а помогите пожалуйста нужно написать текст ру, после перегрузить страницу F5, и снова написать текст ру. у меня пишет ру, но не работает F5.

Возможно нужно установить фокус на страницу браузера или заголовок. На крайняк можно кликнуть по кнопке обновить в браузере.
не соображу, какой фокус? как установить?

Viktor77

  • Активный участник
  • ***
  • Posts: 106
    • View Profile
Re: Игра
« Reply #69 on: April 24, 2020, 10:15:59 AM »
1 круг проходит, и останавливается, но при этом картинка 79 по прежнему есть, и совпадение картинки 100%

Ну, да по твоим условиям в цикл он вообще не войдет. Вот так будет работать.
Code: (clickermann) [Select]
SUB(клик,$par1,$par2,$par3) // подпрограмма с параметрами
   LCLICK($par1,$par2)
   WAITMS($par3)
END_SUB
SUB(картинка,$par4,$par5,$par6,$par7,$par8,$par9,$par10,$par11)
   GETSCREEN($par4,$par5,$par6,$par7)
   IF_PICTURE_IN ($par4,$par5,$par6,$par7,$par8, -1, 100)
      $check = 1
      клик($_return1+$par9,$_return2+$par10,$par11)
   END_IF
END_SUB

LOGCLEAR
WAITMS(50)
LOGWRITE ("Старт")
WAITMS(50)

картинка(334,75, 1028,640,"76.bmp",2,2,2000)

$check = 0
WHILE($check = 0)
   GETSCREEN(690,460,820,550)
   IF_PICTURE_IN (690,460,820,550, "79.bmp", -1, 100)
      LOGWRITE ("найдена 79")
      move($_return1, $_return2)
      WAITMS(2000)
      картинка(160, 167, 1109, 681, "20.bmp",2,2, 2000)
      картинка(160, 167, 1109, 681, "21.bmp",2,2, 2000)
      картинка(160, 167, 1109, 681, "22.bmp",2,2, 2000)
      картинка(160, 167, 1109, 681, "23.bmp",2,2, 2000)
   ELSE
      $check = 1 // если 79.bmp нет, завершаем цикл
      LOGWRITE ("картинка 79 не найдена")
   END_IF
END_CYC

HALT
объясните пожалуйста WHILE с переменными. ниже WHILE в середине с картинками 95-96, и работает как надо. а с картинкой 79 нужно вывести WHILE изначально. помогите понять, чтоб не делать дальше однотипных ошибок.
Code: (clickermann) [Select]
GETSCREEN(875,400, 1225,630)
IF_PICTURE_IN (875,400, 1225,630, "95.bmp", -1, 100)
   клик($_return1+2, $_return2+2,10000)
   GETSCREEN(875,400, 1225,630)
   IF_PICTURE_IN (875,400, 1225,630, "96.bmp", -1, 100)
      move($_return1, $_return2)
   ELSE
      $check = 0
      WHILE($check = 0)
         GETSCREEN(875,400, 1225,630)
         IF_PICTURE_IN (875,400, 1225,630, "95.bmp", -1, 100)
            клик($_return1+2, $_return2+2,10000)
         END_IF
         GETSCREEN(875,400, 1225,630)
         IF_PICTURE_IN (875,400, 1225,630, "96.bmp", -1, 100)
            $check = 1
            move($_return1, $_return2)
            WAITMS(1000)
         END_IF
      END_CYC
   END_IF
END_IF

Viktor77

  • Активный участник
  • ***
  • Posts: 106
    • View Profile
Re: Игра
« Reply #70 on: April 24, 2020, 02:16:18 PM »
спасибо, а помогите пожалуйста нужно написать текст ру, после перегрузить страницу F5, и снова написать текст ру. у меня пишет ру, но не работает F5.

Возможно нужно установить фокус на страницу браузера или заголовок. На крайняк можно кликнуть по кнопке обновить в браузере.
работает и так и так, как все же правильно?
Code: (clickermann) [Select]
GETSCREEN(875,400, 1225,630)
IF_PICTURE_IN (875,400, 1225,630, "95.bmp", -1, 100)
   клик($_return1+2, $_return2+2,10000)
   GETSCREEN(875,400, 1225,630)
   IF_PICTURE_IN (875,400, 1225,630, "96.bmp", -1, 100)
      move($_return1, $_return2)
   ELSE
      $check = 0
      WHILE($check = 0)
         GETSCREEN(875,400, 1225,630)
         IF_PICTURE_IN (875,400, 1225,630, "95.bmp", -1, 100)
            клик($_return1+2, $_return2+2,10000)
         END_IF
         GETSCREEN(875,400, 1225,630)
         IF_PICTURE_IN (875,400, 1225,630, "96.bmp", -1, 100)
            $check = 1
            move($_return1, $_return2)
            WAITMS(1000)
         END_IF
      END_CYC
   END_IF
END_IF
Code: (clickermann) [Select]
$check1 = 0
WHILE($check1 = 0)
   GETSCREEN(875,400, 1225,630)
   IF_PICTURE_IN (875,400, 1225,630, "95.bmp", -1, 100)
      клик($_return1, $_return2,1000)
      GETSCREEN(875,400, 1225,630)
      IF_PICTURE_IN (875,400, 1225,630, "96.bmp", -1, 100)
         LOGWRITE ("не найдена 96")
         $check1 = 1
         move($_return1, $_return2)
         LOGWRITE ("найдена 96")
         WAITMS(2000)
      END_IF
   END_IF
END_CYC

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Игра
« Reply #71 on: April 24, 2020, 03:13:52 PM »
работает и так и так, как все же правильно?

Оба варианта рабочие но второй более разумный и оптимальный. 15 строк против 22х.

Viktor77

  • Активный участник
  • ***
  • Posts: 106
    • View Profile
Re: Игра
« Reply #72 on: April 24, 2020, 03:35:37 PM »
работает и так и так, как все же правильно?

Оба варианта рабочие но второй более разумный и оптимальный. 15 строк против 22х.
как можно здесь разрешить проблему ?
Code: (clickermann) [Select]
SUB(клик,$par1,$par2,$par3) // подпрограмма с параметрами
   LCLICK($par1,$par2)
   WAITMS($par3)
END_SUB
SUB(картинка,$par4,$par5,$par6,$par7,$par8,$par9,$par10,$par11)
   GETSCREEN($par4,$par5,$par6,$par7)
   IF_PICTURE_IN ($par4,$par5,$par6,$par7,$par8, -1, 100)
      $check = 1
      клик($_return1+$par9,$_return2+$par10,$par11)
   END_IF
END_SUB
LOGCLEAR
WAITMS(50)
LOGWRITE ("Старт")
WAITMS(50)
WAIT(3)
SETKBLAYOUT(WNDFIND("Clickermann",0), 1049)
WAITMS(50)
SETKBLAYOUT(WNDFIND("yandex",0), 1049)
WAITMS(50)
LCLICK(73,737)  // 0
KEYSTRING("текст")
WAITMS(50)
SETKBLAYOUT(WNDFIND("Clickermann",0), 1033)// меняет язык
WAITMS(50)
SETKBLAYOUT(WNDFIND("yandex",0), 1033) //несменивает язык
LCLICK(984,19)  // 2107697
KEYPRESS(#F5)
WAIT(20)
SETKBLAYOUT(WNDFIND("Clickermann",0), 1049)
WAITMS(50)
LCLICK(90,740)  // 0   
SETKBLAYOUT(WNDFIND("yandex",0), 1049)
KEYSTRING("нужный текст")
WAITMS(50)
halt

Viktor77

  • Активный участник
  • ***
  • Posts: 106
    • View Profile
Re: Игра
« Reply #73 on: April 24, 2020, 05:03:52 PM »
работает и так и так, как все же правильно?

Оба варианта рабочие но второй более разумный и оптимальный. 15 строк против 22х.
тут работает в данном случае
Code: (clickermann) [Select]
GETSCREEN(162,178, 980,689)
IF_PICTURE_IN (162,178, 980,689, "77.bmp", -1, 100)
   клик($_return1+2, $_return2+2,3000)
   GETSCREEN(162,178, 980,689)
   IF_PICTURE_IN (162,178, 980,689, "78.bmp", -1, 100)
      клик($_return1, $_return2)
   ELSE
      $check = 0
      WHILE($check = 0)
         GETSCREEN(162,178, 980,689)
         IF_PICTURE_IN (162,178, 980,689, "77.bmp", -1, 100)
            клик($_return1+2, $_return2+2,3000)
         END_IF
         GETSCREEN(162,178, 980,689)
         IF_PICTURE_IN (162,178, 980,689, "78.bmp", -1, 100)
            $check = 1
            клик($_return1, $_return2,1000)
         END_IF
      END_CYC
   END_IF
END_IF
тут уже не работает, 77 картинку выполняет определенное количество раз, а как только картинка 77 меняет цвет, и становится картинка 78, не останавливает действие.
Code: (clickermann) [Select]
SUB(клик,$par1,$par2,$par3) // подпрограмма с параметрами
   LCLICK($par1,$par2)
   WAITMS($par3)
END_SUB
SUB(даблклик,$par30,$par31,$par32)
   DBLCLICK($par30,$par31)
   WAITMS($par32)
END_SUB
SUB(картинка,$par4,$par5,$par6,$par7,$par8,$par9,$par10,$par11)
   GETSCREEN($par4,$par5,$par6,$par7)
   IF_PICTURE_IN ($par4,$par5,$par6,$par7,$par8, -1, 100)
      $check = 1
      клик($_return1+$par9,$_return2+$par10,$par11)
   END_IF
END_SUB
SUB(картинка_,$par33,$par34,$par35,$par36,$par37,$par38,$par39,$par40)
   GETSCREEN($par33,$par34,$par35,$par36)
   IF_PICTURE_IN ($par33,$par34,$par35,$par36,$par37, -1, 100)
      $check = 1
      даблклик($_return1+$par38,$_return2+$par39,$par40)
   END_IF
END_SUB
SUB(ожидание_картинки,$par21,$par22,$par23,$par24,$par25,$par26,$par27,$par28,$par29)
   $check = 0
   WHILE($check = 0)
      GETSCREEN($par21,$par22,$par23,$par24)
      IF_PICTURE_IN ($par21,$par22,$par23,$par24,$par25, -1,$par26)
         $check = 1
         клик($_return1+$par27,$_return2+$par28,$par29)
      ELSE    // если не найдена  11.bmp
         клик(309,613,1000) // сменить главу
      END_IF
   END_CYC
END_SUB
LOGCLEAR
WAITMS(50)
LOGWRITE ("Старт")
WAITMS(50)
картинка(162,178, 980,689,"76.bmp",2,2,2000)
$check1 = 0
WHILE($check1 = 0)
   GETSCREEN(365,200, 898,646)
   IF_PICTURE_IN (365,200, 898,646, "77.bmp", -1, 100)
      клик($_return1, $_return2,1000)
      GETSCREEN(365,200, 898,646)
      IF_PICTURE_IN (365,200, 898,646, "78.bmp", -1, 100)
         LOGWRITE ("не найдена 78")
         move($_return1, $_return2)
         $check1 = 1
         LOGWRITE ("найдена 78")
         WAITMS(2000)
      END_IF
   END_IF
END_CYC
halt
« Last Edit: April 24, 2020, 05:06:01 PM by Viktor77 »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Игра
« Reply #74 on: April 24, 2020, 07:34:00 PM »
Не забывай что в кликере есть запись в лог, можно вывести значение любой переменной и удостовериться что они правильные.

Code: (clickermann) [Select]
SETKBLAYOUT(WNDFIND("yandex",0), 1033) //несменивает язык
Функция WNDFIND возвращает HWND первого попавшегося окна в заголовке которого есть слово yandex. Вполне возможно что окно не то, или вообще не найдено.

Запись в лог развеит эти непонятки.
Code: (clickermann) [Select]
$hw = WNDFIND("yandex",0)
LOGWRITE ("HWND yandex: ", $hw) // можно увидеть какой именно HWND возвращается.
IF($hw > 0) // если возвращается не 0 то значит окно найдено
   SETKBLAYOUT($hw, 1033)
END_IF

Quote
тут уже не работает, 77 картинку выполняет определенное количество раз, а как только картинка 77 меняет цвет, и становится картинка 78, не останавливает действие.
В твоем случаи 78 будет искать только если до этого найдена 77, и только 1 раз.

В этом случаи 78 будет искать если 77 не найдено сколько угодно раз.
Code: (clickermann) [Select]
$check1 = 0
WHILE($check1 = 0)
   GETSCREEN(365,200, 898,646)
   IF_PICTURE_IN (365,200, 898,646, "77.bmp", -1, 100)
      клик($_return1, $_return2,1000)
   ELSE
      IF_PICTURE_IN (365,200, 898,646, "78.bmp", -1, 100)
         LOGWRITE ("не найдена 78")
         move($_return1, $_return2)
         $check1 = 1
         LOGWRITE ("найдена 78")
         WAITMS(2000)
      ELSE
         WAITMS(100)
      END_IF
   END_IF
END_CYC