Автокликер Clickermann :: Форум

Основной раздел => Общие вопросы => Topic started by: komandirbk on December 13, 2017, 02:42:38 AM

Title: Выбор случайного значения из двух преложенных
Post by: komandirbk on December 13, 2017, 02:42:38 AM
Собственно не получается всё никак понять, как же это реализовать.

Нужно объявить я так понимаю переменную, а потом что дальше я хз, не получается.

В общем нужно, чтобы после того как я нашел пиксель у меня был выбор из двух координат. А точнее - при нахождении пикселя - курсор двигается либо именно MOVE(159,357) или же второй вариант MOVE(123,321)
Именно такие вот значения, а не в перемешку.
Спасибо заранее.
Title: Re: Выбор случайного значения из двух преложенных
Post by: komandirbk on December 13, 2017, 04:28:34 AM
Мда уж, насколько все просто, но догадаться я почему то не смог. Спасибо)
Title: Re: Выбор случайного значения из двух преложенных
Post by: silver073000 on December 20, 2017, 01:37:43 PM
Примерно такое же и я думал попробовать сделать, но более сложный вариант. Сейчас у меня скрипт после нахождения цвета делает нажатия по заданным координатам. Вот они в этом куске кода:
Code: (clickermann) [Select]
getscreen
IF_PIXEL_IN (5,453, 590,545, 4375807)
   lclick($_return1, $_return2)
   WAITMS(50)
   LCLICK(134,131)
   WAITMS(50)
END_IF

getscreen
IF_PIXEL_IN (5,453, 590,545, 1589622)
   lclick($_return1, $_return2)
   WAITMS(50)
   LCLICK(134,131)
   WAITMS(50)
END_IF

LCLICK(1054,207)
Это 134,131 и 1054,207. Можно ли как-то задать переменные, чтобы в случайном порядке менялись эти координаты из заданных мною? Например, вместо 134,131 случайным образом выбиралась координата, например, либо 150,150, либо 200,200, либо 300,300? То же самое и с координатой 1054,207. Для неё выбор, например, 600,600, либо 700,700, либо 800,800.
Но только интересует не весь диапазон (или как оно там будет называться) от 150 до 300, а именно те координаты, которые я хочу.
Забыл добавить. Если скрипт при проходе цикла вместо координаты 134,131 выбрал 150,150, то и следующее нажатие должно быть в ту же координату. При новом проходе выбирается случайная координата, но опять же с условием, что вместо 134,131 скрипт нажмёт одну и ту же координату из заданных мною.
Версия кликера v4.7 SE, если это имеет значение.
Title: Re: Выбор случайного значения из двух преложенных
Post by: Vint on December 20, 2017, 06:44:00 PM
Забыл добавить. Если скрипт при проходе цикла вместо координаты...
Где здесь цикл?

в начале создаёшь массив с координатами
Code: (clickermann) [Select]
// заносим в массив все пары координат
STRSEPARATE("50:50:60:60:70:70:80:80:90:90:100:100:110:110:120:120", ":", $coords)

Выше поисков выбираешь координаты
Code: (clickermann) [Select]
$n = RND(0, (ARRSIZE($coords) / 2 - 1)) // случайный номер из номеров пар
$cx = $coords[$n*2]
$cy = $coords[$n*2 + 1]

Нуи в своих поисках кликаешь
Code: (clickermann) [Select]
LCLICK($cx, $cy)
Title: Re: Выбор случайного значения из двух преложенных
Post by: silver073000 on December 20, 2017, 07:53:50 PM
в начале создаёшь массив с координатами
Code: (clickermann) [Select]
// заносим в массив все пары координат
STRSEPARATE("50:50:60:60:70:70:80:80:90:90:100:100:110:110:120:120", ":", $coords)
Это, я так понял, для первой координаты? В моём случае это 134,131. Для второй примерно то же самое, только $coords2 будет. Ну и сами координаты прописывать во втором случае
Code: (clickermann) [Select]
$n2 = RND(0, (ARRSIZE($coords2) / 2 - 1)) // случайный номер из номеров пар
$cx2 = $coords[$n2*2]
$cy2 = $coords[$n2*2 + 1]
Или так нельзя? :)
Title: Re: Выбор случайного значения из двух преложенных
Post by: silver073000 on December 20, 2017, 10:14:58 PM
Столкнулся с такой проблемой :) Версия кликера 4.07 выдаёт ошибку на строке
Code: (clickermann) [Select]
$n2 = RND(0, (ARRSIZE($coords2) / 2 - 1)), но при этом правильно работает с окном. Последняя версия кликера правильно обрабатывает строку, но привязка к окну не совсем корректно работает. Если в момент нажатия кликера по координате над окном просто проводить курсором, то предметы смещаются, будто на них щёлкнули и перетащили.
Стоит у меня Win 7 x32
Целевое окно кликера BlueStacks.
Title: Re: Выбор случайного значения из двух преложенных
Post by: Oraven on December 21, 2017, 08:13:58 AM
Какая версия? 4.07  :o

