Что нового

Создание бота-кликера для браузерной игры Легенда наследие драконов

Dima1337

Осваивающий
Сообщения
186
Репутация
24
Код:
#include <Misc.au3>

HotKeySet('{`}','_exit') ; Завершим скрипт на тильду

Global $pos[2], $pos2[2], $pos3[2], $pos4[2]

#Region Опрос
MsgBox(0,'Настройка','Наведите мышь на БИРЮЗОВЫЙ цвет на кнопке')
Do
    $pos = MouseGetPos()
    ToolTip('Пробел для приминения ' & $pos[0] & '.' & $pos[1])
Until _IsPressed(20)

MsgBox(0,'Настройка','Наведите мышь на Точку 1')
Do
    $pos2 = MouseGetPos()
    ToolTip('Пробел для приминения ' & $pos2[0] & '.' & $pos2[1])
Until _IsPressed(20)

MsgBox(0,'Настройка','Наведите мышь на Точку 2')
Do
    $pos3 = MouseGetPos()
    ToolTip('Пробел для приминения ' & $pos3[0] & '.' & $pos3[1])
Until _IsPressed(20)

MsgBox(0,'Настройка','Наведите мышь на красную зону клавиши отмена в окне процеса рыбалки')
Do
    $pos4 = MouseGetPos()
    ToolTip('Пробел для приминения ' & $pos4[0] & '.' & $pos4[1])
Until _IsPressed(20)
#EndRegion Опрос

#cs
$pos[0] = 434 ;x  Координаты кнопки поимки рыбы "бирюзовый"
$pos[1] = 167 ;y  Координаты кнопки поимки рыбы "бирюзовый"
$pos2[0] = 509 ;x Квадрат поиска рыбы "салатовый"
$pos2[1] = 224 ;y Квадрат поиска рыбы "салатовый"
$pos3[0] = 749 ;x Квадрат поиска рыбы "салатовый"
$pos3[1] = 295 ;y Квадрат поиска рыбы "салатовый"
$pos4[0] = 630 ;x Координаты кнопки отмена "Красный"
$pos4[1] = 319 ;y Координаты кнопки отмена "красный"
#ce

MsgBox(0,'','Сначала открываем браузер потом закрываем это окно.')

$color = '0x03D115' ;Цвет круга рыбы "салатовый"
$color2 = '0x0E8FAC' ;Цвет кнопки рыбалки "бирюзовый"
$color3 = '0xAB0000'  ;Цвет кнопки отмена "красный"
$color4 = '0xF5E5A9'  ;Цвет кнопки закрыть "бежевый"

While 1
	$pixel = PixelSearch($pos2[0],$pos2[1],$pos3[0],$pos3[1],$color,100) ;Ищем рыбу! Квадрат  |  угол 100,10     _|угол 500,500
    If Not @error Then
		_checkfish() ; Функция в цикле
	EndIf
    Sleep(100)
WEnd

