faryatiev |
Отправлено: 30 Декабря, 2023 - 08:12:51
|
Участник
Покинул форум
Сообщений всего: 55
Дата рег-ции: Янв. 2016
Репутация: 0
|
Ясно, что перегружен этот кусок виз кода
CODE:
function findimage_(int #Image, int t, int p1, int p2, int m, int xm, int ym, int mov_m, int mov_x, int mov_y, int p3, int wait, int cycle, int fon, int r, int p, int k, int xs, int ys, int xf, int yf, int#sum, int#x, int#y)
{
int timKIB, sumKIB, xKIB, yKIB, tx, ty, tcycle=0;
sty: pause(p1);
sumKIB=0;
if (t!=0) timKIB=gettime();
a: if (r==0 && p==100){sum=findimage(k, #Image[0][0], fon, #x[0], #y[0], xs, ys, xf, yf, -1); if (sum>0) goto e;}
else {sum=findimage(k, #Image[0][0], fon, #x[0], #y[0], xs, ys, xf, yf, r, r, r, r, r, r, p, 1, -1); if (sum>0) goto e;}
if (t==0) return 0;
if (gettime()-timKIB<t){sleep(20); goto a;}
return 0;
e: sumKIB=sum; xKIB=x[0]; yKIB=y[0];
pause(p2);
hy: if (mov_m==1)mousemove(mov_x, mov_y);
if (m>0 && m<14)pause(p3);
if (wait!=-1)
{
for (int ttim=gettime(); gettime()-ttim<wait; sleep(20))
{
if (r==0 && p==100){if (findimage(1, #Image[0][0], fon, #x[0], #y[0], xs, ys, xf, yf, -1)==0)return sumKIB;}
else {if (findimage(1, #Image[0][0], fon, #x[0], #y[0], xs, ys, xf, yf, r, r, r, r, r, r, p, 1, -1)==0)return sumKIB;}
}
if (tcycle<cycle){tcycle++; goto sty;}
return 0;
}
return sumKIB;
}
Пока разбираюсь, как его сократить. Выдайте, пожалуйста лицензию для создания exe. Ключ ekunrdglum |
|
|
faryatiev |
Отправлено: 30 Декабря, 2023 - 09:01:29
|
Участник
Покинул форум
Сообщений всего: 55
Дата рег-ции: Янв. 2016
Репутация: 0
|
Kibor пишет: Дал сутки.
Вы пользуетесь старым редактором?
На старый не распространяется увеличение..
А что вы хотите от этой функции когда вызываете ее?
Спасибо!
Этот скрипт создан давным-давно и просто правится время от времени. Так что вполне возможно, что сделан на старом виз. редакторе.
findimage нужна для поиска одного (первого) совпадения с заданным bmp-рисунком с учётом заданных отклонений по цветам и процентного содержания найденных пикселей для получения достоверности.
Кстати, нет планов добавить задание процентного содержания в саму findimage? Тогда и подпрограмма была бы не нужна.
вот сама строка вызова:
CODE:
if (findimage_(#Image_POP2_KIB[0][0], 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, -1, -1, -1, O1, O2, 1, XX11, YY11, XX12, YY12, #sum_KIB, #x_KIB, #y_KIB)>0) goto sd;
(Отредактировано автором: 30 Декабря, 2023 - 09:09:14) |
|
|
|