Author Topic: Повтор с условием  (Read 6814 times)

0 Members and 2 Guests are viewing this topic.

NightWanted

  • Зашел в гости
  • *
  • Posts: 14
    • View Profile
Повтор с условием
« on: April 18, 2016, 05:48:01 PM »
Доброго дня! Прошу помощи! Что нужно добавить в код? Суть: если PXL(638,328) = 11845568, то LCLICK(735,464), если нет, то LCLICK(523,466) до тех пор, пока не будет найден искомый цвет. Уже разные варианты пробывал, но че-то не то все. Заранее спасибо!

$count = 0
WHILE ($count = 0)
   LCLICK(523,466)
   WAIT(1)
   GETSCREEN
   IF PXL(638,328) = 11845568
      $count = 1
   END_IF
END_CYC
WAIT(1)
LCLICK(735,464)

NightWanted

  • Зашел в гости
  • *
  • Posts: 14
    • View Profile
Re: Повтор с условием
« Reply #1 on: April 18, 2016, 07:42:06 PM »
Огромное спасибо! Все работает!

alllsts

  • Зашел в гости
  • *
  • Posts: 4
    • View Profile
Re: Повтор с условием
« Reply #2 on: April 18, 2016, 09:32:01 PM »
Доброго времени суток
Пытаюсь написать сценарий для фарма кадавра в ГОРОД МЕРТВЫХ
не могу разобраться с циклом

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Повтор с условием
« Reply #3 on: April 18, 2016, 09:52:04 PM »
В цикле не хватает параметра начального значения FOR($a=0,$a<5) иначе у тебя он на втором проходе просто не будет срабатывать.

Кроме того тебе нужен цикл ожидания окончания боя по каким то признакам. А до тех пор кликер должен просто долбить по кнопке ударить.

Code: (clickermann) [Select]
$check = 0
WHILE($check = 0) // ожидание окончания боя
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file.bmp", -1, 100)
      $check = 1 // если найдено выходим из цикла
   ELSE // если не найдено
      LCLICK(10,10) // кнопка удара
      WAITMS(200)
   END_IF
END_CYC

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Повтор с условием
« Reply #4 on: April 19, 2016, 08:44:03 AM »
Code: (clickermann) [Select]
$count = 0
WHILE ($count = 0)
   GETSCREEN
   IF(PXL(638,328) = 11845568)
      $count = 1
      LCLICK(735,464)
      LOGWRITE ("цвет обнаружен")
   ELSE
      LCLICK(523,466)
   END_IF
   WAIT(1)
END_CYC


Зачем лишние сущности? Цикл WHILE и так цикл с условием, без всяких дополнительных условий и переменных-флагов
Code: (clickermann) [Select]
GETSCREEN
WHILE(PXL(638,328) ! 11845568)
   LCLICK(523,466)
   WAIT(1)
   GETSCREEN
END_CYC
LCLICK(735,464)


Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Повтор с условием
« Reply #5 on: April 19, 2016, 10:34:46 AM »
Ну да. Только иногда "исходники" - это нагромождение лишних команд на пару сотен строк, которые можно заменить десятком.
Просто здесь задача была описана словами нормально, а не как обычно  :D Можно даже по тексту всё сделать.


NightWanted

  • Зашел в гости
  • *
  • Posts: 14
    • View Profile
Re: Повтор с условием
« Reply #6 on: April 19, 2016, 11:52:35 AM »
Доброго дня! Помогите еще немного... Суть вопроса: В игре есть различные противники, и сильные и слабые. Одних надо с трех заходов убивать, а другим хватит и одного. Что нужно добавить, чтобы при обнаружении PXL(665,339) = 0 (смерти первого противника), кликер переходил сразу ко второму противнику? На данный момент получается так, что после смерти первого противника, до окончания цикла, они начинают беспорядочно бить всех остальных, вместо одного. Заранее спасибо!

