Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Поиск картинок

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

11. Kibor - 19 Ноября, 2023 - 05:00:51 - перейти к сообщению
Такой синтаксис и работа функции. Ничего не будет от двух переменных объявленных.
(Добавление)
Можете одну объявить и ее использовать и для x и для y)
12. GreatProgram - 21 Ноября, 2023 - 16:57:32 - перейти к сообщению
Как не странно, но теперь мне этот функционал понадобился для щелчка мыши от найденной картинки, но почему то не работает.
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 привязан на активное окно игры, может в этом и кроется загвоздка). Помогите разобраться.
13. Zireael - 21 Ноября, 2023 - 17:15:11 - перейти к сообщению
CODE:
mouse(LEFT, PosX+375+50, PosY+280-140);

CODE:
mouse(LEFT, PosX+375+50, PosY+280-140, 1, W_Kib);
14. GreatProgram - 21 Ноября, 2023 - 17:21:03 - перейти к сообщению
Эх спасибо попробуем. Не придал значению, что можно без явного указания указателя )
15. Geoteh - 22 Ноября, 2023 - 08:31:23 - перейти к сообщению
у меня похожий вопрос ) мне нужно найти 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) установить есть ли альтернатива этому ?
16. GreatProgram - 22 Ноября, 2023 - 12:12:31 - перейти к сообщению
Geoteh , блин ну ведь тут все твои вопросы разом рассмотрены...
И не нужны там миллисекунды и диалоговое меню...
17. Zireael - 22 Ноября, 2023 - 16:59:23 - перейти к сообщению
 Цитата:
теперь по поводу блоков 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);
}
}
18. GreatProgram - 19 Мая, 2024 - 16:02:43 - перейти к сообщению
(Разрешение для теста 1366x768)

Подскажите в чем мой недочет?
Counter возвращает всегда -1.
из справки: В случае ошибки возвращает:
-1 размер массива в который записываются X координаты меньше найденных изображений


Если изображение одно — возвращает 1...
CODE:
pause(1000);
int Result[2];
int X,Y,r=20,Counter;
int Img[2][15][15];
int Screen[1366][768];
for (int i=0; i<2; i++)loadimage (#Img[i][0][0], "C:\exmp\Img"+format(i)+".bmp");
screen (#Screen[0][0], 0, 0, 1366, 768, -1);
for (i=0; i<2; i++)
{
Counter=findimage(-1,#Img[i][0][0],-1,#X,#Y,0,0,1366,768,r,r,r,r,r,r,65,1,#Screen[0][0]);
messagebox("Counter: "+format(Counter));
}


Ссылка на изображения
(Добавление)
Проблему решил (Отобразить)

Powered by ExBB FM 1.0 Final