Прошу прощения за глупый вопрос. Как узнать указатель окна для finddinamyc?
Update: разобрался.
---------------------------
Kibor
---------------------------
Ошибка в:
mousemove(327,WINS[1]+5)
---------------------------
ОК
---------------------------
(Добавление)
Не могу разобраться. Взял простой пример. А вместо того, чтобы мышь подвинуть - он эту ошибку пишет.
1. jaka1 - 23 Марта, 2016 - 02:41:13 - перейти к сообщению
2. Kibor - 23 Марта, 2016 - 03:09:21 - перейти к сообщению
код
3. jaka1 - 23 Марта, 2016 - 03:59:12 - перейти к сообщению
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, 0, 0, xe, ye, w);//Получить изображение экрана
sleep(800);//Пауза между сравнением для поиска изменений
int k=finddynamic(3, #x[0], #y[0], 5, 5, 10, 10, 0, 0, xe, ye, w);//Получить изображение экрана и сравнить с прошлым. Получить координаты динамичных очагов.
int n=0;
ck: if (n<k)//Цикл перебора очагов динамики
{
mousemove(x[n]+5, y[n]+5);//Переместить мышь на найденный объект.
sleep(1000);//Ждать секунду
/*Тут может быть код проверки типа курсора или какой либо другой.
Зависит от того как клиен игры реагирует на наведение мыши на искомый анимированный объект, в данном случае моба.*/
n++;
goto ck;
}
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, 0, 0, xe, ye, w);//Получить изображение экрана
sleep(800);//Пауза между сравнением для поиска изменений
int k=finddynamic(3, #x[0], #y[0], 5, 5, 10, 10, 0, 0, xe, ye, w);//Получить изображение экрана и сравнить с прошлым. Получить координаты динамичных очагов.
int n=0;
ck: if (n<k)//Цикл перебора очагов динамики
{
mousemove(x[n]+5, y[n]+5);//Переместить мышь на найденный объект.
sleep(1000);//Ждать секунду
/*Тут может быть код проверки типа курсора или какой либо другой.
Зависит от того как клиен игры реагирует на наведение мыши на искомый анимированный объект, в данном случае моба.*/
n++;
goto ck;
}
4. Kibor - 23 Марта, 2016 - 04:24:13 - перейти к сообщению
jaka1 пишет:
win w=window ("Legend", "TDwarClientForm", -1)
(для просмотра ссылки Вам необходимо авторизоваться) п5 jaka1 пишет:
int k=finddynamic(3, #x[0], #y[0], 5, 5, 10, 10, 0, 0, xe, ye, w);//Получить изображение экрана и сравнить с прошлым. Получить координаты динамичных очагов.
int n=0;
ck: if (n<k)//Цикл перебора очагов динамики
{
mousemove(x[n]+5, y[n]+5 ??????????????);//Переместить мышь на найденный объект.
int n=0;
ck: if (n<k)//Цикл перебора очагов динамики
{
mousemove(x[n]+5, y[n]+5 ??????????????);//Переместить мышь на найденный объект.
ищет в окне а наводит на экране
5. jaka1 - 23 Марта, 2016 - 05:24:17 - перейти к сообщению
Спасибо. Глупая ошибка.