Что нового

[Автоматизация] Оптимизация процедуры опроса

Мурзилкин

Новичок
Сообщения
1
Репутация
0
Доброго дня, уважаемые. Со скуки занялся простеньким кликером (собственно, он готов - назанчение клавиш, назначение цвета, размера окна, и тому подобное).
Писал давным давно - если кто помнит Спектрумовский Бейсик (ох и медленный был)) и Ассемблер, но с тех пор практически все позабыто :(

Я так понимаю, многопоточность в скрипте не реализовать, (в идеале нужен одновременный опрос),
посему охота упростить и ускорить скрипт максимально (точнее, процедуру опроса) а учить другие языки - нет ни времени, ни желания, собственно вот в чем вопрос - вот кусок кода, опрашивающий цвет в определенных координатах:
Код:
Func Pushing()
While PixelGetColor($f1clickx, $f1clicky, $gameclient) = $colorpic
   ControlSend ( $gameclient, "", "", $Button1) ;Жмакаем кнопку F1
   Sleep(100)
WEnd
While PixelGetColor($f2clickx, $f2clicky, $gameclient) = $colorpic
   ControlSend ( $gameclient, "", "", $Button2) ;Жмакаем кнопку F2
   Sleep(100)
WEnd
While PixelGetColor($f3clickx, $f3clicky, $gameclient) = $colorpic
   ControlSend ( $gameclient, "", "", $Button3) ;Жмакаем кнопку F3
   Sleep(100)
WEnd
While PixelGetColor($f4clickx, $f4clicky, $gameclient) = $colorpic
   ControlSend ( $gameclient, "", "", $Button4) ;Жмакаем кнопку F4
   Sleep(100)
WEnd
While PixelGetColor($f5clickx, $f5clicky, $gameclient) = $colorpic
   ControlSend ( $gameclient, "", "", $Button5) ;Жмакаем кнопку F5
   Sleep(100)
WEnd
While PixelGetColor($f6clickx, $f6clicky, $gameclient) = $colorpic
   ControlSend ( $gameclient, "", "", $Button6) ;Жмакаем кнопку F6
   Sleep(100)
WEnd
While PixelGetColor($f7clickx, $f7clicky, $gameclient) = $colorpic
   ControlSend ( $gameclient, "", "", $Button7) ;Жмакаем кнопку F7
   Sleep(100)
WEnd
While PixelGetColor($f8clickx, $f8clicky, $gameclient) = $colorpic
   ControlSend ( $gameclient, "", "", $Button8) ;Жмакаем кнопку F8
   Sleep(100)
WEnd
While PixelGetColor($f9clickx, $f9clicky, $gameclient) = $colorpic
   ControlSend ( $gameclient, "", "", $Button9) ;Жмакаем кнопку F9
   Sleep(100)
WEnd
While PixelGetColor($f10clickx, $f10clicky, $gameclient) = $colorpic
   ControlSend ( $gameclient, "", "", $Button10) ;Жмакаем кнопку F10
   Sleep(100)
WEnd
While PixelGetColor($f11clickx, $f11clicky, $gameclient) = $colorpic
   ControlSend ( $gameclient, "", "", $Button11) ;Жмакаем кнопку F11
   Sleep(100)
WEnd
While PixelGetColor($f12clickx, $f12clicky, $gameclient) = $colorpic
   ControlSend ( $gameclient, "", "", $Button12) ;Жмакаем кнопку F12
   Sleep(10)
WEnd
While PixelGetColor($f13clickx, $f13clicky, $gameclient) = $colorpic
   ControlSend ( $gameclient, "", "", $Button13) ;Жмакаем кнопку -
   Sleep(100)
WEnd
While PixelGetColor($f14clickx, $f14clicky, $gameclient) = $colorpic
   ControlSend ( $gameclient, "", "", $Button14) ;Жмакаем кнопку =
   Sleep(100)
WEnd
EndFunc
Почему-то мне кажется, что он кривой до не могу. После получаса работы, подвисает Windows, а точнее при попытке открыть приложение из трея (любое, точнее любую программу, которая свернута в трей), почему то запускает новую копию. Так подозреваю проблема в данном скрипте. Может кто подскажет, что здесь не так? С ув))
Ах да, вот цикл
Код:
While 1
   Sleep(100)
      Pushing()
   WEnd

P.S. Я понимаю, что можно написать в цикле, с последовательным увеличением переменных, отвечающих за координаты (просто сократить скрипт) но, как мне кажется, быстрее он не станет. Просто может есть возможность организовать опрос совершенно по-другому.
 
Верх