Весь свой скрипт пиши.
Такой скрипт на версии 4.13.007b работает без ошибок
Code: (clickermann) [Select]
STRSEPARATE("50:50:60:60:70:70:80:80:90:90:100:100:110:110:120:120", ":", $coords)
$n = RND(0, (ARRSIZE($coords) / 2 - 1)) // случайный номер из номеров пар
$cx = $coords[$n*2]
$cy = $coords[$n*2 + 1]

LOGWRITE ($cx,",",$cy)
HALT
Title: Re: Выбор случайного значения из двух преложенных
Post by: silver073000 on December 21, 2017, 11:46:45 AM
Извиняюсь. Используется 4.7. Она корректно работает с целевым окном, но даёт сбой на строке
Code: (clickermann) [Select]
$n = RND(0, (ARRSIZE($coords) / 2 - 1))Последняя версия кликера работает отлично со строкой, но не совсем корректно работает привязка.
Title: Re: Выбор случайного значения из двух преложенных
Post by: Oraven on December 21, 2017, 12:11:23 PM
А, так ничего странного. 4.7 знать не знает что такое массивы. Они появились только в 4.8 версии и выше.
Title: Re: Выбор случайного значения из двух преложенных
Post by: silver073000 on December 21, 2017, 12:16:28 PM
Попробую найти 4.8. Сможет она обрабатывать эту строку? Авось, и привязка корректно работать будет :)
Title: Re: Выбор случайного значения из двух преложенных
Post by: Vint on December 21, 2017, 12:37:36 PM
Да, массивы появились только в 4.8
STRSEPARATE вообще в 4.11

Можно бы было на свитче сделать... но SWITCH появился в 4.9

Значит руками на IF-ах
Code: (clickermann) [Select]
$v = RND(1, 3) // 3 - это количество вариантов

IF($v = 1)
    LCLICK(150, 150)
ELSE
    IF($v = 2)
        LCLICK(200, 200)
    ELSE
        IF($v = 1)
            LCLICK(300, 300)
        END_IF
    END_IF
END_IF

Лесенку можно выделить в подпрограмму.
Title: Re: Выбор случайного значения из двух преложенных
Post by: Vint on December 21, 2017, 12:41:58 PM
По секрету. У одного Дяденьки на этом форуме, лежит архивчик,
 куда он натрамбовывает старые версии,
 как Дедуша Мороз  новогодние подарки в мешок!
:o

Вот эта коварная тема гражданской наружности:
http://crapware.aidf.org/forum/index.php?topic=2709.msg17161#msg17161
Title: Re: Выбор случайного значения из двух преложенных
Post by: silver073000 on December 21, 2017, 01:57:35 PM
А чегож, поищи. Вдруг версия повзрослела и окрепла за то время, что ей ни кто не пользуется.
 Авось кроме привязки там много необычных, богом забытых, плюшек найдётся.
Язвить по этому поводу не надо.
Мне, например, совсем не хочется, чтобы случайно проведённый над окном курсор сбил всё расположение целей. Потому и использую именно версию 4.7, ибо могу курсором водить над окном и всё останется на своих местах. В последующих версиях происходит смещение целей. Потому и пытаюсь найти решение моей задачи именно под версию 4.7.
Title: Re: Выбор случайного значения из двух преложенных
Post by: silver073000 on December 23, 2017, 12:58:48 AM
Значит руками на IF-ах
Code: (clickermann) [Select]
$v = RND(1, 3) // 3 - это количество вариантов

IF($v = 1)
    LCLICK(150, 150)
ELSE
    IF($v = 2)
        LCLICK(200, 200)
    ELSE
        IF($v = 1)
            LCLICK(300, 300)
        END_IF
    END_IF
END_IF

Лесенку можно выделить в подпрограмму.
Благодарю за этот вариант :) Отлично справляется с поставленными мною задачами.