Author Topic: Условие IF и Цикличность  (Read 4784 times)

0 Members and 1 Guest are viewing this topic.

casethps

  • Освоившийся
  • **
  • Posts: 23
    • View Profile
Условие IF и Цикличность
« on: February 08, 2017, 03:45:59 PM »
Все привет еще раз)
Мне нужно создать такие условия
Чтобы мой макрос проходил два раза, потом использовал WHEELDOWN,  снова два раза проходил, потом использовал WHEELUP (+ в последсвтии надо будет еще добавить)
Как я понимаю это двойная цикличность
Как это будет выглядеть?
« Last Edit: February 08, 2017, 03:57:56 PM by casethps »

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Условие IF и Цикличность
« Reply #1 on: February 08, 2017, 05:02:14 PM »
Вариант 1
Code: (clickermann) [Select]
FOR($i=0, $i < 2)
    // основные действия
END_CYC

$mode = $mode ^ 1
IF($mode = 1)
    WHEELDOWN
ELSE
    WHEELUP
END_IF

Вариант 2
Code: (clickermann) [Select]
SUB(actions)
    FOR($i=0, $i < 2)
        // основные действия
    END_CYC
END_SUB

actions()
WHEELDOWN
actions()
WHEELUP


casethps

  • Освоившийся
  • **
  • Posts: 23
    • View Profile
Re: Условие IF и Цикличность
« Reply #2 on: February 08, 2017, 05:29:58 PM »
спасибо большое щас попробую

casethps

  • Освоившийся
  • **
  • Posts: 23
    • View Profile
Re: Условие IF и Цикличность
« Reply #3 on: February 08, 2017, 05:45:32 PM »
если можно прокоментируйте строчки для более лучше понимания и если макрос мне надо будет добавить в макрос действия между циклами
2 раза проходит макрос
потом wheeldown
2 раза проходит
потом wheeldown
2 раза проходит
потом wheeldown
2 раза проходит
потом wheelup

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Условие IF и Цикличность
« Reply #4 on: February 08, 2017, 06:05:44 PM »
Code: (clickermann) [Select]
    SUB(actions)
        FOR($i=0, $i < 2)  // цикл, выполняется 2 раза
            // основные действия
        END_CYC
    END_SUB
     
    actions() // вызываем подпрограмму actions
    WHEELDOWN
    actions() // вызываем подпрограмму actions
    WHEELUP


casethps

  • Освоившийся
  • **
  • Posts: 23
    • View Profile
Re: Условие IF и Цикличность
« Reply #5 on: February 08, 2017, 06:09:22 PM »
SUB(actions)
        FOR($i=0, $i < 2)  // цикл, выполняется 2 раза
            // основные действия
        END_CYC
    END_SUB
 
    actions() // вызываем подпрограмму actions
    WHEELDOWN
    actions() // вызываем подпрограмму actions
    WHEELDOWN
    actions() // вызываем подпрограмму actions
    WHEELDOWN
    actions() // вызываем подпрограмму actions
    WHEELUP

Вот так код будет выглядеть?
2 раза проходит макрос
потом wheeldown
2 раза проходит
потом wheeldown
2 раза проходит
потом wheeldown
2 раза проходит
потом wheelup

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Условие IF и Цикличность
« Reply #6 on: February 08, 2017, 06:10:03 PM »
Да.


casethps

  • Освоившийся
  • **
  • Posts: 23
    • View Profile
Re: Условие IF и Цикличность
« Reply #7 on: February 08, 2017, 06:21:47 PM »
спасибо большое все работает))
Осталось последнее сделать действия при краше клиента(=автоперезаход в игру)
Как это реализовывается? Как сделать так чтобы кликер проверял экран после каждого цикла? и если экран дает такой то цвет то он делал сначала действия по перезапуску клиента а потом делал цикл мой(клики то есть, которые выше)


Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Условие IF и Цикличность
« Reply #8 on: February 08, 2017, 06:42:09 PM »


casethps

  • Освоившийся
  • **
  • Posts: 23
    • View Profile
