UoKit.com Форумы > Кликер > UO Pilot
Страницы: 1, 2, 3, 4
maxximum3000
Здравствуйте! Пишу кликер для замечательной игры EVE Online и у меня возникли некоторые трудности:

1. Иногда (крайне редко, но все же) программа перестает воспринимать команды клика.
Перед кликами естественно идет команда Move с теми же координатами, что и клик. Скорость скрипта 30 мс. Сам клиент воспринимает, что на указанную точку была подведена мышка (кнопка на которую нужно нажать как и положено подсвечивается), но вот при команде left или right ничего не происходит...

2. При работе двух скриптов запущенных в одной программе и взаимодействующих с разными клиентами в моменты одновременного перемещения и нажатия кнопок в одном из клиентов нажатия не происходит. Это можно как то исправить?

3. Можно как то отвязать мышку, которую использует программа от реальной? Натыкался на программы которые делают 2 курсора на 2 мышки, но ничего хорошего из этого не вышло (программа пытается схватить первичную несуществующую мышку).
П.с. Стоит Windows 10 x64 (можно тыкать в программы для win 8)

4. Если пункт 3 выполнить нереально, то возникает следующая проблема. Во время работы скрипта смотрю видео из ВК в полноэкранном режиме и в этот момент программа вообще не видит клиент игры (она передвигается по нужным координатам, но все нажатия уходят вникуда). Как это можно исправить?
Вверх
DarkMaster
Цитата
Пишу кликер для замечательной игры EVE Online

Кликер пишет разраб - WKnight, вы пишите скрипты =)
Цитата
1. Иногда (крайне редко, но все же) программа перестает воспринимать команды клика.
Перед кликами естественно идет команда Move с теми же координатами, что и клик. Скорость скрипта 30 мс. Сам клиент воспринимает, что на указанную точку была подведена мышка (кнопка на которую нужно нажать как и положено подсвечивается), но вот при команде left или right ничего не происходит...

kleft kright
left воспринимают далеко не все приложения. Во время этой невосприимчивости, если сделать клик мышкой, то он произойдет?
Цитата
2. При работе двух скриптов запущенных в одной программе и взаимодействующих с разными клиентами в моменты одновременного перемещения и нажатия кнопок в одном из клиентов нажатия не происходит. Это можно как то исправить?

Либо продумывать логику так, чтобы этих одновременных перемещений не было, либо ставить астер/виртуалки.
Если работает без move, то убрать move.
Цитата
3. Можно как то отвязать мышку, которую использует программа от реальной? Натыкался на программы которые делают 2 курсора на 2 мышки, но ничего хорошего из этого не вышло (программа пытается схватить первичную несуществующую мышку).

Из читанного мною о подобных программах и их реализациях ничего хорошего сказать не могу. По сути в винде все так же одна мышь, просто два курсора отображется. При работе со второй в моменты кликов происходит обыкновенное перемещение и нажатие первой мыши.
Цитата
4. Если пункт 3 выполнить нереально, то возникает следующая проблема. Во время работы скрипта смотрю видео из ВК в полноэкранном режиме и в этот момент программа вообще не видит клиент игры (она передвигается по нужным координатам, но все нажатия уходят вникуда). Как это можно исправить?

Астер/виртуалки/убрать за пределы видимой области экрана.
Вверх
maxximum3000
Не так выразился. Скрипт на кликер ))

1. Если сделать реальный клик мышкой, то он произойдет. Для дальнейшей нормальной работы приходится перезапускать программу (UOPilot). Никакие другие действия не помогают. А так команды left клиент воспринимает очень даже хорошо.

2. На данный момент продумать реально, дальше при расширении скрипта этого
сделать будет невозможно (слишком много будет случайных промежутков времени между кликами).

3. Ну... жаль.

4. Астер? Виртуалки не катят. Ставил VirtualBox, но на нем так и не смог запустить клиент (требует шейдер 3), обмануть ничем не получилось.


Так же добавлю еще пару пунктов:

