Автор: tomazzz 21.4.2017, 1:22
Всем добрый вечер , помогите пожалуйста разобраться ,
окно с игрой развернуто на одной части монитора , ничем не перекрыто , просто висит себе и все .
задача , что бы кликер тапал исходя из скрипта , я в то время мог пользовать мышь в другой части монитора ...
вот скрипт :
left 516, 288
wait 250
set $a findcolor (751, 498 980, 658 1 1 4194523 %arr 2)
if $a > 0
right %arr [1 1], %arr [1 2]
end_if
left 171,672
wait 250
left 595,664
wait 250
left 121,697
wait 250
left 516,618
wait 250
Все работает как и запланировано , но только если сделать клик в окне .
В общем привязываю кликер к окну (тап на кликер - ctrl+a на окно с игрой,название в строке верное) нажимаю на старт - и НИЧЕГО НЕ ПРОИСХОДИТ ...
Как только я делаю клик в любом месте этого (с игрой) окна - ВСЕ НАЧИНАЕТ РАБОТАТЬ ...
При этом я могу переместить курсор мышки из окна - все продолжает работать ....
НО как только я делаю любое нажатие клавиши мыши не в игровом окне - ВСЕ СТОПИТСЯ (((
Знатоки , подскажите , что не так , как можно исправить ?
Всех заранее благодарю !
Автор: cirus 21.4.2017, 2:07
Попробуйте установить окно с игрой поверх всех окон:
Код
set #handle findwindow ("Имя_окна") // найти окно с игрой
set windowpos -1 -1 -1 2 #handle // установить поверх всех окон
End_script
Ещё писали какой-то способ здесь: https://forum.uokit.com/index.php?s=&showtopic=29899&view=findpost&p=224224
Автор: tomazzz 21.4.2017, 10:57
Огромное спасибо ,
set #handle findwindow ("Имя_окна") // найти окно с игрой
set windowpos -1 -1 -1 2 #handle // установить поверх всех окон
End_script
Вроде работает ,
но есть еще один момент , во время того как запущен скрипт , не возможно что то напечатать , курсор , как бы перескакивает все время в игру , это можно как то исправить ?
Спасибо.
Автор: cirus 21.4.2017, 11:23
Цитата
set #handle findwindow ("395706") // найти окно с игрой
Надо имя окна указывать, а не хендл.
Цитата
и на второе окно , но работает только одно
А оба окна поверх всех окон?
Автор: tomazzz 21.4.2017, 18:13
Цитата(cirus @ 21.4.2017, 11:23)
Надо имя окна указывать, а не хендл.
А оба окна поверх всех окон?
Спасибо , что помогаете разобраться ,
если указывать имя , то не работает одно окно , так как имена у них одинаковы и начинает работать только одно , если указать хэндл ,
то вроде пашет , но не всегда , иногда не работает , иногда начинает работать , когда ткнешь мышкой в окно , короче не стабильно в отличие от одного ...
и косяк с клавиатурой как я уже написал , это в не зависимости от того одно окно или 2 ....
но есть еще один момент , во время того как запущен скрипт , не возможно что то напечатать , курсор , как бы перескакивает все время в игру , это можно как то исправить ?
Сейчас скрипт выглядит так :
wait 500
set #handle findwindow ("395706") // найти окно с игрой
set windowpos -1 -1 -1 2 #handle // установить поверх всех окон
left 516, 288
wait 250
set $a findcolor (751, 498 980, 658 1 1 4194523 %arr 2)
if $a > 0
right %arr [1 1], %arr [1 2]
end_if
left 171,672
wait 250
left 595,664
wait 250
left 121,697
wait 250
left 516,618
wait 250
set #handle findwindow ("1179758") // найти окно с игрой
set windowpos -1 -1 -1 2 #handle
wait 500
left 552, 348
wait 1000
Автор: cirus 22.4.2017, 2:12
Цитата
начинает работать только одно
Потому что скрипт работает только с тем окном, к которому привязан.
Варианты:
1. Для каждого окна свой скрипт.
2. Менять рабочее окно перед нужными действиями. Через set workwindow хендл_окна.
3. Если используются только клики, то можно указывать хендл нужного окна после координат.
Код
set %handle findwindow ("Calculator") // найти все окна с таким названием
hint Нашлось окон: size(%handle)
for #i 1 size(%handle)
set windowpos -1 -1 -1 2 %handle[#i 1] // установить все найденные окна поверх всех
end_for
:start
// тут скрипт
//
left 516, 288 %handle[1 1] // клик в первое окно
left 552, 348 %handle[2 1] // клик во второе окно
goto start
Цитата
курсор , как бы перескакивает все время в игру , это можно как то исправить ?
Вообще не должно дёргать курсор. В настройках убрана галка 'Перемещать курсор в точку клика'?
Автор: tomazzz 22.4.2017, 21:34
Цитата(cirus @ 22.4.2017, 2:12)
Потому что скрипт работает только с тем окном, к которому привязан.
Варианты:
1. Для каждого окна свой скрипт.
2. Менять рабочее окно перед нужными действиями. Через set workwindow хендл_окна.
3. Если используются только клики, то можно указывать хендл нужного окна после координат.
Код
set %handle findwindow ("Calculator") // найти все окна с таким названием
hint Нашлось окон: size(%handle)
for #i 1 size(%handle)
set windowpos -1 -1 -1 2 %handle[#i 1] // установить все найденные окна поверх всех
end_for
:start
// тут скрипт
//
left 516, 288 %handle[1 1] // клик в первое окно
left 552, 348 %handle[2 1] // клик во второе окно
goto start
Вообще не должно дёргать курсор. В настройках убрана галка 'Перемещать курсор в точку клика'?
В общем настроил все как ты и сказал просто 2 окна кликера запустил и привязал окна через хэдеры , все вроде работает ....
Курсор не дергает , я наверно не совсем доходчиво объяснил (
Тема такая . К примеру , пишу сообщение на форуме и в окне где мигает курсор перед печатью палка , он как бы в игру вылетает все время ... Сам курсор стоит на месте (мышки) , но когда работаешь на клавиатуре , в момент клика в игре , перестает набираться текст и мигать курсор печати , вот он как бы переносится в игру ... И каждый раз после клика в игре, приходится снова наводить мышкой на то место где остановился печатать ... И так везде , где это касается клавиатуры и печати ... Блокнот браузер и т.д. так что если клик в игре каждые 3-4 секунды , то напечатать в браузере адрес к примеру ,становится просто невозможно (((
Вот с этим бы разобраться и было бы вообще кайф )))
Автор: cirus 22.4.2017, 21:45
У меня таких проблем не было, так что не знаю в чём дело.