Func _checkfish();                                                                             _
	For $i = 1 To 9
		If $i = 1 Then
			MouseClick('',$pixel[0] - 10,$pixel[1] - 10,1,100) ; У нас круг, пытаемся попасть по рыбе 'Левый Верхний угол'
			Sleep(100)
			$pixel2 = PixelSearch($pos[0] - 10,$pos[1] - 10,$pos[0] + 10,$pos[1] + 10,$color2,100) ;Проверяем цвет кнопки поймали рыбу или нет.
			If Not @error Then
				MouseClick('left',$pixel2[0],$pixel2[1],1,100) ; Тыкаем по кнопке, ПРОФИТ рыба поймана.
				ExitLoop
			EndIf
		EndIf
		If $i = 2 Then
			MouseClick('',$pixel[0] + 10,$pixel[1] + 10,1,100) ; 'Правый Нижний угол'
			Sleep(100)
			$pixel2 = PixelSearch($pos[0] - 10,$pos[1] - 10,$pos[0] + 10,$pos[1] + 10,$color2,100) ;Проверяем цвет кнопки поймали рыбу или нет.
			If Not @error Then
				MouseClick('left',$pixel2[0],$pixel2[1],1,100) ; Тыкаем по кнопке, ПРОФИТ рыба поймана.
				ExitLoop
			EndIf
		EndIf
		If $i = 3 Then
			MouseClick('',$pixel[0] - 10,$pixel[1] + 10,1,100) ; 'Левый Нижний угол'
			Sleep(100)
			$pixel2 = PixelSearch($pos[0] - 10,$pos[1] - 10,$pos[0] + 10,$pos[1] + 10,$color2,100) ;Проверяем цвет кнопки поймали рыбу или нет.
			If Not @error Then
				MouseClick('left',$pixel2[0],$pixel2[1],1,100) ; Тыкаем по кнопке, ПРОФИТ рыба поймана.
				ExitLoop
			EndIf
		EndIf
		If $i = 4 Then
			MouseClick('',$pixel[0] + 10,$pixel[1] - 10,1,100) ; 'Правый Верхний угол'
			Sleep(100)
			$pixel2 = PixelSearch($pos[0] - 10,$pos[1] - 10,$pos[0] + 10,$pos[1] + 10,$color2,100) ;Проверяем цвет кнопки поймали рыбу или нет.
			If Not @error Then
				MouseClick('left',$pixel2[0],$pixel2[1],1,100) ; Тыкаем по кнопке, ПРОФИТ рыба поймана.
				ExitLoop
			EndIf
		EndIf
		If $i = 5 Then
			MouseClick('',$pixel[0],$pixel[1] - 10,1,100) ; У нас круг, пытаемся попасть по рыбе 'Центр Верх'
			Sleep(100)
			$pixel2 = PixelSearch($pos[0] - 10,$pos[1] - 10,$pos[0] + 10,$pos[1] + 10,$color2,100) ;Проверяем цвет кнопки поймали рыбу или нет.
			If Not @error Then
				MouseClick('left',$pixel2[0],$pixel2[1],1,100) ; Тыкаем по кнопке, ПРОФИТ рыба поймана.
				ExitLoop
			EndIf
		EndIf
		If $i = 6 Then
			MouseClick('',$pixel[0],$pixel[1] + 10,1,100) ; У нас круг, пытаемся попасть по рыбе 'Центр Верх'
			Sleep(100)
			$pixel2 = PixelSearch($pos[0] - 10,$pos[1] - 10,$pos[0] + 10,$pos[1] + 10,$color2,100) ;Проверяем цвет кнопки поймали рыбу или нет.
			If Not @error Then
				MouseClick('left',$pixel2[0],$pixel2[1],1,100) ; Тыкаем по кнопке, ПРОФИТ рыба поймана.
				ExitLoop
			EndIf
		EndIf
		If $i = 7 Then
			MouseClick('',$pixel[0] - 10,$pixel[1],1,100) ; У нас круг, пытаемся попасть по рыбе 'Лево Центр'
			Sleep(100)
			$pixel2 = PixelSearch($pos[0] - 10,$pos[1] - 10,$pos[0] + 10,$pos[1] + 10,$color2,100) ;Проверяем цвет кнопки поймали рыбу или нет.
			If Not @error Then
				MouseClick('left',$pixel2[0],$pixel2[1],1,100) ; Тыкаем по кнопке, ПРОФИТ рыба поймана.
				ExitLoop
			EndIf
		EndIf
		If $i = 8 Then
			MouseClick('',$pixel[0] + 10,$pixel[1],1,100) ; У нас круг, пытаемся попасть по рыбе 'Право Центр'
			Sleep(100)
			$pixel2 = PixelSearch($pos[0] - 10,$pos[1] - 10,$pos[0] + 10,$pos[1] + 10,$color2,100) ;Проверяем цвет кнопки поймали рыбу или нет.
			If Not @error Then
				MouseClick('left',$pixel2[0],$pixel2[1],1,100) ; Тыкаем по кнопке, ПРОФИТ рыба пойёмана.
				ExitLoop
			EndIf
		EndIf
		If $i = 9 Then
			MouseClick('',$pixel[0] - 10,$pixel[1],1,100) ; У нас круг, пытаемся попасть по рыбе 'Центр Центр'
			Sleep(100)
			$pixel2 = PixelSearch($pos[0] - 10,$pos[1] - 10,$pos[0] + 10,$pos[1] + 10,$color2,100) ;Проверяем цвет кнопки поймали рыбу или нет.
			If Not @error Then
				MouseClick('left',$pixel2[0],$pixel2[1],1,100) ; Тыкаем по кнопке, ПРОФИТ рыба поймана.
			EndIf
		EndIf
	Next
	Sleep(5000)
	Do
		$pixel3 = PixelSearch($pos4[0] - 1, $pos4[1] - 1, $pos4[0] + 1, $pos4[1] + 1, $color3, 10)
		ToolTip('Я тут жду пока красная кнопка не исчезнет...') ;Настройка, Удалить при необходимости
		Sleep(100)
	Until @error ; Выходим из цикла поиска красной кнопки когда красного цвета НЕТ по координатам.
	ToolTip('') ;Настройка, Удалить при необходимости
	Sleep(100)
	$pixel4 = PixelSearch($pos4[0] - 20, $pos4[1] - 5, $pos4[0] + 20, $pos4[1] + 5, $color4, 10) ; Проверяем, поймалась или сорвалась.
	If Not @error Then MouseClick("left",$pixel4[0],$pixel4[1]) ; Если сорвалась то тык на кнопку закрыть "бежевый"