Re: Условие IF и Цикличность
« Reply #9 on: February 09, 2017, 08:31:27 PM »
Хотел бы еще ускорить свой макрос
чтобы он получал точку или область экрана и если там не такой цвет то сразу переходил на след действие
// основные действия
LDOWN(750,350)
WAITMS(50)
LUP(750,350)
WAITMS(100)
LDOWN(600,453)
WAITMS(50)
LUP(600,453)
WAITMS(100)
Если он нашел цвет то нажимает это(и дальше переходил к если нет)
KEYDOWN(#F)
WAITMS(150)
KEYUP(#F)
WAITMS(3000)
KEYDOWN(#F)
WAITMS(150)
KEYUP(#F)
Если нет
LDOWN(520,350)
WAITMS(50)
LUP(520,350)
WAITMS(100)
LDOWN(320,453)
WAITMS(50)
LUP(320,453)
WAITMS(100)


SUB(actions)
        FOR($i=0, $i < 2)  // цикл, выполняется 2 раза
            // основные действия
        END_CYC
    END_SUB
 
    actions() // вызываем подпрограмму actions
    WHEELDOWN
    actions() // вызываем подпрограмму actions
    WHEELDOWN
    actions() // вызываем подпрограмму actions
    WHEELDOWN
    actions() // вызываем подпрограмму actions
    WHEELUP
« Last Edit: February 09, 2017, 09:28:58 PM by casethps »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Условие IF и Цикличность
« Reply #10 on: February 09, 2017, 10:06:48 PM »
Читай про IF_PIXEL_IN в справке, раздел Экран

Code: (clickermann) [Select]
SUB(actions)
   FOR($i=0, $i < 2)  // цикл, выполняется 2 раза
      // основные действия
      LDOWN(750,350)
      WAITMS(50)
      LUP(750,350)
      WAITMS(100)
      LDOWN(600,453)
      WAITMS(50)
      LUP(600,453)
      WAITMS(100)
     
      GETSCREEN
      IF_PIXEL_IN(0,0, 500,500, 255) // здесь надо указать область и цвет
         KEYDOWN(#F)
         WAITMS(150)
         KEYUP(#F)
         WAITMS(3000)
         KEYDOWN(#F)
         WAITMS(150)
         KEYUP(#F)
         WAITMS(100)
      END_IF
     
      LDOWN(520,350)
      WAITMS(50)
      LUP(520,350)
      WAITMS(100)
      LDOWN(320,453)
      WAITMS(50)
      LUP(320,453)
      WAITMS(100)
     
   END_CYC
END_SUB

actions() // вызываем подпрограмму actions
WHEELDOWN
actions() // вызываем подпрограмму actions
WHEELDOWN
actions() // вызываем подпрограмму actions
WHEELDOWN
actions() // вызываем подпрограмму actions
WHEELUP
« Last Edit: February 09, 2017, 10:08:39 PM by Oraven »

casethps

  • Освоившийся
  • **
  • Posts: 23
    • View Profile
Re: Условие IF и Цикличность
« Reply #11 on: February 10, 2017, 12:57:53 AM »
А можно указать диапозон цветов?и как это сделать? Потому что в игре иконка чуть изменяет цвет от освещения

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Условие IF и Цикличность
« Reply #12 on: February 10, 2017, 08:43:28 AM »
А можно указать диапозон цветов?и как это сделать? Потому что в игре иконка чуть изменяет цвет от освещения

Для этого есть цветокоррекция
Вот таким скриптом получаешь снимок, он появится в папке Screens в папке скрипта
Code: (clickermann) [Select]
// Получение скриншота с цветокоррекцией (фильтр 6)
GETSCREEN
COLORMODE(6) // можно попробовать значения 5-8
SCREENSHOT
HALT

С этого снимка берешь цвет

В своем скрипте также пишешь
Code: (clickermann) [Select]
GETSCREEN
COLORMODE(6) // тот уровень который использовал для получения снимка.

casethps

  • Освоившийся
  • **
  • Posts: 23
    • View Profile
Re: Условие IF и Цикличность
« Reply #13 on: February 10, 2017, 12:11:40 PM »
Почему то он делает скрин только левого угла экрана при том растягивая эту картинку(1536х864 а разрегение экрана 4k). В чем проблема?(Все разобрался игра не хотела фоткать целый экран в псевдоокне а полноэкранном все ок)
« Last Edit: February 10, 2017, 12:16:13 PM by casethps »

casethps

  • Освоившийся
  • **
  • Posts: 23
    • View Profile
Re: Условие IF и Цикличность
« Reply #14 on: February 10, 2017, 01:00:26 PM »
ошибся на полном экране в 2048 на 1152 тоже фоткает 70% жкрана от верхнего левого угла в чем проблема?