Code: (clickermann) [Select]
LCLICK(738,238)//ВЫБИРАЕМ ПЕРВОГО ПРОТИВНИКА
WAITMS(500)
FOR ($i, $i<3)//ЧТОБЫ ДЕЛАЛИ ТРИ ЗАХОДА НА ПРОТИВНИКА
   GETSCREEN
   IF (PXL(795,444) = 14145500)//УДАР 1-ОГО ПЕРСА
      LCLICK(795,444)//ПРИ АДРЕНАЛИНЕ
      LOGWRITE ("цвет обнаружен")
      WAIT(4)
   ELSE
      LCLICK(814,509)//БЕЗ АДРЕНАЛИНА
   END_IF
   WAITMS(500)
   GETSCREEN
   IF (PXL(662,446) = 13882070)//УДАР 2-ОГО ПЕРСА
      LCLICK(662,446)//ПРИ АДРЕНАЛИНЕ
      LOGWRITE ("цвет обнаружен")
      WAIT(4)
   ELSE
      LCLICK(681,508)//БЕЗ АДРЕНАЛИНА
   END_IF
   WAITMS(500)
   GETSCREEN
   IF (PXL(535,444) = 14540000)//УДАР 3-ОГО ПЕРСА
      LCLICK(535,444)//ПРИ АДРЕНАЛИНЕ
      LOGWRITE ("цвет обнаружен")
      WAIT(4)
   ELSE
      LCLICK(546,512)//БЕЗ АДРЕНАЛИНА
   END_IF
   WAITMS(500)
   GETSCREEN
   IF (PXL(409,443) = 14277343)//УДАР 4-ОГО ПЕРСА
      LCLICK(409,443)//ПРИ АДРЕНАЛИНЕ
      LOGWRITE ("цвет обнаружен")
      WAIT(4)
   ELSE
      LCLICK(421,509)//БЕЗ АДРЕНАЛИНА
   END_IF
   WAITMS(500)
   GETSCREEN
   IF (PXL(311,445) = 14343133)//УДАР 5-ОГО ПЕРСА
      LCLICK(311,445)//ПРИ АДРЕНАЛИНЕ
      LOGWRITE ("цвет обнаружен")
      WAIT(4)
   ELSE
      LCLICK(286,506)//БЕЗ АДРЕНАЛИНА
   END_IF
   WAIT(13)//ОЖИДАНИЕ АТАКИ СОПЕРНИКА
END_CYC//КОНЕЦ ЦИКЛА
LCLICK(790,310)//ВЫБИРАЕМ ВТОРОГО ПРОТИВНИКА
WAITMS(500)
FOR ($a, $a<3)//ЧТОБЫ ДЕЛАЛИ ТРИ ЗАХОДА НА ПРОТИВНИКА
GETSCREEN
   IF (PXL(795,444) = 14145500)//УДАР 1-ОГО ПЕРСА
      LCLICK(795,444)//ПРИ АДРЕНАЛИНЕ
      LOGWRITE ("цвет обнаружен")
      WAIT(4)
   ELSE
      LCLICK(814,509)//БЕЗ АДРЕНАЛИНА
   END_IF
   WAITMS(500)
   GETSCREEN
   IF (PXL(662,446) = 13882070)//УДАР 2-ОГО ПЕРСА
      LCLICK(662,446)//ПРИ АДРЕНАЛИНЕ
      LOGWRITE ("цвет обнаружен")
      WAIT(4)
   ELSE
      LCLICK(681,508)//БЕЗ АДРЕНАЛИНА
   END_IF
   WAITMS(500)
   GETSCREEN
   IF (PXL(535,444) = 14540000)//УДАР 3-ОГО ПЕРСА
      LCLICK(535,444)//ПРИ АДРЕНАЛИНЕ
      LOGWRITE ("цвет обнаружен")
      WAIT(4)
   ELSE
      LCLICK(546,512)//БЕЗ АДРЕНАЛИНА
   END_IF
   WAITMS(500)
   GETSCREEN
   IF (PXL(409,443) = 14277343)//УДАР 4-ОГО ПЕРСА
      LCLICK(409,443)//ПРИ АДРЕНАЛИНЕ
      LOGWRITE ("цвет обнаружен")
      WAIT(4)
   ELSE
      LCLICK(421,509)//БЕЗ АДРЕНАЛИНА
   END_IF
   WAITMS(500)
   GETSCREEN
   IF (PXL(311,445) = 14343133)//УДАР 5-ОГО ПЕРСА
      LCLICK(311,445)//ПРИ АДРЕНАЛИНЕ
      LOGWRITE ("цвет обнаружен")
      WAIT(4)
   ELSE
      LCLICK(286,506)//БЕЗ АДРЕНАЛИНА
   END_IF
   WAIT(13)//ОЖИДАНИЕ АТАКИ СОПЕРНИКА