EndFunc

Func _exit()
    Exit
EndFunc
Значит вернемся к версии с настройкой....
 
Автор
M

MME

Новичок
Сообщения
20
Репутация
0
Он ловит одну рыбину и залипает :smile: блин сейчас накажут как спрятать текст :laugh:
#include <Misc.au3>

HotKeySet('{`}','_exit') ; Завершим скрипт на тильду

#Region Опрос
MsgBox(0,'Настройка','Наведите мышь на БИРЮЗОВЫЙ цвет на кнопке')
Do
$pos = MouseGetPos()
ToolTip('Пробел для приминения ' & $pos[0] & '.' & $pos[1])
Until _IsPressed(20)

MsgBox(0,'Настройка','Наведите мышь на Точку 1')
Do
$pos2 = MouseGetPos()
ToolTip('Пробел для приминения ' & $pos2[0] & '.' & $pos2[1])
Until _IsPressed(20)

MsgBox(0,'Настройка','Наведите мышь на Точку 2')
Do
$pos3 = MouseGetPos()
ToolTip('Пробел для приминения ' & $pos3[0] & '.' & $pos3[1])
Until _IsPressed(20)

MsgBox(0,'Настройка','Наведите мышь на красную зону клавиши отмена в окне процеса рыбалки')
Do
$pos4 = MouseGetPos()
ToolTip('Пробел для приминения ' & $pos4[0] & '.' & $pos4[1])
Until _IsPressed(20)
#EndRegion Опрос

#cs Отладка, Удалить эту строку при необходимости
;Что бы постоянно мышкой не тыкать, просто сохраните координаты, удалите регион Опрос и впишите:
Global $pos, $pos2, $pos3, $pos4
$pos[0] = 0 ;x
$pos[1] = 0 ;y
$pos2[0] = 0 ;x
$pos2[1] = 0 ;y
$pos3[0] = 0 ;x
$pos3[1] = 0 ;y
$pos4[0] = 0 ;x
$pos4[1] = 0 ;y
#ce Отладка, Удалить эту строку при необходимости

$color = '0x03D115' ;Цвет круга рыбы "салатовый"
$color2 = '0x0E8FAC' ;Цвет кнопки рыбалки фиолетовый
$color3 = "0xAB0000" ;Цвет кнопки отмена красный

