Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: Nikolay on September 14, 2017, 12:50:44 PM
-
Здравствуйте!. Подскажите, как после выполнения сценария и потом при его повторе, вернуть окно в координаты начала этого сценария?
-
Перемещаем окно с заданным заголовком в координату 0,0 (Верхний левый угол окна)
WNDPOS(WNDFIND("Заголовок окна"),0,0)
-
как мне получить заголовок нужного окна
-
Прочитать.
Странный вопрос. Нам здесь (в WNDPOS) и не нужен заголовок окна. Нужен HWND. Как ты будешь искать HWND, выбирай сам. Можно получить по координатам или прописать руками.
А можно, как в примере, определить по заголовку.
-
как мне получить заголовок нужного окна
Да уж.. Глазами конечно! Но можно и скриптом.
Наведи мышь на верхнюю панель где написан заголовок и нажми Alt+A
LOGWRITE (HGETTEXT(HGET($_xmouse,$_ymouse)))
LOGSHOW (1)
HALT
В логе получишь полный заголовок. В функции поиска можно указать не все слова.
-
ребят, вы не обижайтесь, то что для вас 2х2 для меня лес дремучий, я ток начинаю учиться работать с этим приложением и мне нифига не понятно.. что вообще считается окном, у меня игра с поляной которая не входит вся в экран и я двигаю её в нужное место, а HWND в любом месте мне показывает один и тот же, когда открываю менеджер окон там как я понимаю прописаны все окна которые в данный момент у меня открыты, если выбираю из списка "Блокнот" то HWND там получается совсем другой нежели когда навожу курсор на поле игры.
-
определяя заголовок скриптом по вашему коду я получил цифры ( часы: минуты: секунды ) время когда нажал запустить когда ввёл это название в код который написан выше у мня в панеле задач вместо стандартной кнопки "пуск" стал квадратик на котором написано это время ;D
-
может я изначально не так вопрос задал, попробую по другому: у меня на экране монитора посталена точка для ориентира.. и когда я начинаю писать скрипт, совмещаю эту точку с каким либо объектом в игре и делаю фото что бы потом не забыть, при запуске скрипта иначе он начинает тыкать в указанные координаты монитора не попадая по нужным объектам, но это помогает при запуске скрипта один раз а при повторе надо опять что бы эта точка на экране совместиоась с нужной картинкой ну или что бы картинка встала именно в эту точку.
-
Да уж, грамотный вопрос половина ответа. Конечно тебе не окна нужно двигать а корректировать координаты относительно какого то неизменного объекта в игре.
517,113 - Это исходное положение объекта (координата картинки "Ориентир.bmp") определенное при написании сценария. Координаты кликов при написании сценария также как обычно отсчитываются от начала экрана, но в каждую координату нужно добавить переменные смещения $sx и $sy.
Если при следующем запуске сценария ориентир "Ориентир.bmp" переместится в другое место, разница в полученных координатах будет добавлена или отнята от координат всех кликов.
// Здесь код отрабатывает 1 раз при запуске
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "Ориентир.bmp", -1, 100)
$sx = $_return1-517
$sy = $_return2-113
ELSE
HINTPOPUP("Ориентир не найден", "Ошибка!")
HALT
END_IF
// Здесь начинается основной замкнутый скрипт
Start:
LCLICK(422+$sx,218+$sy)
WAITMS(50)
LCLICK(506+$sx,403+$sy)
WAITMS(50)
GOTO(Start)
-
не, опять не то, тогда будут скорректированы все координаты, а это уже крах всему сценарию, в игре мне надо завозить ресурсы с центральной локации на другую на карте транспорт с маленькой грузоподъёмностью а завезти надо тонны , в общем нудная операция и по времени ёмкая.. хотел ставить на ночь и когда на работе.. все клики в сценарии со стабильными координатами которые не меняются, т.к. тыкают в открывающиеся окна положение которых на экране стабильно и только 1 клик , аэропорт, объект на карте, и когда я возвращаюсь на центральную локацию ( конец сценария) происходит сдвижка картинки и каждый раз по разному не на много но значимо, думаю разрабы специально придумали как защиту от ботов. сечас читая темки нашел что можно как то сделать картинку ( к примеру этого аэропорта и что бы прога искала его и кликала именно в картинку.. пока не знаю как сделать картинку разбираюсь..
-
;D что то намутил
Код: Clickermann
GETSCREEN
IF_PIXEL_IN (793, 487, 1054, 730, 3949389)
MOVE ($_return1, $_return2)
waitms(200 + $S_CORR)
LCLICK ($_return1, $_return2)
но клик почему то идёт в точку 0,0
-
окончание добавил, он вообще не стал ни куда кликать, а почему цвет не найден..
-
GETSCREEN
IF_PIXEL_IN (793, 487, 1054, 730, 3949389)
MOVE ($_return1, $_return2)
waitms(200 + $S_CORR)
LCLICK ($_return1, $_return2)
END_IF
-
Не найден, потому что в указанной области его нет.
А почему нет:
1. Неправильно задал область.
2. Неправильно задан цвет
2.1. Просто ошибка
2.2. Снял цвет с подсвеченного элемента (кнопка при наведении меняет цвет и т.д.) Нужно снимать с скрина или скриптом.
3. Цвет ищется не вовремя. Поиск проходит до появления объекта - не выдержана пауза.
4. В программе (в основном игре) используется свой программный курсор, который закрывает место поиска или повторного поиска после клика. Нужно отводить курсор перед снимком.
5. Объект анимирован или сглаживание на объекте. Заданный цвет есть, но не всегда. Или в определённые моменты анимации. Использовать COLORMODE и/или подбирать другой цвет для поиска.
-
Я вижу утром мы приходим в одно время. ;D
-
видимо часовой пояс один, я из Екатеринбурга
Урааа, заработал код, взял цвет с фото через Paint. Сейчас буду пробовать вставить его и проверю целиком. ещё по форуму, куда надо нажать что бы "ответить конкретному участнику" и куда что бы код кликерманн: вставлялся как у вас.
-
нажать кнопку "Цитировать" над сообщением участника, в тексте цитаты желательно оставить фрагмент на который отвечаешь.
Выпадающее меню "код" в нем выбрать Clickermann
code=clickermann] сюда вставить свой код[/code
[/quote
Спасибо.
-
АБЫРВАЛг