END_CYC//КОНЕЦ ЦИКЛА

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Повтор с условием
« Reply #7 on: April 19, 2016, 01:19:12 PM »
Code: (clickermann) [Select]
SUB(died)
   GETSCREEN
   IF(PXL(665,339) = 0)
      $a=999
   END_IF
END_SUB

LCLICK(738,238)//ВЫБИРАЕМ ПЕРВОГО ПРОТИВНИКА
WAITMS(500)

FOR($a=0,$a<3)//ЧТОБЫ ДЕЛАЛИ ТРИ ЗАХОДА НА ПРОТИВНИКА
   GETSCREEN
   IF (PXL(795,444) = 14145500)//УДАР 1-ОГО ПЕРСА
      LCLICK(795,444)//ПРИ АДРЕНАЛИНЕ
      LOGWRITE ("цвет обнаружен")
      WAIT(4)
   ELSE
      LCLICK(814,509)//БЕЗ АДРЕНАЛИНА
   END_IF
   WAITMS(500)
   died()
   IF($a=999)
      GOTO(skip)
   END_IF
   
   GETSCREEN
   IF (PXL(662,446) = 13882070)//УДАР 2-ОГО ПЕРСА
      LCLICK(662,446)//ПРИ АДРЕНАЛИНЕ
      LOGWRITE ("цвет обнаружен")
      WAIT(4)
   ELSE
      LCLICK(681,508)//БЕЗ АДРЕНАЛИНА
   END_IF
   WAITMS(500)
   died()
   IF($a=999)
      GOTO(skip)
   END_IF
   
   GETSCREEN
   IF (PXL(535,444) = 14540000)//УДАР 3-ОГО ПЕРСА
      LCLICK(535,444)//ПРИ АДРЕНАЛИНЕ
      LOGWRITE ("цвет обнаружен")
      WAIT(4)
   ELSE
      LCLICK(546,512)//БЕЗ АДРЕНАЛИНА
   END_IF
   WAITMS(500)
   died()
   IF($a=999)
      GOTO(skip)
   END_IF
   
   GETSCREEN
   IF (PXL(409,443) = 14277343)//УДАР 4-ОГО ПЕРСА
      LCLICK(409,443)//ПРИ АДРЕНАЛИНЕ
      LOGWRITE ("цвет обнаружен")
      WAIT(4)
   ELSE
      LCLICK(421,509)//БЕЗ АДРЕНАЛИНА
   END_IF
   WAITMS(500)
   died()
   IF($a=999)
      GOTO(skip)
   END_IF
   
   GETSCREEN
   IF (PXL(311,445) = 14343133)//УДАР 5-ОГО ПЕРСА
      LCLICK(311,445)//ПРИ АДРЕНАЛИНЕ
      LOGWRITE ("цвет обнаружен")
      WAIT(4)
   ELSE
      LCLICK(286,506)//БЕЗ АДРЕНАЛИНА
   END_IF
   WAITMS(500)
   died()
   
   skip:
   WAIT(13)//ОЖИДАНИЕ АТАКИ СОПЕРНИКА
END_CYC//КОНЕЦ ЦИКЛА

LCLICK(790,310)//ВЫБИРАЕМ ВТОРОГО ПРОТИВНИКА
WAITMS(500)

