jaka1 |
Отправлено: 25 Марта, 2016 - 15:22:27
|
Прохожий
Покинул форум
Сообщений всего: 7
Дата рег-ции: Март 2016
Репутация: 0
|
CODE:int color, xe, ye;//переменные в которые запишутся данные о цвености и разрешение экрана
getdisplay(color, xe, ye);//Узнать разрешение экрана
sleep(1000);//Подождать секунду
//Заменить этот указатель на свой. Получить - навести на окно браузера и нажать CTRL+SHIFT+S
win w=window ("Legend", "TDwarClientForm", -1);
int x[2000], y[2000];//переменные для принятия найденных координат.
finddynamic(0, #x[0], #y[0], 0, 0, 0, 0, 110, 298, 1200, 500, w);//Получить изображение экрана
sleep(800);//Пауза между сравнением для поиска изменений
int k=finddynamic(3, #x[0], #y[0], 5, 5, 10, 10, 110, 298, 1200, 500, w);//Получить изображение экрана и сравнить с прошлым. Получить координаты динамичных очагов.
int n=0;
ck: if (n<k)//Цикл перебора очагов динамики
{
mousemove(x[n]+5, y[n]+5);//Переместить мышь на найденный объект.
sleep(1000);//Ждать секунду
/*Тут может быть код проверки типа курсора или какой либо другой.
Зависит от того как клиен игры реагирует на наведение мыши на искомый анимированный объект, в данном случае моба.*/
n++;
goto ck;
}
Координаты нужных мест брал с помощью Шпион - Мышь в клиентской части окна, соответственно, левого верхнего и правого нижних углов.
А по факту мышь совсем в другую часть улетает. |
|
|
Kibor |
Отправлено: 25 Марта, 2016 - 15:36:07
|
Эксперт
Просматривает форум
Сообщений всего: 8227
Дата рег-ции: Март 2013
Откуда: Одесса
Репутация: 357
|
уже пояснял http://kibor-bot.com/forum/topic...25053#1458725053
Цитата: int color, xe, ye;//переменные в которые запишутся данные о цвености и разрешение экрана
getdisplay(color, xe, ye);//Узнать разрешение экрана
sleep(1000);//Подождать секунду
//Заменить этот указатель на свой. Получить - навести на окно браузера и нажать CTRL+SHIFT+S
win w=window ("Legend", "TDwarClientForm", -1);
int x[2000], y[2000];//переменные для принятия найденных координат.
finddynamic(0, #x[0], #y[0], 0, 0, 0, 0, 110, 298, 1200, 500, w);//Получить изображение экрана
sleep(800);//Пауза между сравнением для поиска изменений
int k=finddynamic(3, #x[0], #y[0], 5, 5, 10, 10, 110, 298, 1200, 500, w);//Получить изображение экрана и сравнить с прошлым. Получить координаты динамичных очагов.
int n=0;
ck: if (n<k)//Цикл перебора очагов динамики
{
mousemove(x[n]+5+110, y[n]+5+298, w);//Переместить мышь на найденный объект.
sleep(1000);//Ждать секунду
/*Тут может быть код проверки типа курсора или какой либо другой.
Зависит от того как клиен игры реагирует на наведение мыши на искомый анимированный объект, в данном случае моба.*/
n++;
goto ck;
} |
|
|
jaka1 |
Отправлено: 25 Марта, 2016 - 15:49:34
|
Прохожий
Покинул форум
Сообщений всего: 7
Дата рег-ции: Март 2016
Репутация: 0
|
Kibor пишет: уже пояснял http://kibor-bot.com/forum/topic...25053#1458725053
Цитата: int color, xe, ye;//переменные в которые запишутся данные о цвености и разрешение экрана
getdisplay(color, xe, ye);//Узнать разрешение экрана
sleep(1000);//Подождать секунду
//Заменить этот указатель на свой. Получить - навести на окно браузера и нажать CTRL+SHIFT+S
win w=window ("Legend", "TDwarClientForm", -1);
int x[2000], y[2000];//переменные для принятия найденных координат.
finddynamic(0, #x[0], #y[0], 0, 0, 0, 0, 110, 298, 1200, 500, w);//Получить изображение экрана
sleep(800);//Пауза между сравнением для поиска изменений
int k=finddynamic(3, #x[0], #y[0], 5, 5, 10, 10, 110, 298, 1200, 500, w);//Получить изображение экрана и сравнить с прошлым. Получить координаты динамичных очагов.
int n=0;
ck: if (n<k)//Цикл перебора очагов динамики
{
mousemove(x[n]+5+110, y[n]+5+298, w);//Переместить мышь на найденный объект.
sleep(1000);//Ждать секунду
/*Тут может быть код проверки типа курсора или какой либо другой.
Зависит от того как клиен игры реагирует на наведение мыши на искомый анимированный объект, в данном случае моба.*/
n++;
goto ck;
}
Вот теперь я понял, что означала эта фраза.)
А как быть то? Как совместить поиск и клик?
(Добавление)
Увидел. Спасибо) |
|
|
|