5. UOPilot может проверять по цвету в определенной точке, но с данной игрой это не прокатывает. Следующий скрипт не срабатывает:

move координаты1
If координаты1 цвет1
left координаты1
wait 1s
end_if

При проверке, он находит нужный цвет и делает нажатие мышкой в эти координаты. НО, если цвет он не находит, то он все равно делает нажатие в эти координаты (переменная цвет1 игнорируется, тем самым игнорируется команда "if" и выполняется все команды вписанные во внутрь).

Или же это я криворукий и не так что то пишу?

6. Можно ли сделать проверку не по цвету, а по картинке? К примеру у меня есть картинка 32х32 пикселя и если UOPilot находит точное совпадение этой картинки в фрагменте окна клиента 100х100 пикселей то делает/не делает определенные клики (обычная привязка к команде "if")?
Вверх
DarkMaster
Цитата
Или же это я криворукий и не так что то пишу?

давайте код.
Цитата
Можно ли сделать проверку не по цвету, а по картинке?

findimage
Вверх
maxximum3000
Цитата(maxximum3000 @ 19.12.2014, 12:37)



move координаты1
If координаты1 цвет1
left координаты1
wait 1s
end_if





Вот именно этот фрагмент кода. Даже если пишу только его (на банальную проверку) то он игнорирует условия "if"

Вот такой скрипт:
Цитата


move 1243, 416
If 1243, 416 10213092
left 1243, 416
wait 1s
end_if
wait 5s


В идеале, если по координатам 1243, 416 UOPilot не находит цвета 10213092 то по скрипту просто идет пауза и он начинается заново. У меня же даже если указанного цвета НЕТ по координатам 1243, 416, то все равно происходит клик в эти координаты.
Вверх
DarkMaster
Цитата
У меня же даже если указанного цвета НЕТ по координатам 1243, 416, то все равно происходит клик в эти координаты.

Это фантастика. Добавьте внутрь ифа:
get color #color 1243, 416
log #color
Вверх
maxximum3000
Цитата(DarkMaster @ 19.12.2014, 19:30)

Это фантастика. Добавьте внутрь ифа:
get color #color 1243, 416
log #color



Ну собственно нужное сделал через сравнение картинок.
И очень жаль, но в данной игре не работает kleft. Ну и ладно.
Вопросов у меня будет еще много ))


Вот такая проблема возникла с поиском изображения:

Цитата
set $a findimage (1550 55 1600 120 (veld.bmp) %crds 2 40 -1 10)
if $a > 0

msg найден Велдспар

else

msg Велдспара нет
end_if




Вот искомая картинка Нажмите для просмотра прикрепленного файла
Она находится в координатах от 1560 65 до 1590 95


В данном примере скрипт ее распознает: Нажмите для просмотра прикрепленного файла


Но вот в этом примере он ее не видит: Нажмите для просмотра прикрепленного файла
Вверх
DarkMaster
А вас не смущает, что камни разные? Присмотритесь внимательнее. Veld.bmp можно сделать гораздо меньше 5*5 пикселей будет достаточно.
Вверх
maxximum3000
Цитата(DarkMaster @ 19.12.2014, 22:26)

А вас не смущает, что камни разные? Присмотритесь внимательнее. Veld.bmp можно сделать гораздо меньше 5*5 пикселей будет достаточно.



По началу я тоже думал, что они разные, но оказалось обман зрения...

Эти же 2 картинки, вырезал все лишнее (оставил сами камни). Если открыть фото вивером и приблизить до максимума, то можно увидеть, что сами камни одинаковые, но в них не находится и 40% совпадения при 10% погрешности... Или я что то не так понял?

Нажмите для просмотра прикрепленного файла
Нажмите для просмотра прикрепленного файла
Вверх
DarkMaster
края разные. при вашем изображении фон тоже ищется. вырезайте центр камня.
Вверх
Invision Power Board © 2001-2024 Invision Power Services, Inc.
Version for Pocket PC © 2006-2024, IPBest Studio.