FOR($a=0,$a<3)//ЧТОБЫ ДЕЛАЛИ ТРИ ЗАХОДА НА ПРОТИВНИКА
   GETSCREEN
   IF (PXL(795,444) = 14145500)//УДАР 1-ОГО ПЕРСА
      LCLICK(795,444)//ПРИ АДРЕНАЛИНЕ
      LOGWRITE ("цвет обнаружен")
      WAIT(4)
   ELSE
      LCLICK(814,509)//БЕЗ АДРЕНАЛИНА
   END_IF
   WAITMS(500)
   died()
   IF($a=999)
      GOTO(skip)
   END_IF
   
   GETSCREEN
   IF (PXL(662,446) = 13882070)//УДАР 2-ОГО ПЕРСА
      LCLICK(662,446)//ПРИ АДРЕНАЛИНЕ
      LOGWRITE ("цвет обнаружен")
      WAIT(4)
   ELSE
      LCLICK(681,508)//БЕЗ АДРЕНАЛИНА
   END_IF
   WAITMS(500)
   died()
   IF($a=999)
      GOTO(skip)
   END_IF
   
   GETSCREEN
   IF (PXL(535,444) = 14540000)//УДАР 3-ОГО ПЕРСА
      LCLICK(535,444)//ПРИ АДРЕНАЛИНЕ
      LOGWRITE ("цвет обнаружен")
      WAIT(4)
   ELSE
      LCLICK(546,512)//БЕЗ АДРЕНАЛИНА
   END_IF
   WAITMS(500)
   died()
   IF($a=999)
      GOTO(skip)
   END_IF
   
   GETSCREEN
   IF (PXL(409,443) = 14277343)//УДАР 4-ОГО ПЕРСА
      LCLICK(409,443)//ПРИ АДРЕНАЛИНЕ
      LOGWRITE ("цвет обнаружен")
      WAIT(4)
   ELSE
      LCLICK(421,509)//БЕЗ АДРЕНАЛИНА
   END_IF
   WAITMS(500)
   died()
   IF($a=999)
      GOTO(skip)
   END_IF
   
   GETSCREEN
   IF (PXL(311,445) = 14343133)//УДАР 5-ОГО ПЕРСА
      LCLICK(311,445)//ПРИ АДРЕНАЛИНЕ
      LOGWRITE ("цвет обнаружен")
      WAIT(4)
   ELSE
      LCLICK(286,506)//БЕЗ АДРЕНАЛИНА
   END_IF
   WAITMS(500)
   died()
   
   skip:
   WAIT(13)//ОЖИДАНИЕ АТАКИ СОПЕРНИКА
END_CYC//КОНЕЦ ЦИКЛА

NightWanted

  • Зашел в гости
  • *
  • Posts: 14
    • View Profile
Re: Повтор с условием
« Reply #8 on: April 19, 2016, 02:26:19 PM »
Спасибо. Но чего-то не хватает. Кликер видит смерть 1-ого противника, но потом почему-то сначала делает первым персом удар наугад, потом переключается на второго противника и останавливается. Через несколько секунд включает режим автобоя (он должен срабатывать, но только после смерти второго противника). Я выложу полностью весь код... Пришлось добавить еще вэйты между ударами, чтобы он успевал остановиться и переключиться на другого противника...

Code: (clickermann) [Select]
WAIT(1)
LCLICK(674,14)//КЛИК НА ОКНО
WAIT(2)
LCLICK(110,324)//РЕЙДЫ
WAIT(2)
LCLICK(719,488)//НАЙТИ ПРОТИВНИКА
WAIT(2)
$count = 0//ПЕРЕМЕННАЯ
WHILE ($count = 0)//ПОИСК БОТА
   GETSCREEN
   IF (PXL(638,328) = 11845568)
      $count = 1
      LCLICK(735,464)//АТАКА
      LOGWRITE ("цвет обнаружен")
   ELSE
      LCLICK(523,466)//НАЙТИ ДРУГОГО
      WAIT(3)
   END_IF
   WAIT(1)
END_CYC//КОНЕЦ ПОИСКА
WAIT(1)
LCLICK(946,526)//АТАКА
WAIT(2)

SUB(died)
   GETSCREEN
   IF(PXL(665,339) = 0)
      $a=999
   END_IF
END_SUB

LCLICK(738,238)//ВЫБИРАЕМ ПЕРВОГО ПРОТИВНИКА
WAITMS(500)

