GreatProgram |
Отправлено: 22 Ноября, 2023 - 00:57:32
|
Наблюдатель
Покинул форум
Сообщений всего: 38
Дата рег-ции: Сент. 2022
Репутация: 0
|
Как не странно, но теперь мне этот функционал понадобился для щелчка мыши от найденной картинки, но почему то не работает.
CODE:mouse(LEFT, PosX[0], PosY[0], 1, SCREEN[0][0]);
Подскажите что тут не верно
перед этим идет такой код:
CODE:int PosX,PosY;
int var[1][50][50];
int SCREEN[1366][768];
for (int n=0; n<1; n++)loadimage (#var[n][0][0], "C:\var"+format(n)+".bmp");
screen (#SCREEN[0][0], 375, 280, 1098, 360, -1);
for (n=0; n<1; n++)
{
if (findimage(1, #var[n][0][0], -1, #PosX, #PosY, 0, 0, 723, 80, 5, 5, 5, 5, 5, 5, 97, 1, #SCREEN[0][0])==1)
{
if (n==0)mouse(LEFT, PosX[0]+50, PosY[0]+(-140), 1, SCREEN[0][0]);
}
}
В общем картинка находится я до этого проверял, но увы клики мыши не работают пробовал менять указатель SCREEN[0][0], на такие варианты: #SCREEN[0][0], 1 , -1, wind.
(Этот код у меня вставлен в блок code в визуальном редакторе... программа выполняется с привязкой по выбору. Но W_Kib привязан на активное окно игры, может в этом и кроется загвоздка). Помогите разобраться. |
|
|
Geoteh |
Отправлено: 22 Ноября, 2023 - 16:31:23
|
Участник
Покинул форум
Сообщений всего: 55
Дата рег-ции: Авг. 2021
Репутация: 0
|
у меня похожий вопрос ) мне нужно найти 100-200 картинок в определённой зоне (если есть то по истине иду, если нет по лож)
делаю скрин в блоке кода для виз. редактора таким образом потому что скрипт работает по контролу CODE:int PosX, PosY;
int ZonaX1=100, ZonaY1=500, ZonaX2=170, ZonaY2=570;
int SCREEN[70][70];
screen (#SCREEN[0][0], ZonaX1, ZonaY1, ZonaX2, ZonaY2, -1);
далее перехожу в цикл или функцию и прохожусь по блокам Findimage
теперь по поводу блоков Findimage, (время ожидания и пауза до) их оставлять с 0 ? или делать паузы 1-2 миллисекунд ?
и теперь вопрос еще, хотелось бы сделать так чтоб с каждой найденной картинкой давать свойства выбора к примеру это 1 из 100 персонажей что нашел, в диалоге поставить галку или тип того что с ним делать нападать или пропустить, проблема в том что диалог может 30 (CHECK) установить есть ли альтернатива этому ?(Отредактировано автором: 22 Ноября, 2023 - 16:32:05) |
|
|
Zireael |
Отправлено: 23 Ноября, 2023 - 00:59:23
|
Эксперт
Покинул форум
Сообщений всего: 4398
Дата рег-ции: Нояб. 2017
Репутация: 580
|
Цитата: теперь по поводу блоков Findimage, (время ожидания и пауза до) их оставлять с 0 ? или делать паузы 1-2 миллисекунд ?
Если нужно быстро найти, то ставьте 0. Поиск 100 картинок с паузой даже в 1 мсек сильно увеличит время поиска, т. к. в винде нет паузы в 1 мсек.
CODE:int t = gettime();
for(int i=0; i<100; i++)sleep(1);
messagebox(gettime()-t);
Цитата: проблема в том что диалог может 30 (CHECK) установить
500 галок:
CODE:#define WS_VISIBLE 0x10000000
#define WS_CHILD 0x40000000
#define BS_AUTOCHECKBOX 0x00000003
external(INT, "CreateWindow", "CreateWindowExA", "User32.dll");
int check0[999];
createdialog(0);
showdialog(0, "Диалог0", 10, 10, 1050, 1050, 1, 1);
loop()sleep(10);
function getmessage(0, WM_CREATE)
{
for(int i=0; i<10; i++)
{
for(int j=0; j<50; j++)check0[i*50+j] = CreateWindow(0, "BUTTON", "Check"+format(i*50+j), BS_AUTOCHECKBOX | WS_VISIBLE | WS_CHILD, 10 + i*100, 10+j*20, 85, 18, gethwnd(0), 0, 0, 0);
}
} |
|
|
|