NoMad73rus
Продвинутый
- Сообщения
- 124
- Репутация
- 80
Уже почти год занимаюсь разработкой и поддержкой бота для одной браузерной игрушки.
Весь бот фактически базируется на одной единственной функции.
Решил поделиться, может кому будет полезно...
Надеюсь кому то пригодится ))
Весь бот фактически базируется на одной единственной функции.
Решил поделиться, может кому будет полезно...
Код:
Func _Action($x, $y, $col=-1, $cl=0, $wait=0, $ran=0)
$time = TimerInit()
While 1
If $col <> -1 Then
$nColor = PixelGetColor($x, $y, $hWnd)
Else
$nColor = -1
EndIf
Select
Case $col = -1 Or $cl = 3
_left($x, $y, $ran)
SetError(0)
Return True
Case $col <> $nColor And $cl = -1
SetError(0)
Return True
Case $col = $nColor And $cl = 0
SetError(0)
Return True
Case $col = $nColor And $cl = 1
_left($x, $y, $ran)
SetError(0)
Return True
Case $col <> $nColor And $cl = -2
_left($x, $y, $ran)
SetError(0)
Return True
Case $col <> $nColor And $wait < TimerDiff($time)
If $wait <> 0 Then SetError(1)
Return False
EndSelect
Sleep(50)
WEnd
EndFunc
Func _left($x, $y, $ran=0, $cc=1)
;~ Sleep(Random(100, 500))
$x = $x - $ran/2 + Random($ran)
$y = $y - $ran/2 + Random($ran)
ControlClick($titl, "", $klass, "left" , $cc, $x, $y)
EndFunc
Код:
;Функция подходит для выполнения любых действий!
;1. Простой клик в координаты 100, 100
_Action(100,100); - просто клик
_Action(100,100, 0xFFFFFF, 1); - клик если цвет равен
_Action(100,100, 0xFFFFFF, -2); - клик если цвет не равен
_Action(100,100, 0xFFFFFF, 3); - тоже просто клик
;2. Проверка наличия цвета в координатах
_Action(100,100, 0xFFFFFF); - вернёт True если цвет в точке 100, 100 белый, и False если любой другой
;3. Ожидание появления цвета в координатах
_Action(100,100, 0xFFFFFF, 0, 10000); - ждёт появления цвета в течении 10 секунд, возвращает True если цвет появился, False, и @error=1 если время ожидания истекло
;3.1. Ожидание появления цвета в координатах, и клик в них
_Action(100,100, 0xFFFFFF, 1, 10000); - то же самое, только ещё и клик при появлении цвета
;4. Ожидание исчезновения цвета в координатах
_Action(100,100, 0xFFFFFF, -1, 10000); - ждёт исчезновения цвета в течении 10 секунд, возвращает True если цвет исчез, False, и @error=1 если время ожидания истекло
;4.1 Ожидание исчезновения цвета в координатах, и клик в них
_Action(100,100, 0xFFFFFF, -2, 10000); - то же самое, только ещё и клик при исчезновении цвета
Надеюсь кому то пригодится ))