Что нового

помощь с ботом, работающим по pixelsearch

niklp

Новичок
Сообщения
6
Репутация
0
в общем нужна помощь в коде
1) как после if ...then выполнять сразу несколько действий(если @error=1, то игнорируется только первое действие, остальные выполняются всё равно)
2)если цикл закончился, можно ли заново заставить его выполнять сначала?
3) нужно включить гудок, если на экране появляется определённый текст, как реализовать это в программе?
Код:
while $var <> 0x05C147
   mouseclick("left",885,236)
   $coord = pixelsearch(695,528,834,599,0x231410)								
	  If Not @error Then mouseclick("left",$coord[0],$coord[1])
					 sleep(1000)
					 mouseclick("left",1042,835,30) 
					 $var=PixelGetColor(728,238) 
					 mouseclick("left",885,236)
wend
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
Смотря какая программа. Если это игра, со своим интерфейсом то вероятнее всего текст тебе удастся распознать только попиксельно. Для этого тебе например нужно будет написать свой OCR движок, но если ты не можешь даже пользоваться конструкцией If тебе это будет сделать не под силу.
Код:
If <условие> then
действие1
действие2
...
действиеN
EndIf
 
Автор
N

niklp

Новичок
Сообщения
6
Репутация
0
работаю с флешплеером, время от времени выскакивает надпись: "Мы хотим убедиться, что вы не робот. Выберите одну или несколько картинок по следующим признакам:"
нужно, чтобы бот сканировал время от времени экран в поисках этой надписи, и если обнаружит, то чтобы подал звуковой сигнал.

З.ы. эту надпись я могу выделять мышкой, копировать, т.е. скорее всего это текст в флеше
 

Dowzom

Новичок
Сообщения
1
Репутация
0
niklp [?]
1) как после if ...then выполнять сразу несколько действий(если @error=1, то игнорируется только первое действие, остальные выполняются всё равно)
Код:
_Bot()

Func _Bot()
   While $var <> 0x05C147
      MouseClick("Left", 885, 236)
      $coord = PixelSearch(695, 528, 834, 599, 0x231410)
      
      If @error Then
         ;Sleep(1000) ; Игнорируем.
         MouseClick("Left", 1042, 835, 30)
         $var = PixelGetColor(728, 238)
         MouseClick("Left", 885, 236)
      Else
         Sleep(1000)
         MouseClick("Left", 1042, 835, 30)
         $var = PixelGetColor(728, 238)
         MouseClick("Left", 885, 236)
      EndIf
   WEnd
EndFunc
 
Верх