Nik2 |
Отправлено: 30 Декабря, 2022 - 21:51:15
|
Прохожий
Покинул форум
Сообщений всего: 17
Дата рег-ции: Дек. 2022
Репутация: 0
|
Привязывайся к окну и работай с оконными координатами. Но скорее всего ты не правильно вычисляешь координаты для клика.
Допустим:
CODE:
if(findheapcolor(1, #color[0], #kol[0], 1,1, #x, #y, 2 2, 2, 2, 100, 100, 150, 150, r, r, r, r, r, r, w_KIB)==1) mouse(LEFT, 100+x, 100+y, 1, w_KIB);
Где 100, 100 - это начальные координаты поиска по оси X и Y.(Отредактировано автором: 30 Декабря, 2022 - 21:57:43) |
|
|
OKStyle |
Отправлено: 31 Декабря, 2022 - 02:53:10
|
Участник
Покинул форум
Сообщений всего: 81
Дата рег-ции: Сент. 2022
Репутация: 6
|
Zireael пишет: Клик по указанным координатам без поиска правильно выполняется?
Вообще вариантов много почему так может быть.
Не учтены координаты начала поиска, как уже было написано.
Возможно поиск в окне, а клик относительно экрана, а не окна, либо наоборот.
1. Клик и перемещение мышки работают некорректно. Сейчас сниму видео и продемонстрирую.
2. Передача нажатий клавиатуры работает нормально (Кроме стрелок. Почему-то при нажатие на стрелку вверх например - печатается кнопка "8". Кнопкой NumLock в игре не переключает режим. А в браузере NumLock работает корректно, переключает между 8 и стрелкой как положено)
(Добавление)
Вот пример, как работает мышка.
Уточню, чтобы было понятно что происходит...
Перемещения работают, но только тогда, когда мышка не в клиенте [И не важно, стоит привязка к "Активном по экрану/Активный по указателю"]
Как только вытаскиваю мышку за пределы игрового окна - мышка начинает двигаться.
Установлены 3 точки, для перемещения мыши
Набросал быстро в визуальном редакторе (Отобразить)
CODE:
win W_Kib=window ("SteelGiants", "CipherEngineWnd", -1);;
int eX_Kib, eY_Kib;
eX_Kib=W_Kib.widthclient;
eY_Kib=W_Kib.heightclient;
KIB_1: Mouse(2, #W_Kib, W_Kib.leftclient, W_Kib.topclient, 0, 222, 222, "Переместить", 2222);
Mouse(2, #W_Kib, W_Kib.leftclient, W_Kib.topclient, 0, 444, 444, "Переместить", 2222);
Mouse(2, #W_Kib, W_Kib.leftclient, W_Kib.topclient, 0, 155, 155, "Переместить", 2222);
goto KIB_1;
function Mouse(int ew, win #w, int v_x, int v_y, int p1, int x, int y, string m, int p2)
{
pause(p1);
if (ew==0 || ew==1)
{
if (ew==1){x=v_x+x; y=v_y+y;}
if (m=="Левую клик"){mouse(LEFT, x, y); goto hy;}
if (m=="Среднюю клик"){mouse(MIDDLE, x, y); goto hy;}
if (m=="Правую клик"){mouse(RIGHT, x, y); goto hy;}
if (m=="Левую нажать"){mousedown(LEFT, x, y); goto hy;}
if (m=="Среднюю нажать"){mousedown(MIDDLE, x, y); goto hy;}
if (m=="Правую нажать"){mousedown(RIGHT, x, y); goto hy;}
if (m=="Левую отпустить"){mouseup(LEFT, x, y); goto hy;}
if (m=="Среднюю отпустить"){mouseup(MIDDLE, x, y); goto hy;}
if (m=="Правую отпустить"){mouseup(RIGHT, x, y); goto hy;}
if (m=="Левая двойной клик"){mousedbl(LEFT, x, y); goto hy;}
if (m=="Средняя двойной клик"){mousedbl(MIDDLE, x, y); goto hy;}
if (m=="Правая двойной клик"){mousedbl(RIGHT, x, y); goto hy;}
if (m=="Переместить"){mousemove(x, y); goto hy;}
}
if (ew==2)
{
if (m=="Левую клик"){sendmouse(LEFT, x, y, w); goto hy;}
if (m=="Среднюю клик"){sendmouse(MIDDLE, x, y, w); goto hy;}
if (m=="Правую клик"){sendmouse(RIGHT, x, y, w); goto hy;}
if (m=="Левую нажать"){sendmousedown(LEFT, x, y, w); goto hy;}
if (m=="Среднюю нажать"){sendmousedown(MIDDLE, x, y, w); goto hy;}
if (m=="Правую нажать"){sendmousedown(RIGHT, x, y, w); goto hy;}
if (m=="Левую отпустить"){sendmouseup(LEFT, x, y, w); goto hy;}
if (m=="Среднюю отпустить"){sendmouseup(MIDDLE, x, y, w); goto hy;}
if (m=="Правую отпустить"){sendmouseup(RIGHT, x, y, w); goto hy;}
if (m=="Левая двойной клик"){sendmousedbl(LEFT, x, y, w); goto hy;}
if (m=="Средняя двойной клик"){sendmousedbl(MIDDLE, x, y, w); goto hy;}
if (m=="Правая двойной клик"){sendmousedbl(RIGHT, x, y, w); goto hy;}
if (m=="Переместить")sendmousemove(x, y, w);
}
hy: if (m!="Бездействие")pause (p2);
}
(Добавление)
Ссылка на видео:(для просмотра ссылки Вам необходимо авторизоваться) |
|
|
OKStyle |
Отправлено: 31 Декабря, 2022 - 15:56:58
|
Участник
Покинул форум
Сообщений всего: 81
Дата рег-ции: Сент. 2022
Репутация: 6
|
Zireael пишет: Возможно какая-то защита у игры от кликов.
Оказалось, что защиты от кликов нет. Обратил внимание сейчас, что мышка кликает если самому навести на кнопку какую-нибудь. (Проблема с перемещением мышки только)
Ilya001 пишет: В этом видео автор отвечает на этот вопрос:(для просмотра ссылки Вам необходимо авторизоваться) С 5:20 минуты можно начинать смотреть
Хмм, интересная информация. Очень похоже, именно в этом причина.(Отредактировано автором: 31 Декабря, 2022 - 16:11:57) |
|
|
|