как ускорить скрипт или как проверять условия одновременно
Написал скрипт для автокликера Perfect Click, он делает следующее:
- проверяет пять точек на экране;
- если хотя бы одна из них отличается от цвета заднего фона (переменные
bg1
иbg2
(самая яркая и тёмная точка фона)), то он быстро нажимает на кнопку, а следом за ней следующую; - периодически ставит и быстро убирает галочку в определенном месте.
Суть проблемы: скорость скрипта устраивает, но он проверяет те самые пять точек по очереди, из-за этого моментами не успевает нажать в нужное место.
Чем можно заменить эти 5 if
'ов? Пробовал объявлять массив с координатами y
, а координаты x
были бы равны, но Perfect Click ругается, поэтому способы с массивами нежелательны.
startScreenCapture(2);
sleep(1000);
int bg1 = 12000000;
int bg2 = 15000000;
while (!EXIT) {
for (int i = 0; i <= 200000; i++) {
//1 лот
int slot1 = getColor(777, 304);
if (slot1 < bg1 || slot1 > bg2) {
//купить
click(1153, 298);
sleep(3);
//подтвердить
click(637, 478);
sleep(100);
//отмена
click(1213, 66);
sleep(500);
//обновление
click(469, 244);
sleep(200);
click(469, 244);
sleep(1000);
}
//2 лот
int slot2 = getColor(777, 381);
if (slot2 < bg1 || slot2 > bg2) {
//купить
click(1148, 374);
sleep(3);
//подтвердить
click(637, 478);
sleep(100);
//отмена
click(1213, 66);
sleep(500);
//обновление
click(469, 244);
sleep(200);
click(469, 244);
sleep(1000);
}
//3 лот
int slot3 = getColor(777, 457);
if (slot3 < bg1 || slot3 > bg2) {
//купить
click(1148, 449);
sleep(3);
//подтвердить
click(637, 478);
sleep(100);
//отмена
click(1213, 66);
sleep(500);
//обновление
click(469, 244);
sleep(200);
click(469, 244);
sleep(1000);
}
//4 лот
int slot4 = getColor(777, 527);
if (slot4 < bg1 || slot4 > bg2) {
//купить
click(1148, 526);
sleep(3);
//подтвердить
click(637, 478);
sleep(100);
//отмена
click(1213, 66);
sleep(500);
//обновление
click(469, 244);
sleep(200);
click(469, 244);
sleep(1000);
}
//5 лот
int slot5 = getColor(777, 603);
if (slot5 < bg1 || slot5 > bg2) {
//купить
click(1148, 604);
sleep(3);
//подтвердить
click(637, 478);
sleep(100);
//отмена
click(1213, 66);
sleep(500);
//обновление
click(469, 244);
sleep(200);
click(469, 244);
sleep(1000);
}
}
//обновление
click(469, 244);
sleep(20);
click(469, 244);
}