Перед использованием бота нужно слегка доработать напильником.
Это не страшно, ниже прилагаю пошаговую инструкцию.
Данная инструкция тестировалась только Вконтакте
Альфа версия.
Прежде чем начинать, прочтите пост до самого конца!
В этом посте нет не важного текста.
Итак, начнем:
Копируем размещенный ниже код в "SciTE Script Editor", он идет в поставке с autoit
[Ссылки могут видеть только зарегистрированные пользователи. ]
1) Строки 3 и 4.
Тут нужно вписать класс и заголовок окна Вашего браузера с активной вкладкой игры.
Открываем браузер, открываем страницу с игрой и смотрим на заголовок окна с помощью "AutoIt Window Info" и прицела (хватаем его и тащим)
[Ссылки могут видеть только зарегистрированные пользователи. ]
Это и есть нужные нам строки
2) Строки 7 и 8:
тут нужно указать координаты верхнего левого пикселя приложения флеш
Открываем "AutoIt Window Info", хватаем прицел и смотрим на координаты.
Для упрощения прицеливания идем в меню Options->Magnify
"AutoIt Window Info" рисует свою рамку вокруг приложения, ее то же надо захватить.
Но не белый фон страницы, там должен быть темный пиксел
[Ссылки могут видеть только зарегистрированные пользователи. ]
Заменяем то, что есть на то, что надо.
3) Строки 11 и 12.
$biteLength = 450; Продолжительность удержания пробела
$waitLength = 110; Ожидание между нажатиями пробела
В миллисекундах. (1000 = 1 секунда)
Время на которое зажимается пробел и на которое он отпускается.
Думаю, под каждую удочку надо настраивать.
4) Строки 15-20
Цвета красного и зеленого "кружков"
Красный - ожидание поклевки.
Светло зеленый - вытягивание рыбы
5) Строки 23-26
Звуки.
Если не играются/нравятся, указываем свои
6) Строки 31-57
Мне лень настраивать скрипт под каждый монитор.
Все переменные прокомментированы.
Настраивайте под себя и выкладывайте с комментариями.
Всё, бот настроен.
Сохраняем на диск, жмем F5 (в окне "SciTE Script Editor"), проверяем, что он вытащил несколько рыб.
жмем F7 (в окне "SciTE Script Editor"), рядом с тем файлом, что мы сохранили появится экзешник.
его запускаем и смотрим как скрипт работает.
Не получилось еще сделать автономного бота.
Код бота:
Код:
;То, что ниже, нужно настраивать
;Заголовок окна браузера, брать из утилиты AutoIT Window Info
$winClass = "MozillaWindowClass"
$winTitle = "Рыбное место - лучшая бесплатная онлайн игра о рыбалке! - Mozilla Firefox"
;Координаты верхнего левого пикселя приложения
$posX = 29
$posY = 83
;Время удержания пробела (1000 = 1 секунда)
$biteLength = 450;
$waitLength = 110;
;Цвета "красного кружка" и "зеленого фона при вытаскивании"
Dim $colorWait[1]
$colorWait[0] = 0xB8221B
Dim $colorBite[2]
$colorBite[0] = 0x6C963D
$colorBite[1] = 0x7D9C44
;Звуки
$soundRun = EnvGet("WINDIR") & "\Media\Windows Notify.wav"
$soundExit = EnvGet("WINDIR") & "\Media\Windows Hardware Remove.wav"
$soundPauseOn = EnvGet("WINDIR") & "\Media\Speech On.wav"
$soundPauseOff = EnvGet("WINDIR") & "\Media\Speech Off.wav"
;Настройка под размер экрана (1440х900)
;Область определения окончания энергии
$posWX0 = $posX + 155
$posWY0 = $posY + 48
$posWX1 = $posX + 177
$posWY1 = $posY + 64
;Область поиска мест заброса
$posSX0 = $posX + 180
$posSY0 = $posY + 410
$posSX1 = $posX + 1060
$posSY1 = $posY + 630
;Куда отвести мышь для ожидания поклевки
$posXWait = $posX + 420
$posYWait = $posY + 460
$posX0Bite = $posX + 200
$posY0Bite = $posY + 580
$posX1Bite = $posX + 810
$posY1Bite = $posY + 615
;Позиции тыка в кнопки
;Не используется
$posX0Buttons = $posX + 420
$posY0Buttons = $posY + 460
;Положить в рюкзак
$posX1Buttons = $posX + 775
$posY1Buttons = $posY + 500
HotKeySet("{F10}", "Quit")
HotKeySet("{Pause}", "TogglePause")
Func Quit()
SoundPlay($soundExit, 0)
MsgBox(0, "Bye!!!", "See you later )))", 1)
Exit
EndFunc ;Quit
$pause = 0
Func TogglePause()
If $pause = 0 Then
$pause = 1
SoundPlay($soundPauseOn, 0)
MsgBox(0, "Pause", "Paused", 1)
WinSetState("classname=" & $winClass, $winTitle, @SW_SHOWNORMAL)
WinActivate($winTitle)
Else
$pause = 0
SoundPlay($soundPauseOff, 0)
MsgBox(0, "Pause", "Continue", 1)
WinSetState("classname=" & $winClass, $winTitle, @SW_SHOWNORMAL)
WinActivate($winTitle)
EndIf
EndFunc ;TogglePause
WHILE 0 = 0
While $pause = 1 Or Hex(PixelGetColor($posX + 161, $posY + 54), 6) = "A69170"
Sleep(100)
WEnd
WinSetState("classname=" & $winClass, $winTitle, @SW_SHOWNORMAL)
WinActivate($winTitle)
MouseClick("left", $posX - 1, $posY)
SLEEP(200)
Send("{Home}")
SLEEP(200)
MouseClick("left", $posX + 1, $posY + 1)
For $y = $posSY0 To $posSY1 Step 30
For $x = $posSX0 To $posSX1 Step 30
; If $x < ($posSX1 - $posSX0)/2 Then
; $_x =
; Else
; EndIf
MouseMove($x, $y, 1)
Sleep(10)
If MouseGetCursor() = 0 Then
MouseClick("left", $x + 10, $y + 10)
MouseClick("left", $x + 10, $y - 10)
MouseMove($posXWait, $posYWait, 1)
Sleep(6000)
ExitLoop 2
EndIf
Next
Next
$bite = 0
While $bite == 0
$pos = MouseGetPos()
$tmp = False
For $c In $colorWait
$coord = PixelSearch($pos[0] - 55, $pos[1] - 55, $pos[0] + 55, $pos[1] + 55, $c, 20)
If Not @error Then
$tmp = True
EndIf
Next
If Not $tmp Then
$bite = 1
MouseClick("left", $posXWait, $posYWait, 1)
Sleep(1000)
EndIf
Sleep(25)
WEnd
$bite = 0
$cntBite = 0
While $bite == 0
$pos = MouseGetPos()
$tmp = False
For $c In $colorBite
$coord = PixelSearch($posX0Bite, $posY0Bite, $posX1Bite, $posY1Bite, $c, 20)
If Not @error Then
Send("{Space up}")
Sleep($waitLength)
Send("{Space down}")
Sleep($biteLength)
$tmp = True
$cntBite = $cntBite + 1
EndIf
Next
If Not $tmp Then
$bite = 1
ConsoleWrite("Exit")
EndIf
WEnd
;Sleep(3000)
MouseClick("left", $posX - 1, $posY)
SLEEP(200)
Send("{Home}")
MouseMove($posX1Buttons, $posY1Buttons)
Sleep(100)
ConsoleWrite(MouseGetCursor())
MouseClick("left", $posX1Buttons, $posY1Buttons)
WEnd
Спрашиваем, предлагаем )))
Бот находится в состоянии разработки, очень кривой.
Оставлять надолго не рекомендую.
Если нашли способы допилить, пишем сюда или в личку.
Не забываем сказать спасибо.
Для этого есть специальная кнопычка )))
Добавлено через 23 часа 51 минуту
код бота обновлен.
не значительные правки.
Последний раз редактировалось karcun; 14.03.2016 в 16:09.
Причина: код бота обновлен.