Что нового

[Сеть, интернет] Первая попытка кликалка мыши

MyBB

Новичок
Сообщения
20
Репутация
0
Здравствуйте попробывал написать макрос что бы повторял действия неопределенное время т.е нажимал в определенных местах поочередно и так каждые 10 минут или как 1 клик будет доступен не получилось в чем моя ошибка?
Если можно дайте реальный пример хотябы на 3х кликах, все действия производятся в Браузере Хром


Код:
Opt("MouseCoordMode", 10)
 Opt("PixelCoordMode", 10)
 WinActivate("[Client]")
 While WinActive("[Client]")
  If PixelGetColor(161, 559) == 0x9B8E71 Then MouseClick("primary", 161, 559)
  If PixelGetColor(488, 563) == 0x180809 Then MouseClick("primary", 488, 563)
  If PixelGetColor(589, 553) == 0x59472D Then MouseClick("primary", 589, 553)
  If PixelGetColor(492, 405) == 0x6C736F Then MouseClick("primary", 492, 405)
  If PixelGetColor(796, 682) == 0x180806 Then MouseClick("primary", 796, 682)
  If PixelGetColor(823, 563) == 0xA19781 Then MouseClick("primary", 823, 563)
  If PixelGetColor(813, 407) == 0xBD5111 Then MouseClick("primary", 813, 407)
  If PixelGetColor(553, 637) == 0x473E2E Then MouseClick("primary", 553, 637)
  If PixelGetColor(796, 682) == 0x180806 Then MouseClick("primary", 796, 682)
  If PixelGetColor(656, 498) == 0xB6AA8E Then MouseClick("primary", 656, 498)
 WEnd
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Re: Первая попытка

Предупреждение За нарушение правил форума (пункт Б.5):
Имя темы должно нести смысловую нагрузку (отражать суть вопроса/проблемы)
Правильно сформулированное название темы привлекает больше внимания, и шансы получить конкретный ответ увеличиваются.


Данные правила могут пополняться локальными правилами раздела.
Как правильно называть темы

"Первая попытка" - это неприемлемое название темы, переименуйте тему иначе она будет закрыта, а вам возможно будет выдан бан на несколько дней.

С уважением, ваш Модератор.









Предупреждение За нарушение правил форума (пункт В.11):
Любые отрывки AutoIt кода необходимо заключать в тег [autoit]
autoit.gif
(подробнее), а обычный код соответственно в тег [code]
code.gif
(подробнее). Также большие выдержки текста помещайте под тег [spoiler]
spoiler.gif
(подробнее), там где это поддерживается естественно. Как в случае с названием темы, также короткое и эргономичное сообщение привлекает больше внимания, и шансы на получение конкретного ответа увеличиваются.


С уважением, ваш Модератор.
 
Автор
M

MyBB

Новичок
Сообщения
20
Репутация
0
Re: Первая попытка

Как то у вас тут все сложно, как переименовать тему не знаю...
 
Автор
M

MyBB

Новичок
Сообщения
20
Репутация
0
Получилось по одному примеру вот такой пример:
Код:
$title = "[The Settlers Онлайн - Beta: Тандрия [Realm 1] - Google Chrome]"
 While 1
	 WinActivate($title)
	 MouseClick("left", 161, 559)
	 MouseClick("left", 488, 563)
	 MouseClick("left", 589, 553)
	 MouseClick("left", 492, 405)
	 MouseClick("left", 796, 682)
	 MouseClick("left", 823, 563)
	 MouseClick("left", 813, 407)
	 MouseClick("left", 553, 637)
	 MouseClick("left", 796, 682)
	 MouseClick("left", 656, 498)
	 Sleep(613050)
 WEnd


Работает есть несколько но, подскажите, как замедлить скорость мышки, нажатие клавиш и сделать Sleep рандомно в пределах еще +1-2 минут Спасибо
 
Автор
M

MyBB

Новичок
Сообщения
20
Репутация
0
Вот что на данный момент получилось

