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 - ZMAN

Pages: [1] 2
1
Общие вопросы / Re: Смотрю в книгу и вижу...
« on: September 24, 2017, 10:08:20 PM »
 :o
блестяще!

2
Общие вопросы / Re: Смотрю в книгу и вижу...
« on: September 24, 2017, 06:00:49 PM »
Quote
А вот 3-й можно было и без, но как его вписать в эти два пока не соображу. То есть, его можно в режиме ожидания постоянно использовать.
Все больше думаю над этим вариантом. 3-й сценарий на пикселе в постоянный цикл, ведь в какой-то ситуации просто могу забыть его включить.

3
Общие вопросы / Re: Смотрю в книгу и вижу...
« on: September 24, 2017, 02:03:56 PM »
getscreen по области ::) шикарно :) догадывался, что  имел ввиду Vint под "расточительно"
О - оптимизация :D
С - спасибо  :)

4
Общие вопросы / Re: Смотрю в книгу и вижу...
« on: September 24, 2017, 11:59:19 AM »
Quote
И так ли нужны эти потоки?
Например 2 первых нужны у них специфическая функция. А вот 3-й можно было и без, но как его вписать в эти два пока не соображу. То есть, его можно в режиме ожидания постоянно использовать.

5
Общие вопросы / Re: Смотрю в книгу и вижу...
« on: September 23, 2017, 03:23:11 PM »
Как-то так я представлял интеграцию скрипта в поток, но где-то я допустил ошибку в 3-м потоке. Когда скрипт, который по ожиданию пикселя единственный в файле, он работает так как мне необходимо. То есть повторяет цикл за циклом свои функции. Как я понимаю, после END_CYC он снова возвращался в исходную в этом случае. Но после помещения его среди других скриптов, начались танцы... Где я совершил ошибку? Задача такова - при нажатии l я включаю поток на ожидание пикселя, когда он появляется, выполняется команда, пока пиксель не поменяется на другой. После этого он снова возвращается в режим ожидания. Повторное нажатие l выключает этот поток.
Code: (clickermann) [Select]
// поток 1
THREAD(cl, 0)
    keyDown(#v)
    waitms(rnd(73, 121))
    keyUp(#v)
    waitms(rnd(1711, 2102))
END_THREAD
 
// переключптель 1
IF(ISKEYDOWN(#p) = 1)
    $run = $run ^ 1
    IF($run = 0)
        SETTHREAD(cl, 2)
        waitms(20)
        IF(ISKEYDOWN(#v) = 1)
            keyUp(#v)
        END_IF
    ELSE
        SETTHREAD(cl, 1)
    END_IF
    WHILE(ISKEYDOWN(#p) = 1)
        waitms(20)
    END_CYC
END_IF
waitms(30)

// поток 2
THREAD(cll, 0)
waitms(rnd(262,373))
  keyDown(#d)
waitms(rnd(262,373))
move(1027,73)
waitms(rnd(262,373))
DBLCLICK(1027,73)
waitms(rnd(262,373))
  keyUp(#d)
waitms(rnd(4325,5046))
END_THREAD
 
// переключатель 2
IF(ISKEYDOWN(#o) = 1)
    $run1 = $run1 ^ 1
    IF($run1 = 0)
        SETTHREAD(cll,2)
        waitms(20)
        IF(ISKEYDOWN(#o) = 1)
            keyUp(#o)
        END_IF
    ELSE
        SETTHREAD(cll, 1)
    END_IF
    WHILE(ISKEYDOWN(#o) = 1)
        waitms(20)
    END_CYC
END_IF
waitms(30)

// поток 3 ожидание пикселя
THREAD(pl, 0)
$check = 0
WHILE($check = 0)
   GETSCREEN
   IF(PXL(804,768) = 1710830)
      $check = 1
      KEYDOWN(#4)
      WAITMS(RND(73, 121))
      KEYUP(#4)
      WAIT(RND(63, 101))
   ELSE
      WAITMS(50)
   END_IF
END_CYC
END_THREAD

// переключатель 3
IF(ISKEYDOWN(#l) = 1)
    $run2 = $run2 ^ 1
    IF($run2 = 0)
        SETTHREAD(pl,2)
        waitms(20)
        IF(ISKEYDOWN(#l) = 1)
            keyUp(#l)
        END_IF
    ELSE
        SETTHREAD(pl, 1)
    END_IF
    WHILE(ISKEYDOWN(#l) = 1)
        waitms(20)
    END_CYC
END_IF
waitms(30)

6
Общие вопросы / Re: Смотрю в книгу и вижу...
« on: September 23, 2017, 01:57:00 PM »
Да это потому, что я не совсем понимал(ю) ::) принцип пока не начал его обкатывать :)
Решил ограничиться без поиска по области. Знаю точную координату необходимого мне пикселя
Code: (clickermann) [Select]
// ожидание пикселя
$check = 0
WHILE($check = 0)
   GETSCREEN
   IF(PXL(804,768) = 1710830)
      $check = 1
      KEYDOWN(#4)
      WAITMS(RND(73, 121))
      KEYUP(#4)
      WAIT(RND(63, 101))
   ELSE
      WAITMS(50)
   END_IF
END_CYC
Quote
$check = 1     //если пиксель нашелся в области, то переменной  $check присваеваем "не 0" , любое число не равное нулю
      //и в следующей проверке условия цикла, $check уже не равен нулю, и значит что цикл завершится, скрипт пойдет далее, то что после  END_CYC
Если это единственный скрипт в файле, то он начнет с начала?
Если я его хочу интегрировать в фаил с 2-мя потоками, то лучше его реализовать как 3-й поток?

7
Общие вопросы / Re: Смотрю в книгу и вижу...
« on: September 23, 2017, 12:07:07 PM »
Нашел этот шаблон, но хотел бы разобраться. Как я понимаю, если добавить определенную команду по переменной $check = 1, то цикл закончится? Как мне повторить команду, если этот же пиксель в данный момент прежний?
Code: (clickermann) [Select]
$check = 0
WHILE($check = 0)
   GETSCREEN
   IF_PIXEL_IN(200,200, 400,400, 255)
      $check = 1
   ELSE
      WAITMS(50)
   END_IF
END_CYC

8
Общие вопросы / Re: Смотрю в книгу и вижу...
« on: September 23, 2017, 10:48:44 AM »
С переменными $_return1 и $_return2 Разобрались. Можно и без них ежели оперировать с координатами пикселя нет необходимости.
Я преследую такую задачу. есть область в которой в состоянии "покоя" нет нужного пикселя. В этом случае мне необходимо бездействие. Как только состояние меняется и появляется нужный мне пиксель, следует выполнить определенную команду. Я предполагал, что после того, как в буфер ложиться экран, то идет непрерывный анализ, пока не появиться в области нужный пиксель.

9
Общие вопросы / Re: Смотрю в книгу и вижу...
« on: September 22, 2017, 11:38:28 PM »
До меня дошло описание
Quote
Как только первый попавшийся пиксель будет найден, инструкция вернет его координаты в переменные $_return1, $_return2 и прекратит анализ
то есть наличие этих переменных обязательное? если нет этих переменных, то анализ будет продолжаться?

10
Общие вопросы / Смотрю в книгу и вижу...
« on: September 22, 2017, 10:39:34 PM »
Доброго времени суток. Знаю, тем полно, даже описание в хелпе читаю, но логики пока не пойму синтаксиса if_pixel_in, а именно роль переменных -
Quote
Возвращаемые параметры
$_return1 - x координата найденного пикселя
$_return2 - y координата
тот случай, когда одеваешь штаны, а трусы проигнорировал.

11
признаю, не понимаю пока смысла отпускания кнопки. а включение двух потоков одновременно в планах не было, но в очередной раз благодарю. в принципе интуитивно думал об этом, когда Vint давал вектор.

12
сменил имена и этого как оказалось достаточно. конфликтов не обнаружено.
Code: (clickermann) [Select]
// поток 1
THREAD(cl, 0)
    keyDown(#v)
    waitms(rnd(73, 121))
    keyUp(#v)
    waitms(rnd(1711, 2102))
END_THREAD
 
// переключптель 1
IF(ISKEYDOWN(#p) = 1)
    $run = $run ^ 1
    IF($run = 0)
        SETTHREAD(cl, 2)
        waitms(20)
        IF(ISKEYDOWN(#v) = 1)
            keyUp(#v)
        END_IF
    ELSE
        SETTHREAD(cl, 1)
    END_IF
    WHILE(ISKEYDOWN(#p) = 1)
        waitms(20)
    END_CYC
END_IF
waitms(30)
////////////////////////////////////////////////////////////////////////
// поток 2
THREAD(cll, 0)
waitms(rnd(262,373))
  keyDown(#d)
waitms(rnd(262,373))
move(1027,73)
waitms(rnd(262,373))
DBLCLICK(1027,73)
waitms(rnd(262,373))
  keyUp(#d)
waitms(rnd(4325,5046))
END_THREAD
 
// переключатель 2
IF(ISKEYDOWN(#o) = 1)
    $run = $run ^ 1
    IF($run = 0)
        SETTHREAD(cll,2)
        waitms(20)
        IF(ISKEYDOWN(#o) = 1)
            keyUp(#o)
        END_IF
    ELSE
        SETTHREAD(cll, 1)
    END_IF
    WHILE(ISKEYDOWN(#o) = 1)
        waitms(20)
    END_CYC
END_IF
waitms(30)

13
за комментарии отдельное спасибо! я как падаван пытаюсь обуздать этот язык, даже мультиязык :D

14
Можете смеяться, а можете поплакать, я тут сел немножечко покакать :D
Переменные и имя потока видимо иначе пишутся)
Code: (clickermann) [Select]
// поток 1
THREAD(cl, 0)
    keyDown(#v)
    waitms(rnd(73, 121))
    keyUp(#v)
    waitms(rnd(1711, 2102))
END_THREAD
 
// переключптель 1
IF(ISKEYDOWN(#p) = 1)
    $run = $run ^ 1
    IF($run = 0)
        SETTHREAD(cl, 2)
        waitms(20)
        IF(ISKEYDOWN(#v) = 1)
            keyUp(#v)
        END_IF
    ELSE
        SETTHREAD(cl, 1)
    END_IF
    WHILE(ISKEYDOWN(#p) = 1)
        waitms(20)
    END_CYC
END_IF
waitms(30)
////////////////////////////////////////////////////////////////////////
// поток 2
THREAD(cl, 3)
waitms(rnd(262,373))
  keyDown(#d)
waitms(rnd(262,373))
move(1027,73)
waitms(rnd(262,373))
DBLCLICK(1027,73)
waitms(rnd(262,373))
  keyUp(#d)
waitms(rnd(4325,5046))
END_THREAD
 
// переключатель 2
IF(ISKEYDOWN(#o) = 1)
    $run = $run ^ 4
    IF($run = 3)
        SETTHREAD(cl, 5)
        waitms(20)
        IF(ISKEYDOWN(#o) = 1)
            keyUp(#o)
        END_IF
    ELSE
        SETTHREAD(cl, 4)
    END_IF
    WHILE(ISKEYDOWN(#o) = 1)
        waitms(20)
    END_CYC
END_IF
waitms(30)

15
спасибо! :)

Pages: [1] 2