Здравствуйте, гость ( Вход | Регистрация )

> Слежение за изменением курсора, Скрипт
cirus
сообщение 24.1.2017, 19:40
Сообщение #1


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26719
Пользователь №: 16.971
Возраст: 29



Версия пилота 2.39 или выше.
Пример: https://youtu.be/evDiR0jCB3w

Подготовка:
Скачать Прикрепленный файл  irfanview.zip ( 2,8 мегабайт ) Кол-во скачиваний: 322

Запустить IrfanView от администратора, выбрать Option, Capture/Screenshot.
В открывшемся окне ставим параметры:
Прикрепленное изображение
1. Desktop area - current monitor (mouse).
2. Горячая клавиша.
3. Save capture image as file. Указать имя файла и путь для сохранения.
4. BMP - Windows Bitmap.
5. Нажать кнопку Start.

Теперь, при нажатии горячей клавиши, Num 1 в данном случае, будет сохранятся скрин экрана с курсором.

Запускаем игру, делаем скрин с нужным курсором (нажать горячую клавишу). Открыть Paint, Photoshop или что-то подобное, открыть полученный скрин, вырезать курсор, закрасить левый верхний пиксель и всё что не относится к курсору в один любой цвет. Сохранить изображение.
Получится примерно так:
Прикрепленный файл  cursor2.bmp ( 2,16 килобайт ) Кол-во скачиваний: 603

Параметры 1-4 настраиваются 1 раз. После перезапуска программы нужен только пункт 5.
Желательно создать RAM-диск 15-20 мб. И сохранять скрин на него.
IrfanView и UoPilot запускать от администратора.

Поиск курсора:
1. Запустить игру.
2. Запустить IrfanView, нажать Start.
3. Запустить скрипт в пилоте.
Слежение за изменением курсора
Код
set %a [1] LoadImage (C:\cursor2.bmp)      // путь к картинке с курсором
set $path "Z:\111.bmp"                     // путь к скрину, тот что указывали в настройках IrfanView

:start
filedelete ($path)
sendex {num_1}         // горячая клавиша, та что указывали в IrfanView
wait 50
while fileexists ($path) = 0
    wait 1
end_while
wait 10
set %b [1] LoadImage ($path)
set #a findimage(0 0 1920 1080 (%a [1 1]) %arr %b [1 1])
if  #a > 0
    hint (24 clRed 500 500 (Атаковать))
    // что делать если курсор найден, хинт можно убрать
    else
    hint (24 clblue 1920 1 (1))              // можно убрать
    // если курсор не найден, можно ничего не писать
end_if
set %b [1] DeleteImage (%b [1 1])
goto start
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения



Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 11.7.2025, 18:08
Designed by Nickostyle