FOR($a=0,$a<3)//ЧТОБЫ ДЕЛАЛИ ТРИ ЗАХОДА НА ПРОТИВНИКА
   GETSCREEN
   IF (PXL(795,444) = 14145500)//УДАР 1-ОГО ПЕРСА
      LCLICK(795,444)//ПРИ АДРЕНАЛИНЕ
      LOGWRITE ("цвет обнаружен")
      WAIT(4)
   ELSE
      LCLICK(814,509)//БЕЗ АДРЕНАЛИНА
   END_IF
   WAITMS(500)
   died()
   IF($a=999)
      GOTO(skip)
   END_IF
   
   WAITMS(500)
   
   GETSCREEN
   IF (PXL(662,446) = 13882070)//УДАР 2-ОГО ПЕРСА
      LCLICK(662,446)//ПРИ АДРЕНАЛИНЕ
      LOGWRITE ("цвет обнаружен")
      WAIT(4)
   ELSE
      LCLICK(681,508)//БЕЗ АДРЕНАЛИНА
   END_IF
   WAITMS(500)
   died()
   IF($a=999)
      GOTO(skip)
   END_IF
   
   WAITMS(500)
   
   GETSCREEN
   IF (PXL(535,444) = 14540000)//УДАР 3-ОГО ПЕРСА
      LCLICK(535,444)//ПРИ АДРЕНАЛИНЕ
      LOGWRITE ("цвет обнаружен")
      WAIT(4)
   ELSE
      LCLICK(546,512)//БЕЗ АДРЕНАЛИНА
   END_IF
   WAITMS(500)
   died()
   IF($a=999)
      GOTO(skip)
   END_IF
   
   WAITMS(500)
   
   GETSCREEN
   IF (PXL(409,443) = 14277343)//УДАР 4-ОГО ПЕРСА
      LCLICK(409,443)//ПРИ АДРЕНАЛИНЕ
      LOGWRITE ("цвет обнаружен")
      WAIT(4)
   ELSE
      LCLICK(421,509)//БЕЗ АДРЕНАЛИНА
   END_IF
   WAITMS(500)
   died()
   IF($a=999)
      GOTO(skip)
   END_IF
   
   WAITMS(500)
   
   GETSCREEN
   IF (PXL(311,445) = 14343133)//УДАР 5-ОГО ПЕРСА
      LCLICK(311,445)//ПРИ АДРЕНАЛИНЕ
      LOGWRITE ("цвет обнаружен")
      WAIT(4)
   ELSE
      LCLICK(286,506)//БЕЗ АДРЕНАЛИНА
   END_IF
   WAITMS(500)
   died()
   
   skip:
   WAIT(13)//ОЖИДАНИЕ АТАКИ СОПЕРНИКА
END_CYC//КОНЕЦ ЦИКЛА

LCLICK(790,310)//ВЫБИРАЕМ ВТОРОГО ПРОТИВНИКА
WAITMS(500)

FOR($a=0,$a<3)//ЧТОБЫ ДЕЛАЛИ ТРИ ЗАХОДА НА ПРОТИВНИКА
   GETSCREEN
   IF (PXL(795,444) = 14145500)//УДАР 1-ОГО ПЕРСА
      LCLICK(795,444)//ПРИ АДРЕНАЛИНЕ
      LOGWRITE ("цвет обнаружен")
      WAIT(4)
   ELSE
      LCLICK(814,509)//БЕЗ АДРЕНАЛИНА
   END_IF
   WAITMS(500)
   died()
   IF($a=999)
      GOTO(skip)
   END_IF
   
   WAITMS(500)
   
   GETSCREEN
   IF (PXL(662,446) = 13882070)//УДАР 2-ОГО ПЕРСА
      LCLICK(662,446)//ПРИ АДРЕНАЛИНЕ
      LOGWRITE ("цвет обнаружен")
      WAIT(4)
   ELSE
      LCLICK(681,508)//БЕЗ АДРЕНАЛИНА
   END_IF
   WAITMS(500)
   died()
   IF($a=999)
      GOTO(skip)
   END_IF
   
   WAITMS(500)
   
   GETSCREEN
   IF (PXL(535,444) = 14540000)//УДАР 3-ОГО ПЕРСА
      LCLICK(535,444)//ПРИ АДРЕНАЛИНЕ
      LOGWRITE ("цвет обнаружен")
      WAIT(4)
   ELSE
      LCLICK(546,512)//БЕЗ АДРЕНАЛИНА
   END_IF
   WAITMS(500)
   died()
   IF($a=999)
      GOTO(skip)
   END_IF
   
   WAITMS(500)
   
   GETSCREEN
   IF (PXL(409,443) = 14277343)//УДАР 4-ОГО ПЕРСА
      LCLICK(409,443)//ПРИ АДРЕНАЛИНЕ
      LOGWRITE ("цвет обнаружен")
      WAIT(4)
   ELSE
      LCLICK(421,509)//БЕЗ АДРЕНАЛИНА
   END_IF
   WAITMS(500)
   died()
   IF($a=999)
      GOTO(skip)
   END_IF
   
   WAITMS(500)
   
   GETSCREEN
   IF (PXL(311,445) = 14343133)//УДАР 5-ОГО ПЕРСА
      LCLICK(311,445)//ПРИ АДРЕНАЛИНЕ
      LOGWRITE ("цвет обнаружен")
      WAIT(4)
   ELSE
      LCLICK(286,506)//БЕЗ АДРЕНАЛИНА
   END_IF
   WAITMS(500)
   died()
   
   skip:
   WAIT(13)//ОЖИДАНИЕ АТАКИ СОПЕРНИКА
