Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - iggi

Pages: [1] 2
1
Подскажите, можно ли как-то узнать состояние потока, включен он или выключен?
В скрипте есть несколько потоков, и мне желательно было бы знать, включен в данный момент конкретный поток или нет, и в зависимости от результата дальше действия скрипта будут различаться.

2
RasDimday
Как вариант, можно не закрывать это окно, а поместить его за пределы видимости.
Например при разрешении экрана 1920х1280:
Code: (clickermann) [Select]
WNDPOS(WNDFIND("Спонсируемый"),1921,1281)

3
Можно попробовать отлавливать появление картинок по изменению контрольной группы пикселей. Экран поделить на несколько секторов и последовательно проверять в каждом секторе не изменинился ли crc группы пикселей в этом секторе. Для ускорения процесса нужно считать не все пиксели сектора, а лишь пиксели небольшого участка.

4
Хеш на 4.13 считается по другому. Все хеши от 4.12 надо пересчитывать по новой.

5
Интересный костыль, а главное работает!
Единственный минус это задержка между переключениями двух окон (более одной секунды), хотелось бы чтоб побыстрее окна вылазилы на поверхность.

Странно, что такая большая задержка. Ради интереса попробовал на открытых у меня окнах - переключает очень быстро.

Code: (clickermann) [Select]
start:

$h = WNDFIND("Калькулятор")
$j = WNDFIND("Droid")
$k = WNDFIND("Adobe")
$l = WNDFIND("Проводник")

WNDBUMP($h)
MOVE($_xmouse,$_ymouse)
waitms(100)

WNDBUMP($j)
MOVE($_xmouse,$_ymouse)
waitms(100)

WNDBUMP($k)
MOVE($_xmouse,$_ymouse)
waitms(100)

WNDBUMP($l)
MOVE($_xmouse,$_ymouse)
waitms(100)

goto(start)

6
Опытным путем установлено, что если после использования wndbump совершить какое либо действие с мышью, например клик или перемещение, то последующее использование wndbump работает нормально. Попробуй так:
Code: (clickermann) [Select]
start:
MOVE($_xmouse,$_ymouse)
$h = WNDFIND("Калькулятор")
WNDBUMP($h)
WAIT(2)
GOTO (start)

7
Возможно, в твоем случае нужно заменить & на | во второй строке. Попробуй там
IF( (PXL(13,649) ! 2381014) | (PXL(13,511) ! 3683892) )

8
Я в этом скрипте вижу ошибку синтаксиса -
LCLICK(1781,544)=1
LCLICK(1781,474)=1
лишнее выделил красным.
Хотя возможно она и не влияет на ход скрипта.
Мне кажется нужно увеличить паузу после клика мышью, 50мс может не хватать на реагирование. Попробуй хотя бы 500мс
Возможно, после упрощения цвета командой colormode(3) искомых пикселей заданного цвета слишком много?

9
Общие вопросы / Re: Lclick не проходит
« on: May 04, 2019, 02:05:42 PM »
У 4.13 клик по умолчанию не 30, а 5 мс. Думаю дело именно в этом. Измени его в файле config.ini (параметр smart_delay).

10
Общие вопросы / Re: Нужна помощь с потоками
« on: February 03, 2019, 12:12:34 AM »
Забыл написать, тебе нужен кликерман версии 4.12 или выше, т.к. более старые работают с setthread по другому.

11
Общие вопросы / Re: Нужна помощь с потоками
« on: February 02, 2019, 11:56:26 PM »
Ок. Тогда скрипт будет такой:

Code: (clickermann) [Select]
THREAD(t1)
   //здесь весь основной скрипт
END_THREAD

THREAD(t2) //поток проверки Adobe Flash Player'а на краш
   SETTHREAD(t1,0) //ставим поток t1 на паузу, чтобы GETSCREEN второго потока не пересекался с GETSCREEN первого
   GETSCREEN
   IF(PXL(100,100)=0) //если появился черный экран
      SETTHREAD(t1,2) //ставим поток t1 на паузу, при последующем снятии с паузы поток начинает выполняться с начала, независимо от того, на какой инструкции тела он был остановлен
      //здесь действия по перезапуску игры
      SETTHREAD(t1,1) //снимаем поток t1 с паузы
   END_IF
   SETTHREAD(t1,1) //снимаем поток t1 с паузы
WAIT(60) //периодичность проверки на краш Adobe Flash Player'а   
END_THREAD

12
Общие вопросы / Re: Нужна помощь с потоками
« on: February 02, 2019, 11:41:14 PM »
Не вижу проблем.
Основной скрипт помести в поток 1, а поток 2 пусть делает проверку на краш Flash Player'а.
Вылет Flash Player'а необязательно проверять именно по картинке, я бы это сделал проверкой считывания заголовка окна о краше, так будет меньше нагрузка.
Тогда скрипт будет примерно такой:

Code: (clickermann) [Select]
THREAD(t1)
//здесь весь основной скрипт
END_THREAD

THREAD(t2) //поток проверки Adobe Flash Player'а на краш
IF(WNDFIND("Adobe Flash")>0) //если найдено окно с заголовком Adobe Flash
SETTHREAD(t1,0) //ставим поток t1 на паузу
//здесь действия по перезапуску игры
SETTHREAD(t1,1) //снимаем поток t1 с паузы
END_IF
WAIT(60) //периодичность проверки на краш Adobe Flash Player'а
END_THREAD

Точное наименование окна Adobe Flash,  лучше уточнить  в менеджере окон кликермана, когда произойдет краш.

13
Спасибо!

14
Здравствуйте.
На экране есть неподвижный объект, который может принимать 3 разных значения цвета, произвольное время.
Он может быть черный, белый, зеленый.
Нужно подсчитывать только время, пока объект черный. Когда сумма промежутков времени, во время которых объект был черным, превысит 10 часов, нужно остановить скрипт.
Подскажите, как это сделать средствами кликермана?

15
Андрей, спасибо!

Pages: [1] 2