Что нового

[Мышь, клавиатура] Универсальная функция для создания бота кликера

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); - то же самое, только ещё и клик при исчезновении цвета


Надеюсь кому то пригодится ))
 
Верх