Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - scat

Pages: [1] 2
1
Общие вопросы / Re: не работает WHILE
« on: June 01, 2022, 12:44:05 PM »
спасибо заработало  :D

2
Общие вопросы / не работает WHILE
« on: June 01, 2022, 11:36:03 AM »
когда выбрана переменная $r = 2  не срабатывает что то я в конструкции напутал :-\

Code: (clickermann) [Select]
    $check = 0
   WHILE($check = 0) //
      IF(($r = 1) or ($r = 2))
         IF(PXL(460,69) = 1043800)// зеленный круг
            WAITMS(RND(1230,2660))
            $check = 1 // если найдено выходим из цикла
         ELSE // если не найдено
            WAITMS(RND(260,490))
            IF($r = 1)
               IF(PXL(18,471) = 14540253)//галка
                  LCLICK (RND(252,306),RND(352,361)) //выбрал  место 1
                  WAITMS(RND(1230,2660))
               ELSE // если не найдено
                  WAITMS(RND(260,490))
                  IF($r = 2)
                     IF(PXL(18,471) = 14540253)//галка
                        LCLICK (RND(215,227),RND(233,245)) //выбрал  место 2
                        WAITMS(RND(1230,2660))
                     ELSE // если не найдено
                        WAITMS(RND(60,90))
                        LOGWRITE("нет")
                     END_IF
                  END_IF
               END_IF
            END_IF
         END_IF
      END_IF
   END_CYC

3
Общие вопросы / Re: Вставка координат
« on: October 09, 2021, 12:06:41 AM »
Почему "точка 10", $random = 10, а координат всего 8?

Это часть скрипта основной проблемой была компоновка координат огромное спасибо) 

4
Общие вопросы / Вставка координат
« on: October 08, 2021, 11:05:20 AM »
есть координаты
LCLICK(137,273)  // 14272101
LCLICK(131,290)  // 16181372
LCLICK(138,298)  // 7825988
LCLICK(158,295)  // 15190093
LCLICK(175,300)  // 12096846
LCLICK(185,289)  // 10513964
LCLICK(187,281)  // 15522157
LCLICK(204,291)  // 6584655

Приходиться прописывать  каждую
GETSCREEN
IF($random = 10)
IF(PXL(574,277) = 7726323)
LCLICK(516,82)  // 11053225
$x = 204
$y = 291
LOGWRITE("точка 10")
waitms(RND(3190,3320))
GOTO(to)
END_IF
END_IF
waitms(RND(60,90))

В результате получается портянка
КАК через ТХТ файл это сделать  компактно зарание спс)

5
Общие вопросы / Re: как решить задачку
« on: June 04, 2020, 12:18:06 PM »


3 вариант самое то Спасибо тебе добрый человек

6
Общие вопросы / Re: как решить задачку
« on: June 04, 2020, 09:56:29 AM »
Еще как вариант - сравнивать количество яблок условием внутри цикла и сохранять в переменную только наибольшую цифру + имя. Без массивов.

Если возможно поподробнее
массив необязателен  важна скорость просчета и вывод конечного результата

7
Общие вопросы / как решить задачку
« on: June 03, 2020, 11:17:41 AM »
у Феди $xu1 = 10  яблок
у Васи $xu2 = 20 яблок
у Валеры $xu3  = 30 яблок

какую формулу написать что у Валеры $xu3 больше всего яблок??

или из массива переменных выделить наибольшее число

$xu1 = 0 // федя
$xu2 = 0 // вася
$xu3 = 0 // валера

WAITMS(500)





GETSCREEN
SCANPICTURE($ARR_SCAN, 759,436, 841,694, "xu1.bmp", -1, 100)

$ARR_NUM = 0
WHILE ($ARR_NUM < ARRSIZE($ARR_SCAN))
   $X = $ARR_SCAN [$ARR_NUM]
   INC($ARR_NUM,1)
   $Y = $ARR_SCAN [$ARR_NUM]
   INC($ARR_NUM,1)
   INC($xu1, 1)
   WAITMS(100)
END_CYC
UNDEFINE($ARR_SCAN)


GETSCREEN
SCANPICTURE($ARR_SCAN, 759,436, 841,694, "xu2.bmp", -1, 100)

$ARR_NUM = 0
WHILE ($ARR_NUM < ARRSIZE($ARR_SCAN))
   $X = $ARR_SCAN [$ARR_NUM]
   INC($ARR_NUM,1)
   $Y = $ARR_SCAN [$ARR_NUM]
   INC($ARR_NUM,1)
   INC($xu2, 1)

   WAITMS(100)