MsgBox(0,'Настройка','Нужные координаты: '&@CRLF&'$pos: x.'&$pos[0]&' y.'&$pos[1]&@CRLF&'$pos2: x.'&$pos2[0]&' y.'&$pos2[1]&@CRLF&'$pos2 Color: '&$color2&@CRLF&'$pos3: x.'&$pos3[0]&' y.'&$pos3[1]&@CRLF&'$pos4: x.'&$pos4[0]&' y.'&$pos4[1]&@CRLF&'$pos4 Color: '&$color3)

ToolTip('')

While 1
_checkfish() ; Функция в цикле
Sleep(100)
WEnd

Func _checkfish(); _
$pixel = PixelSearch($pos2[0],$pos2[1],$pos3[0],$pos3[1],$color,100) ;Ищем рыбу! Квадрат | угол 100,10 _|угол 500,500
If Not @error Then
$color3 = PixelGetColor($pos4[0],$pos[1])
For $i = 1 To 9
If $i = 1 Then
MouseClick('',$pixel[0] - 10,$pixel[1] - 10,1,100) ; У нас круг, пытаемся попасть по рыбе 'Левый Верхний угол'
Sleep(100)
$pixel2 = PixelSearch($pos[0] - 10,$pos[1] - 10,$pos[0] + 10,$pos[1] + 10,$color2,100) ;Проверяем цвет кнопки поймали рыбу или нет.
If Not @error Then
MouseClick('left',$pixel2[0],$pixel2[1],1,100) ; Тыкаем по кнопке, ПРОФИТ рыба поймана.
ExitLoop
EndIf
EndIf
If $i = 2 Then
MouseClick('',$pixel[0] + 10,$pixel[1] + 10,1,100) ; 'Правый Нижний угол'
Sleep(100)
$pixel2 = PixelSearch($pos[0] - 10,$pos[1] - 10,$pos[0] + 10,$pos[1] + 10,$color2,100) ;Проверяем цвет кнопки поймали рыбу или нет.
If Not @error Then
MouseClick('left',$pixel2[0],$pixel2[1],1,100) ; Тыкаем по кнопке, ПРОФИТ рыба поймана.
ExitLoop
EndIf
EndIf
If $i = 3 Then
MouseClick('',$pixel[0] - 10,$pixel[1] + 10,1,100) ; 'Левый Нижний угол'
Sleep(100)
$pixel2 = PixelSearch($pos[0] - 10,$pos[1] - 10,$pos[0] + 10,$pos[1] + 10,$color2,100) ;Проверяем цвет кнопки поймали рыбу или нет.
If Not @error Then
MouseClick('left',$pixel2[0],$pixel2[1],1,100) ; Тыкаем по кнопке, ПРОФИТ рыба поймана.
ExitLoop
EndIf
EndIf
If $i = 4 Then
MouseClick('',$pixel[0] + 10,$pixel[1] - 10,1,100) ; 'Правый Верхний угол'
Sleep(100)
$pixel2 = PixelSearch($pos[0] - 10,$pos[1] - 10,$pos[0] + 10,$pos[1] + 10,$color2,100) ;Проверяем цвет кнопки поймали рыбу или нет.
If Not @error Then
MouseClick('left',$pixel2[0],$pixel2[1],1,100) ; Тыкаем по кнопке, ПРОФИТ рыба поймана.
ExitLoop
EndIf
EndIf
If $i = 5 Then
MouseClick('',$pixel[0],$pixel[1] - 10,1,100) ; У нас круг, пытаемся попасть по рыбе 'Центр Верх'
Sleep(100)
$pixel2 = PixelSearch($pos[0] - 10,$pos[1] - 10,$pos[0] + 10,$pos[1] + 10,$color2,100) ;Проверяем цвет кнопки поймали рыбу или нет.
If Not @error Then
MouseClick('left',$pixel2[0],$pixel2[1],1,100) ; Тыкаем по кнопке, ПРОФИТ рыба поймана.
ExitLoop
EndIf
EndIf
If $i = 6 Then
MouseClick('',$pixel[0],$pixel[1] + 10,1,100) ; У нас круг, пытаемся попасть по рыбе 'Центр Верх'
Sleep(100)
$pixel2 = PixelSearch($pos[0] - 10,$pos[1] - 10,$pos[0] + 10,$pos[1] + 10,$color2,100) ;Проверяем цвет кнопки поймали рыбу или нет.
If Not @error Then
MouseClick('left',$pixel2[0],$pixel2[1],1,100) ; Тыкаем по кнопке, ПРОФИТ рыба поймана.
ExitLoop
EndIf
EndIf
If $i = 7 Then
MouseClick('',$pixel[0] - 10,$pixel[1],1,100) ; У нас круг, пытаемся попасть по рыбе 'Лево Центр'
Sleep(100)
$pixel2 = PixelSearch($pos[0] - 10,$pos[1] - 10,$pos[0] + 10,$pos[1] + 10,$color2,100) ;Проверяем цвет кнопки поймали рыбу или нет.
If Not @error Then
MouseClick('left',$pixel2[0],$pixel2[1],1,100) ; Тыкаем по кнопке, ПРОФИТ рыба поймана.
ExitLoop
EndIf
EndIf
If $i = 8 Then
MouseClick('',$pixel[0] + 10,$pixel[1],1,100) ; У нас круг, пытаемся попасть по рыбе 'Право Центр'
Sleep(100)
$pixel2 = PixelSearch($pos[0] - 10,$pos[1] - 10,$pos[0] + 10,$pos[1] + 10,$color2,100) ;Проверяем цвет кнопки поймали рыбу или нет.
If Not @error Then
MouseClick('left',$pixel2[0],$pixel2[1],1,100) ; Тыкаем по кнопке, ПРОФИТ рыба пойёмана.
ExitLoop
EndIf
EndIf
If $i = 9 Then
MouseClick('',$pixel[0] - 10,$pixel[1],1,100) ; У нас круг, пытаемся попасть по рыбе 'Центр Центр'
Sleep(100)
$pixel2 = PixelSearch($pos[0] - 10,$pos[1] - 10,$pos[0] + 10,$pos[1] + 10,$color2,100) ;Проверяем цвет кнопки поймали рыбу или нет.
If Not @error Then
MouseClick('left',$pixel2[0],$pixel2[1],1,100) ; Тыкаем по кнопке, ПРОФИТ рыба поймана.
EndIf
EndIf
Next
Sleep(5000)
While 1
$pixel3 = PixelSearch($pos4[0] - 3, $pos4[1] - 3, $pos4[0] + 3, $pos4[1] + 3, '0x'&Hex($color3, 6), 100)
If Not @error Then ExitLoop
Sleep(100)
WEnd
Sleep(100)
$pixel4 = PixelSearch($pos4[0] - 20, $pos4[1] - 5, $pos4[0] + 20, $pos4[1] + 5, '0xF5E5A9', 100) ; Если не получилось тык на кнопку и заного
If Not @error Then MouseClick("left",$pixel4[0],$pixel4[1])
EndIf
EndFunc

Func _exit()
Exit
EndFunc
Стабильнее всего он робил с этим скриптом :smile: бывает залипает вот на этих табличках :smile:
 

Вложения

  • Image 9.png
    Image 9.png
    41.4 КБ · Просмотры: 7
  • Ошибка.png
    Ошибка.png
    35.7 КБ · Просмотры: 8

Dima1337

Осваивающий
Сообщения
186
Репутация
24
мы можем долго играть в угадайку :beer: быстрее всего сделать все через teamviewer :whistle:
А для связи я вам кину скайп в лс
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
MME [?]
как спрятать текст

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


С уважением, ваш Глобальный модератор.
 
Верх