Автоматизация и боты

 Помощь      Поиск      Пользователи
Сайт Кибор     Программируемый кликер Кибор     Видео обучение     Заказать бот

 Страниц (8): « 1 2 3 [4] 5 6 7 8 »   

> Описание: скрипты
Kibor
Отправлено: 05 Марта, 2015 - 20:23:31
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8098
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




 VladosS пишет:
Вот, новый вариант, упростил поиск

хм.. черезчур упрощен...

он не рабочий.
finddynamic надо вызывать 2 раза.
первый раз для получения изображения. второй для нахождения динамики.

типа этого

 Цитата:
int f,g;
win wind=window (-1, "MozillaWindowClass", -1);
if (wind==0) {messagebox ("нет указател........");goto er;}
pause(500);
loop:;
sleep(10);
if (getkeystate(192)==1)Poisk();
goto loop;

er:;
function Poisk()
{
finddynamic(0, #f, #g, 0, 0, 0, 0, 0, 0, wind.widthclient, wind.heightclient, wind);
sleep(500);
if (finddynamic(1, #f, #g, 20, 20, 40, 40, 0, 0, wind.widthclient, wind.heightclient, wind)==1)
{
mousemove(f,g, wind);
}
}
 
 Top
VladosS
Отправлено: 05 Марта, 2015 - 20:34:37
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 26
Дата рег-ции: Янв. 2015  
Откуда: Россия
Репутация: 0




Мб так? Можно ли использовать mousemove в активном приложении, при условии DX11?


CODE--

CODE:
int f,g;
sleep(10);
int xe, ye, color, n, m;
sleep(10);
sleep(10);
win wind=window ("StarConflict 1.0.13.64275", "game_main_window", -1);
sleep(10);
getdisplay(color, xe, ye);
sleep(10);
loop:;
sleep(50);
if (getkeystate(192)==1)Poisk();
goto loop;
function Poisk()
{
getmouse(n, m, wind);
sleep(10);
finddynamic(0, #f, #g, 0, 0, 0, 0, 0, 0, xe, ye, wind);
sleep(50);
finddynamic(1, #f, #g, 2, 2, 40, 40, n-20, m-20, n+20, m+20, wind);
sleep(10);
mousemove(n,m,wind);
};
 
 Top
Kibor
Отправлено: 05 Марта, 2015 - 20:41:01
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8098
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




 VladosS пишет:
Мб так? Можно ли использовать mousemove в активном приложении, при условии DX11?


CODE--

CODE:
int f,g;
sleep(10);
int xe, ye, color, n, m;
sleep(10);
sleep(10);
win wind=window ("StarConflict 1.0.13.64275", "game_main_window", -1);
sleep(10);
getdisplay(color, xe, ye);
sleep(10);
loop:;
sleep(50);
if (getkeystate(192)==1)Poisk();
goto loop;
function Poisk()
{
getmouse(n, m, wind);
sleep(10);
finddynamic(0, #f, #g, 0, 0, 0, 0, 0, 0, xe, ye, wind);
sleep(50);
finddynamic(1, #f, #g, 2, 2, 40, 40, n-20, m-20, n+20, m+20, wind);
sleep(10);
mousemove(n,m,wind);
};


прокомментируйте пожалуйста каждою строку вашего кода...
что как вы думаете каждая строка делает...

особенно мне интересно что делают

 Цитата:
getmouse(n, m, wind);
...............
mousemove(n,m,wind);

каков результат ждется

так же поясните почему в моем примере я привел правильный код как указать область поиска в окне а у вас опять все напутано.
 
 Top
VladosS
Отправлено: 05 Марта, 2015 - 20:52:47
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 26
Дата рег-ции: Янв. 2015  
Откуда: Россия
Репутация: 0




{
getmouse(n, m, wind);//-получаем текущие координаты мыши в окне
sleep(10);
finddynamic(0, #f, #g, 0, 0, 0, 0, 0, 0, xe, ye, wind);
sleep(50);
finddynamic(1, #f, #g, 2, 2, 40, 40, n-20, m-20, n+20, m+20, wind);
sleep(10);
mousemove(f, g, wind);//-передвигаем координаты мыши в !точку! окна с координатами
};


Весь смысл: ради производительности ищу объект (квадрат) 3х3 в определенной области экрана, т.е. недалеко от текущего положения мыши) смысл всей программы в донаводке на кружочек упреждения (квадрат в данном случае и есть центр кружка упреждения) при нажатии и удержании клавиши

(Отредактировано автором: 05 Марта, 2015 - 20:54:25)

 
 Top
Kibor
Отправлено: 05 Марта, 2015 - 21:02:30
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8098
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




 VladosS пишет:
{
getmouse(n, m, wind);
sleep(10);
finddynamic(0, #f, #g, 0, 0, 0, 0, 0, 0, xe, ye, wind);
sleep(50);
finddynamic(1, #f, #g, 2, 2, 40, 40, n-20, m-20, n+20, m+20, wind);
sleep(10);
mousemove(n,m,wind);
};


 VladosS пишет:
{
getmouse(n, m, wind);//-получаем текущие координаты мыши в окне
sleep(10);
finddynamic(0, #f, #g, 0, 0, 0, 0, 0, 0, xe, ye, wind);
sleep(50);
finddynamic(1, #f, #g, 2, 2, 40, 40, n-20, m-20, n+20, m+20, wind);
sleep(10);
mousemove(f, g, wind);//-передвигаем координаты мыши в !точку! окна с координатами
};


ну теперь да.. смысл есть. в первом никуда не двигалась, а тупо туда где считало шло.

потом... надо так
 Цитата:
mousemove(n-20+f, m-20+g, wind);//-передвигаем координаты мыши в !точку! окна с координатами

смещение относительно старта..

 VladosS пишет:
finddynamic(0, #f, #g, 0, 0, 0, 0, 0, 0, xe, ye, wind);
sleep(50);
finddynamic(1, #f, #g, 2, 2, 40, 40, n-20, m-20, n+20, m+20, wind);


потом.... область должна совпадать . надо так

 Цитата:
finddynamic(0, #f, #g, 0, 0, 0, 0, n-20, m-20, n+20, m+20, wind);
sleep(50);
finddynamic(1, #f, #g, 2, 2, 40, 40, n-20, m-20, n+20, m+20, wind);
 
 Top
VladosS
Отправлено: 05 Марта, 2015 - 21:07:51
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 26
Дата рег-ции: Янв. 2015  
Откуда: Россия
Репутация: 0




Спасибо! Исправил, сейчас попробую запустить
(Добавление)
Просто вылетело, без эффекта в приложении
 
 Top
Kibor
Отправлено: 05 Марта, 2015 - 21:10:52
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8098
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




и еще...
уверены что за 50 мсек экран очень изменится??
паузу надо увеличит..
(Добавление)
 VladosS пишет:
Просто вылетело, без эффекта в приложении

) что мне ответить?
давайте весь код, буду красным подсвечивать
 
 Top
VladosS
Отправлено: 05 Марта, 2015 - 21:13:36
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 26
Дата рег-ции: Янв. 2015  
Откуда: Россия
Репутация: 0




Экран изменится это точно, но "Кибор" после тестового запуска программы и нажатия тильды больше не отвечает
 
 Top
Kibor
Отправлено: 05 Марта, 2015 - 21:16:03
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8098
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




 VladosS пишет:
Экран изменится это точно, но "Кибор" после тестового запуска программы и нажатия тильды больше не отвечает

мой пост выше.
иначе не судьба видать..
 
 Top
VladosS
Отправлено: 05 Марта, 2015 - 21:23:36
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 26
Дата рег-ции: Янв. 2015  
Откуда: Россия
Репутация: 0




Увеличил тайм-аут до 123мс, толку нет, но теперь глючит не сразу а чуток погодя) и такое чувство, что он не чувствует нажатия клавиши, хотя я сейчас пробую в полноэкранном режиме
(Добавление)
 Цитата:
int f,g;
sleep(10);
int xe, ye, color, n, m;
sleep(10);
sleep(10);
win wind=window ("StarConflict 1.0.13.64275", "game_main_window", -1);
sleep(10);
getdisplay(color, xe, ye);
sleep(10);
loop:;
sleep(50);
if (getkeystate(17)==1)Poisk();
goto loop;
function Poisk()
{
getmouse(n, m, wind);
sleep(10);
finddynamic(0, #f, #g, 0, 0, 0, 0, n-20, m-20, n+20, m+20, wind);
sleep(120);
finddynamic(1, #f, #g, 2, 2, 40, 40, n-20, m-20, n+20, m+20, wind);
sleep(10);
mousemove(n-20+f, m-20+g, wind);
};
 
 Top
Страниц (8): « 1 2 3 [4] 5 6 7 8 »
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Вопросы и решение проблем »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




Powered by