Код:
$title = "[The Settlers Онлайн - Beta: Тандрия [Realm 1] - Google Chrome]"
 While 1
	 WinActivate($title)
	 MouseClick("left", 161, 559)
	 sleep(Random(2000,5000))
	 MouseClick("left", 488, 563)
	 sleep(Random(2000,5000))
	 MouseClick("left", 589, 553)
	 sleep(Random(2000,5000))
	 MouseClick("left", 492, 405)
	 sleep(Random(2000,5000))
	 MouseClick("left", 796, 633)
	 sleep(Random(2000,5000))
	 MouseClick("left", 823, 563)
	 sleep(Random(2000,5000))
	 MouseClick("left", 813, 407)
	 sleep(Random(2000,5000))
	 MouseClick("left", 553, 637)
	 sleep(Random(2000,5000))
	 MouseClick("left", 796, 633)
	 sleep(Random(2000,5000))
	 MouseClick("left", 656, 498)
	 sleep(Random(613050,693050))
 WEnd


Подскажите как оптимизировать т.е можно ли прописать рандом 1 раз без повторений для каждого действи, и еще вопрос так и не нашел на форуме функцию для определенного количества повторний цикла (к примеру хочу что бы это повторялось 5-10 и т.п раз)
 

Asshaker

Знающий
Сообщения
150
Репутация
17
Почитай справку по используемым командам. Там есть и про скорость нажатия и скорость мышки и кол-во повторений цикла
http://autoit-script.ru/autoit3_docs/functions/MouseClick.htm
http://autoit-script.ru/autoit3_docs/keywords/While.htm
 

ggzgamer

Осваивающий
Сообщения
134
Репутация
23
Если время паузы всегда одинаковое то клик оформляется в виде функции:
Код:
$title = "[The Settlers Онлайн - Beta: Тандрия [Realm 1] - Google Chrome]"
 While 1
     WinActivate($title)
	 _ClikEx(161, 559)
	 _ClikEx(589, 553)
	 ; И так далее
     sleep(Random(613050,693050))
 WEnd

Func _ClikEx($iX=0, $iY=0)
	MouseClick('left', $iX, $iY)
	Sleep(Random(2000, 5000, 1))
EndFunc
 
Автор
M

MyBB

Новичок
Сообщения
20
Репутация
0
Спасибо, потихоньку осваиваюсь с учетом что язык впервые вижу

Есть такое вопрос ControlSend(к сожалению горячих клавиш нет) работает только с клавиатурой а есть альтернатива для MouseClick т.к он не работает в неактивном окне :(
+ все это на Флеше/Флексе
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
MyBB [?]
Есть такое вопрос
Предупреждение За нарушение общих правил (пункт В.4):
Не лепите несколько вопросов разной тематики в один пост. По типу "Ребят, а ещё такой вопрос...". Каждый вопрос в свою тему.


С уважением, ваш Модератор.
 
Автор
M

MyBB

Новичок
Сообщения
20
Репутация
0
На форуме есть тема где можно задавать любые вопросы о программировании, разной тематики? Не нашел такую
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
MyBB
нет. таких тем, славо богу, нет. в предупреждении написано же, что делать - создай еще одну тему
 
Автор
M

MyBB

Новичок
Сообщения
20
Репутация
0
Подскажите где моя ошибка

Код:
$title = "[The Settlers Онлайн - Beta: Тандрия [Realm 1] - Google Chrome]"
While 1
   WinActivate($title)
$coord = Pixelsearch(150,550,170,570, 0xA69779,10)
If Not @error Then
   MouseClick ( "left",$coord[0], $coord[1], 1, 0 )
   Sleep(Random(2000,7000))
Else
   Sleep(100)
   ContinueLoop
EndIf
   _ClikEx(488, 563)
   _ClikEx(589, 553)
   _ClikEx(492, 405)
   _ClikEx(796, 633)
   _ClikEx(823, 563)
   _ClikEx(813, 407)
   _ClikEx(553, 637)
   _ClikEx(798, 633)
   _ClikEx(656, 498)
   WEnd
   
   Func _ClikEx($iX=0, $iY=0)
    MouseClick('left', $iX, $iY)
    Sleep(Random(2000, 5000, 1))
EndFunc


Выполняется моментально, хотелось что она подождала небольшое время, после появления пикселя
Код:
$coord = Pixelsearch(150,550,170,570, 0xA69779,10)
If Not @error Then
   MouseClick ( "left",$coord[0], $coord[1], 1, 0 )
   Sleep(Random(2000,7000)
EndIf
 
Верх