Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: komandirbk on December 13, 2017, 02:42:38 AM
-
Собственно не получается всё никак понять, как же это реализовать.
Нужно объявить я так понимаю переменную, а потом что дальше я хз, не получается.
В общем нужно, чтобы после того как я нашел пиксель у меня был выбор из двух координат. А точнее - при нахождении пикселя - курсор двигается либо именно MOVE(159,357) или же второй вариант MOVE(123,321)
Именно такие вот значения, а не в перемешку.
Спасибо заранее.
-
Мда уж, насколько все просто, но догадаться я почему то не смог. Спасибо)
-
Примерно такое же и я думал попробовать сделать, но более сложный вариант. Сейчас у меня скрипт после нахождения цвета делает нажатия по заданным координатам. Вот они в этом куске кода:
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, если это имеет значение.
-
Забыл добавить. Если скрипт при проходе цикла вместо координаты...
Где здесь цикл?
в начале создаёшь массив с координатами
// заносим в массив все пары координат
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]
Нуи в своих поисках кликаешь
LCLICK($cx, $cy)
-
в начале создаёшь массив с координатами
// заносим в массив все пары координат
STRSEPARATE("50:50:60:60:70:70:80:80:90:90:100:100:110:110:120:120", ":", $coords)
Это, я так понял, для первой координаты? В моём случае это 134,131. Для второй примерно то же самое, только $coords2 будет. Ну и сами координаты прописывать во втором случае $n2 = RND(0, (ARRSIZE($coords2) / 2 - 1)) // случайный номер из номеров пар
$cx2 = $coords[$n2*2]
$cy2 = $coords[$n2*2 + 1]
Или так нельзя? :)
-
Столкнулся с такой проблемой :) Версия кликера 4.07 выдаёт ошибку на строке
$n2 = RND(0, (ARRSIZE($coords2) / 2 - 1))
, но при этом правильно работает с окном. Последняя версия кликера правильно обрабатывает строку, но привязка к окну не совсем корректно работает. Если в момент нажатия кликера по координате над окном просто проводить курсором, то предметы смещаются, будто на них щёлкнули и перетащили.
Стоит у меня Win 7 x32
Целевое окно кликера BlueStacks.
-
Какая версия? 4.07 :o
Весь свой скрипт пиши.
Такой скрипт на версии 4.13.007b работает без ошибок
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
-
Извиняюсь. Используется 4.7. Она корректно работает с целевым окном, но даёт сбой на строке
$n = RND(0, (ARRSIZE($coords) / 2 - 1))
Последняя версия кликера работает отлично со строкой, но не совсем корректно работает привязка.
-
А, так ничего странного. 4.7 знать не знает что такое массивы. Они появились только в 4.8 версии и выше.
-
Попробую найти 4.8. Сможет она обрабатывать эту строку? Авось, и привязка корректно работать будет :)
-
Да, массивы появились только в 4.8
STRSEPARATE вообще в 4.11
Можно бы было на свитче сделать... но SWITCH появился в 4.9
Значит руками на IF-ах
$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
Лесенку можно выделить в подпрограмму.
-
По секрету. У одного Дяденьки на этом форуме, лежит архивчик,
куда он натрамбовывает старые версии,
как Дедуша Мороз новогодние подарки в мешок! :o
Вот эта коварная тема гражданской наружности:
http://crapware.aidf.org/forum/index.php?topic=2709.msg17161#msg17161
-
А чегож, поищи. Вдруг версия повзрослела и окрепла за то время, что ей ни кто не пользуется.
Авось кроме привязки там много необычных, богом забытых, плюшек найдётся.
Язвить по этому поводу не надо.
Мне, например, совсем не хочется, чтобы случайно проведённый над окном курсор сбил всё расположение целей. Потому и использую именно версию 4.7, ибо могу курсором водить над окном и всё останется на своих местах. В последующих версиях происходит смещение целей. Потому и пытаюсь найти решение моей задачи именно под версию 4.7.
-
Значит руками на IF-ах
$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
Лесенку можно выделить в подпрограмму.
Благодарю за этот вариант :) Отлично справляется с поставленными мною задачами.