Автоматизация и боты

 Помощь      Поиск      Пользователи
Сайт Кибор     Программируемый кликер Кибор     Видео обучение     Заказать бот

 Страниц (2): « 1 [2]   

> Описание: Способы анализа картинок
Kibor
Отправлено: 19 Ноября, 2023 - 13:00:51
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8098
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




Такой синтаксис и работа функции. Ничего не будет от двух переменных объявленных.
(Добавление)
Можете одну объявить и ее использовать и для x и для y)
 
 Top
GreatProgram
Отправлено: 22 Ноября, 2023 - 00:57:32
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 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 привязан на активное окно игры, может в этом и кроется загвоздка). Помогите разобраться.
 
 Top
Zireael
Отправлено: 22 Ноября, 2023 - 01:15:11
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4398
Дата рег-ции: Нояб. 2017  
Репутация: 580




CODE:
mouse(LEFT, PosX+375+50, PosY+280-140);

CODE:
mouse(LEFT, PosX+375+50, PosY+280-140, 1, W_Kib);
 
 Top
GreatProgram
Отправлено: 22 Ноября, 2023 - 01:21:03
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 38
Дата рег-ции: Сент. 2022  
Репутация: 0




Эх спасибо попробуем. Не придал значению, что можно без явного указания указателя )
 
 Top
Geoteh
Отправлено: 22 Ноября, 2023 - 16:31:23
Post Id



Пользователь
Участник


Покинул форум
Сообщений всего: 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)

 
 Top
GreatProgram
Отправлено: 22 Ноября, 2023 - 20:12:31
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 38
Дата рег-ции: Сент. 2022  
Репутация: 0




Geoteh , блин ну ведь тут все твои вопросы разом рассмотрены...
И не нужны там миллисекунды и диалоговое меню...
 
 Top
Zireael
Отправлено: 23 Ноября, 2023 - 00:59:23
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 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);
}
}
 
 Top
Страниц (2): « 1 [2]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Вопросы и решение проблем »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




Powered by