Такой синтаксис и работа функции. Ничего не будет от двух переменных объявленных.
(Добавление)
Можете одну объявить и ее использовать и для x и для y)
11. Kibor - 19 Ноября, 2023 - 05:00:51 - перейти к сообщению
12. GreatProgram - 21 Ноября, 2023 - 16:57:32 - перейти к сообщению
Как не странно, но теперь мне этот функционал понадобился для щелчка мыши от найденной картинки, но почему то не работает.
Подскажите что тут не верно
перед этим идет такой код:
В общем картинка находится я до этого проверял, но увы клики мыши не работают пробовал менять указатель SCREEN[0][0], на такие варианты: #SCREEN[0][0], 1 , -1, wind.
(Этот код у меня вставлен в блок code в визуальном редакторе... программа выполняется с привязкой по выбору. Но W_Kib привязан на активное окно игры, может в этом и кроется загвоздка). Помогите разобраться.
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]);
}
}
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 картинок в определённой зоне (если есть то по истине иду, если нет по лож)
делаю скрин в блоке кода для виз. редактора таким образом потому что скрипт работает по контролу
далее перехожу в цикл или функцию и прохожусь по блокам Findimage
теперь по поводу блоков Findimage, (время ожидания и пауза до) их оставлять с 0 ? или делать паузы 1-2 миллисекунд ?
и теперь вопрос еще, хотелось бы сделать так чтоб с каждой найденной картинкой давать свойства выбора к примеру это 1 из 100 персонажей что нашел, в диалоге поставить галку или тип того что с ним делать нападать или пропустить, проблема в том что диалог может 30 (CHECK) установить есть ли альтернатива этому ?
делаю скрин в блоке кода для виз. редактора таким образом потому что скрипт работает по контролу
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);
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);
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);
}
}
#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...
Ссылка на изображения
(Добавление)
Подскажите в чем мой недочет?
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));
}
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));
}
Ссылка на изображения
(Добавление)
Проблему решил (Отобразить)