Клик при смене цвета при условии, что изначальный цвет точки может быть любым

Закрыто
enver
Сообщения: 5
Зарегистрирован: 20 апр 2022 19:55

Клик при смене цвета при условии, что изначальный цвет точки может быть любым

Сообщение enver »

Здравствуйте! Задача такая: чтобы при смене цвета на точке клик был по одной координат. Цвет изначально может быть любым (аватарки пользователей). То есть при смене аватарки кликать на неё. Буду благодарен за помощь!

Код: Выделить всё

int color = 0;
startScreenCapture(2);
sleep(2000);

while(!EXIT){
if(color != getColor(1014,1615))
click(1014,1615);

sleep(1000);
}
Использую этот скрипт. Но int color = может быть любым.
Admin
Главный админ
Сообщения: 214
Зарегистрирован: 28 окт 2021 14:01

Re: Клик при смене цвета при условии, что изначальный цвет точки может быть любым

Сообщение Admin »

Здравствуйте! Давайте разбираться. Что не работает в текущем скрипте, а ещё лучше объясните, что должен контролировать скрипт? Понятно, что следить за аватарками в каком-то чате и писать им в ЛС, скажем. Но тогда в таком случае проверки цвета одной точки может быть недостаточно, если важно обработать каждого пользователя, тк аватарка может быть такого же цвета в конкретной точке. В общем нужно больше конкретики.
enver
Сообщения: 5
Зарегистрирован: 20 апр 2022 19:55

Re: Клик при смене цвета при условии, что изначальный цвет точки может быть любым

Сообщение enver »

Текущий скрипт не работает, потому что, изначально условие цвета может быть разным. Как Вы предположили, да действительно одной точки будет мало, вероятно их будет достаточно если будет 3 - 4 точки. Получается в окно приходит заявка, предыдущая опускается вниз. Смысл в том, чтобы максимально быстро среагировать на новую заявку.
Admin
Главный админ
Сообщения: 214
Зарегистрирован: 28 окт 2021 14:01

Re: Клик при смене цвета при условии, что изначальный цвет точки может быть любым

Сообщение Admin »

Попробуйте запустить следующий скрипт, только подкорректируйте координаты точек, в которых проверяется цвет

Код: Выделить всё

//служебые переменные
int ц1 = 0;
int ц2 = 0;

//координаты точек, где проверяем цвет
Point точка1 = Point.get(1014,1615);
Point точка2 = Point.get(1014,1615);

startScreenCapture(2);
sleep(2000);

// получаем цвета аватарки во время запуска
int цвет1 = getColor(точка1);
int цвет2 = getColor(точка2);

while(!EXIT){

// получаем текущие цвета аватарки
ц1 = getColor(точка1);
ц2 = getColor(точка2);

// сравниваем текущие с предыдущими
if((цвет1 != ц1) ||
   (цвет2 != ц2)){
  // если цвет в одной из точек отличается
  // нажимаем в точке1
  click(точка1);
  //что-то делаем после клика
  // . . .

  //запоминаем цвета текущей аватарки
  цвет1 = ц1;
  цвет2 = ц2;
}

sleep(500);
}
enver
Сообщения: 5
Зарегистрирован: 20 апр 2022 19:55

Re: Клик при смене цвета при условии, что изначальный цвет точки может быть любым

Сообщение enver »

Спасибо, как попробую отпишусь ещё.
Admin
Главный админ
Сообщения: 214
Зарегистрирован: 28 окт 2021 14:01

Re: Клик при смене цвета при условии, что изначальный цвет точки может быть любым

Сообщение Admin »

Здесь может быть проблема, если во время добавления следующей позиции происходит анимация скроллинга. То есть скрипт может проверить цвет между аватарками и сразу же нажать в пустоту. В таком случае необходимо добавить задержку после проверки цвета в условии перед нажатием. Чтоб анимация успела завершится. И сократить общую задержку для цикла до 100-300мС.
enver
Сообщения: 5
Зарегистрирован: 20 апр 2022 19:55

Re: Клик при смене цвета при условии, что изначальный цвет точки может быть любым

Сообщение enver »

Всё работает :) . Добавил еще пару кликов, и выставил правильный тайминг. Еще вопрос по приложению: не планируется ли установка пароля на приложение либо бы на раздел скрипты?
Закрыто