END_CYC
UNDEFINE($ARR_SCAN)


GETSCREEN
SCANPICTURE($ARR_SCAN, 759,436, 841,694, "xu3.bmp", -1, 100)

$ARR_NUM = 0
WHILE ($ARR_NUM < ARRSIZE($ARR_SCAN))
   $X = $ARR_SCAN [$ARR_NUM]
   INC($ARR_NUM,1)
   $Y = $ARR_SCAN [$ARR_NUM]
   INC($ARR_NUM,1)
   INC($xu3, 1)

   WAITMS(100)
END_CYC
UNDEFINE($ARR_SCAN)

LOGWRITE ("федя яблок: ", $xu1,"шт" ) // 10
LOGWRITE ("вася яблок", $xu2,"шт" ) // 20
LOGWRITE ("валера яблок ", $xu3,"шт")  //30



8
Спасибо то что нужно ;D ;D ;D ;D



9
благодарю интересная концепция  а $var не как нельзя обойти а то при добавлении 50 ссылок портянка получится бесконечной)

10
Приветствую решил тут рулетку на ютубе сделать помогите оптимизировать и чтоб RND не повторялась
(знаю много GOTO но мне так проще)

sk:
WAITMS(50)

IF (ISKEYDOWN(#Z)=1) // смена клипа при нажатии на Z
WAITMS(200)
KEYDOWN(#CTRL)
KEYDOWN(#W)
WAITMS(200)
KEYUP(#CTRL)
KEYUP(#W)
WAITMS(200)
GOTO(sk1)
ELSE
WAITMS(50)
GOTO(sk)
END_IF

/////////////////////////////////////////////
sk1:
WAITMS(200)
$pes = rnd(1,3)  /// выбор случайного числа (нужно чтоб не повторялось число которое выпало ранее)
WAITMS(200)

IF($pes = 1)
GOTO(sk2)
END_IF

IF($pes = 2)
GOTO(sk3)
END_IF

IF($pes = 3)
GOTO(sk3)
END_IF


/////////////////////////////////////////////////////////////клипы
sk2:
EXECUTE("https://youtu.be/EqSclLcbvCA")
WAITMS(1200)
LCLICK(699,565)
WAITMS(1200)
GOTO(sk)

sk3:
EXECUTE("https://youtu.be/M95iEQx20Ag")
WAITMS(1200)
LCLICK(699,565)
WAITMS(1200)
GOTO(sk)

sk4:
EXECUTE("https://youtu.be/Joz1xBi7ex8")
WAITMS(1200)
LCLICK(699,565)
WAITMS(1200)
GOTO(sk)

11
ага по последовательности выполнения скрипта я понял . Как вверх прыгнуть ?

Выполнение доходит до конца скрипта и начинается сначала, прыгать никуда не нужно.


ясно спс

12
а ничего, что в этом случае пункт 5 у вас никогда не сработает?

для этого есть ELSE

вопрос про другое ;)
Code: (clickermann) [Select]
ELSE
   WAITMS(RND(20,40))
   GOTO(sk5)
END_IF

sk5:
судя по этому участку кода вы неверно понимаете, как работает ELSE



я подразумевал ELSE  как вилку плсле которой скрипт можно двигать в любом направлении

13
Огромное спасибо  за помощь буду разбираться. Ни как недатукаю как происходит переход к  нужной  строчки .
метки  как в гото нет (

Code: (clickermann) [Select]
$check = 0 // присваиваем переменной $check (имя может быть любым) значение 0
WHILE($check = 0) // цикл выполняется если $check равна 0
   GETSCREEN
   IF_PIXEL_IN(805,460, 879,475, 205044)
      INC($t,-70)
      LOGWRITE("минус ", $t)
      WAITMS(50)
   ELSE
      WAITMS(RND(20,40))
      $check = 1 // если цвет не найден, меняем значение переменной. Теперь при следующей проверки условия цикл прекратит выполняться и выполнение пойдет ниже цикла после END_CYC
   END_IF
END_CYC



ага по последовательности выполнения скрипта я понял . Как вверх прыгнуть ?

14
а ничего, что в этом случае пункт 5 у вас никогда не сработает?

для этого есть ELSE

вопрос про другое ;)

15
еще раз объясните на примере
есть точки 1
                   2.
                   3
                   4 // выполнить цыкал  и прыгнут на 2 точку
                   5
как это сделать без гото

Pages: [1] 2