END_CYC//КОНЕЦ ЦИКЛА
LCLICK(95,535)//ВКЛЮЧЕНИЕ РЕЖИМА АВТОБОЯ
WAIT(110)//ПРОДОЛЖИТЕЛЬНОСТЬ БОЯ
GETSCREEN
IF (PXL(579,475) = 9805730)//ПРОВЕРКА ПОБЕДЫ
   LCLICK(579,475)//ПРИ ПОБЕДЕ
ELSE
   LCLICK(658,474)//ПРИ ПОРАЖЕНИИ
END_IF
WAIT(2)
LCLICK(992,61)//ВЫХОД ИЗ РЕЙДОВ
WAIT(2)

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Повтор с условием
« Reply #9 on: April 19, 2016, 03:20:32 PM »
Потому что в коде две одинаковых метки skip:


NightWanted

  • Зашел в гости
  • *
  • Posts: 14
    • View Profile
Re: Повтор с условием
« Reply #10 on: April 19, 2016, 03:52:16 PM »
все равно не получается( извините за нубство... вот видео, как должно быть в идеале https://youtu.be/ZzLBVkfDk60. Я думаю, может сделать два потока? Первый поток будет отвечать за удары, а второй переключаться между противниками. Т.е. запускаем первый поток, как только нужный пиксел приобретает нужный цвет, поток приостанавливается. В это время второй поток кликает на другого противника, и первый поток после этого возобновляется. Подскажите, как это осуществить. Заранее спасибо!

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Повтор с условием
« Reply #11 on: April 19, 2016, 04:33:31 PM »
все равно не получается( извините за нубство... вот видео, как должно быть в идеале https://youtu.be/ZzLBVkfDk60. Я думаю, может сделать два потока? Первый поток будет отвечать за удары, а второй переключаться между противниками. Т.е. запускаем первый поток, как только нужный пиксел приобретает нужный цвет, поток приостанавливается. В это время второй поток кликает на другого противника, и первый поток после этого возобновляется. Подскажите, как это осуществить. Заранее спасибо!

Не нужно заниматься ерундой. Какие потоки? Зачем?


alllsts

  • Зашел в гости
  • *
  • Posts: 4
    • View Profile
Re: Повтор с условием
« Reply #12 on: April 19, 2016, 04:51:30 PM »
В цикле не хватает параметра начального значения FOR($a=0,$a<5) иначе у тебя он на втором проходе просто не будет срабатывать.

Кроме того тебе нужен цикл ожидания окончания боя по каким то признакам. А до тех пор кликер должен просто долбить по кнопке ударить.

Code: (clickermann) [Select]
$check = 0
WHILE($check = 0) // ожидание окончания боя
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file.bmp", -1, 100)
      $check = 1 // если найдено выходим из цикла
   ELSE // если не найдено
      LCLICK(10,10) // кнопка удара
      WAITMS(200)
   END_IF
END_CYC
Спасибо, буду экперементировать

alllsts

  • Зашел в гости
  • *
  • Posts: 4
    • View Profile
Re: Повтор с условием
« Reply #13 on: April 19, 2016, 04:53:14 PM »
чем вас не устраивает имеющийся на форуме скрипт фарма кадавров в ГМ?
Зачем вообще их фармить? это только портит персонажа, гараздо полезнее прокачиваться на арене и груповых боях, а фармить на цитадели и убивая простых зомби.
зачем нужен цикл FOR ведь сила перса постоянно меняется и живучесть разных кадавров тоже и сколько ударов будет сделано до победы угадать трудно.

Спасибо за совет, но скрипт написан под контакт, я же играю на одноклассниках

NightWanted

  • Зашел в гости
  • *
  • Posts: 14
    • View Profile
Re: Повтор с условием
« Reply #14 on: April 19, 2016, 05:16:40 PM »
Не нужно заниматься ерундой. Какие потоки? Зачем?

Vint, а что Вы можете предложить? Вот, что делает кликер https://youtu.be/QMaa2Vm3JcE
Все равно после первого противника идет переключение на второго, а дальше почему-то включается сразу автобой... Подскажите, как это исправить?