ВКонтакте: Рыбное Место
http://vkontakte.ru/app1822452_16639950
Исходник для autoit-бота, рыбачащего на автомате круглосуточно )))
У меня пашет уже 6 суток.
Думаю, не за горами и бан )))
Да и abr c ним, не велика потеря.
Перед использованием бота нужно слегка доработать напильником.
Это не страшно, ниже прилагаю пошаговую инструкцию.
Эта инструкция подходит для всех сообществ: ВСекте, Одноклассники, Мэйл.Ру
Итак, начнем:
Копируем размещенный ниже код в "SciTE Script Editor", он идет в поставке с autoit
1) Строки 25 и 26.
Тут нужно вписать заголовок окна Вашего браузера с активной вкладкой игры.
Открываем браузер, открываем страницу с игрой и смотрим на заголовок окна.
Это и есть нужная нам строка
2) Строка 27:
Тут бот тыкает в любое свободное место на странице, чтобы сфокусироваться на ней.
Открываем "AutoIt Window Info", хватаем прицел и смотрим на координаты.
Для упрощения прицеливания идем в меню Options->Magnify
Заменяем то, что есть на то, что надо.
3) Строка 31:
Тут бот тыкает уже в окно приложения.
Ничего сложного, просто бот тыкает в любую точку приложения, главное что бы там кнопок не оказалось.
(см. шаг 2)
4) Строка 49 (
):
Проверяем на месте ли кнопка "Забросить удочку".
Берем "AutoIt Window Info" и замеряем точку, располагающуюся на верхней кромке кнопки (коричневая обводка)
Результатами заменяем нужное в нашей строке 29
5) Строка 54
Тут указываем координаты кнопки браузера "обновить" или "перезагрузить страницу"
Опять же используем "AutoIt Window Info"
6) Строки 74, 78, 82, 86, 90, 94, 98.
Эта строка ищет в прямоугольнике х0, у0, х1, у1 цвет FFFFFF
Этот цвет следует искать на поверхности поплавка с помощью скриншотов и "AutoIt Window Info".
7) Строки 116, 117 и 123
Тут опять используем "AutoIt Window Info"
позиция шкалы по оси Х, где начинаем тянуть
позиция шкалы по оси Х, где заканчиваем тянуть
позиция шкалы по оси У
8) Строка 136
См. шаг 4
Код бота:
Этот бот не "ломает" игру.
Он не сделает из Вас супер пользователя.
Он не позволит Вам на удочке первого уровня вытащить сома весом 250 кг.
Бот лишь рыбачит за Вас, имитируя Ваши действия.
То бишь, его нужно периодически выключать и качать персонажа руками: оснащать персонажа снастями, следить что бы наживка не закончилась.
бот работает с любыми удочками и спиннингами на любой локации
Добавил управление с клавиатуры и звуки:
Pause/Brake: пауза.
Можно поставить на паузу в любой момент до окошка с уловом и втечение 3-х секунд после его отображения.
Если Вы нажали на паузу, но реакции не последовало, не нужно давить несколько раз.
Пауза сработает вовремя.
F10: Выход, отключить бота
Звуки указал стандартные из семерки.
Если не играют, значит у Вас другие.
Укажите свои
http://vkontakte.ru/app1822452_16639950
Исходник для autoit-бота, рыбачащего на автомате круглосуточно )))
У меня пашет уже 6 суток.
Думаю, не за горами и бан )))
Да и abr c ним, не велика потеря.
Перед использованием бота нужно слегка доработать напильником.
Это не страшно, ниже прилагаю пошаговую инструкцию.
Эта инструкция подходит для всех сообществ: ВСекте, Одноклассники, Мэйл.Ру
Итак, начнем:
Копируем размещенный ниже код в "SciTE Script Editor", он идет в поставке с autoit
1) Строки 25 и 26.
Тут нужно вписать заголовок окна Вашего браузера с активной вкладкой игры.
Открываем браузер, открываем страницу с игрой и смотрим на заголовок окна.
Это и есть нужная нам строка
2) Строка 27:
Тут бот тыкает в любое свободное место на странице, чтобы сфокусироваться на ней.
Открываем "AutoIt Window Info", хватаем прицел и смотрим на координаты.
Для упрощения прицеливания идем в меню Options->Magnify
Заменяем то, что есть на то, что надо.
3) Строка 31:
Тут бот тыкает уже в окно приложения.
Ничего сложного, просто бот тыкает в любую точку приложения, главное что бы там кнопок не оказалось.
(см. шаг 2)
4) Строка 49 (
Код:
If Hex(PixelGetColor(891,533), 6) <> "563A12" Then
Проверяем на месте ли кнопка "Забросить удочку".
Берем "AutoIt Window Info" и замеряем точку, располагающуюся на верхней кромке кнопки (коричневая обводка)
Результатами заменяем нужное в нашей строке 29
5) Строка 54
Тут указываем координаты кнопки браузера "обновить" или "перезагрузить страницу"
Опять же используем "AutoIt Window Info"
6) Строки 74, 78, 82, 86, 90, 94, 98.
Код:
$coord = PixelSearch(624, 480, 680, 560, 0xFF8000)
Эта строка ищет в прямоугольнике х0, у0, х1, у1 цвет FFFFFF
Этот цвет следует искать на поверхности поплавка с помощью скриншотов и "AutoIt Window Info".
7) Строки 116, 117 и 123
Тут опять используем "AutoIt Window Info"
Код:
$str = 496 + 140
позиция шкалы по оси Х, где начинаем тянуть
Код:
$end = 883 - 140
позиция шкалы по оси Х, где заканчиваем тянуть
Код:
$lvl = 738
позиция шкалы по оси У
8) Строка 136
Код:
While Hex(PixelGetColor(891,533), 6) = "563A12"
См. шаг 4
Код бота:
Код:
SoundPlay(EnvGet("WINDIR") & "\Media\Windows Notify.wav", 0)
$exit = 0
$refresh = 0
$pause = 0
HotKeySet("{Pause}", "TogglePause")
HotKeySet("{F10}", "Quit")
Func Quit()
SoundPlay(EnvGet("WINDIR") & "\Media\Windows Hardware Remove.wav", 0)
MsgBox(0, "Bye!!!", "See you later )))", 1)
Exit
EndFunc
Func TogglePause()
If $pause = 0 Then
$pause = 1
SoundPlay(EnvGet("WINDIR") & "\Media\Speech On.wav", 0)
MsgBox(0, "Pause", "Paused", 1)
Else
$pause = 0
SoundPlay(EnvGet("WINDIR") & "\Media\Speech Off.wav", 0)
MsgBox(0, "Pause", "Continue", 1)
EndIf
EndFunc
;Главный цикл программы
WHILE $exit <> 1
WinActive("Рыбное место - ловим рыбу с друзьями!");Заголовок окна
WinActivate("Рыбное место - ловим рыбу с друзьями!");Заголовок окна
MouseClick("left", 1200, 100) ;Сфокусировались на странице
SLEEP(200)
;Send("{Home}");Передвинули страницу на самый верх
SLEEP(200)
MouseClick("left", 720, 300);Сфокусировались на приложении
;Закрыли все оповещалки
Send("{Esc}")
SLEEP(200)
Send("{Esc}")
SLEEP(200)
Send("{Esc}")
SLEEP(200)
;Забросили удочку
Send("{Space}")
SLEEP(3000)
;Если не получилось
;Проверка - на обводке кнопки.
;Если кнопка есть, то можно забрасывать
;Так бывает когда закончились снасти
;или если сервер не доступен
IF Hex(PixelGetColor(877,487), 6) <> "563A12" THEN
;С каждым разом ждем дольше
SLEEP($refresh * 20000)
$refresh += 1
;что-то случилось, перезагружаем страницу
MouseClick("left", 70, 40)
;Ждем загрузки приложения
SLEEP(20000)
;Перезапуск главного цикла
ContinueLoop
EndIf
$refresh = 0
;Ждем поклевку
$bite = 0;
WHILE $bite=0
$bite1 = False
$bite2 = False
$bite3 = False
$bite4 = False
$bite5 = False
$bite6 = False
$bite7 = False
;Если удочка, то смотрим на поплавок
;При необходимости добавляем цвета на поверхности поплавка
;координаты прямоугольника, в котором ищем поплавок и цвет, который ищем
$coord = PixelSearch(624, 480, 680, 560, 0xFF8000)
IF NOT @ERROR THEN
$bite1 = True
EndIf
$coord = PixelSearch(624, 480, 680, 560, 0xD50202)
IF NOT @ERROR THEN
$bite2 = True
EndIf
$coord = PixelSearch(624, 480, 680, 560, 0xFF9F00)
IF NOT @ERROR THEN
$bite3 = True
EndIf
$coord = PixelSearch(624, 480, 680, 560, 0xD0661E)
IF NOT @ERROR THEN
$bite4 = True
EndIf
$coord = PixelSearch(624, 480, 680, 560, 0xFFCC00)
IF NOT @ERROR THEN
$bite5 = True
EndIf
$coord = PixelSearch(624, 480, 680, 560, 0xBF9900)
IF NOT @ERROR THEN
$bite6 = True
EndIf
$coord = PixelSearch(624, 480, 680, 560, 0xFF0000)
IF NOT @ERROR THEN
$bite7 = True
EndIf
IF $bite1 OR $bite2 OR $bite3 OR $bite4 OR $bite5 OR $bite6 OR $bite7 THEN
;нет поклевки, поплавок найден
$bite = 0
ELSE
;поклевка
$bite = 1
EndIf
SLEEP(25)
WEND
;Когда поплавок ушел под воду при поклевке
;или рыбачим на спининг (поплавка нет вовсе)
;запоминаем цвет под шкалой (закрашено шкалой или нет)
$str = 497 + 140;позиция шкалы по оси Х, где начинаем тянуть
$end = 884 - 140;позиция шкалы по оси X, где заканчиваем тянуть
;первое слагаемое - координата края шкалы
;второе - отступ от края
;по идее, чем мощнее тачка, тем меньше можно делать отступ
$lvl = 692;позиция шкалы по оси У
$drag = Hex(PixelGetColor($str, $lvl), 6);запоминаем цвет подложки слева
$drop = Hex(PixelGetColor($end, $lvl), 6);запоминаем цвет подложки справа
;Клюет, вытаскиваем!!!
;настройка ввода с клавиатуры
AutoItSetOption("SendKeyDelay", 1)
AutoItSetOption("SendKeyDownDelay", 100)
AutoItSetOption("SendCapslockMode", 1)
;подсекаем
;Send("{Space}");решил, что это будет лишним. При желании, раскомментируйте
$flag = 1;0 - отпускаем, 1 - тащим
WHILE Hex(PixelGetColor(877,487), 6) = "563A12";пока есть кнопка
IF Hex(PixelGetColor($str, $lvl), 6) = $drag THEN;шкала ушла левее левой отметки, тащим
$flag = 1
EndIf
IF Hex(PixelGetColor($end, $lvl), 6) <> $drop THEN;шкала закрасила правую отметку, отпускаем
$flag = 0
EndIf
IF $flag = 1 THEN
Send("{Space}");тащим
ELSE
SLEEP(25);отпускаем
EndIf
WEND
;смотрим на улов
;или любуемся надписью "Рыба сорвалась" или что-либо другое
SLEEP(3000)
While $pause = 1
Sleep(3000)
WEnd
WEND
Этот бот не "ломает" игру.
Он не сделает из Вас супер пользователя.
Он не позволит Вам на удочке первого уровня вытащить сома весом 250 кг.
Бот лишь рыбачит за Вас, имитируя Ваши действия.
То бишь, его нужно периодически выключать и качать персонажа руками: оснащать персонажа снастями, следить что бы наживка не закончилась.
бот работает с любыми удочками и спиннингами на любой локации
Добавил управление с клавиатуры и звуки:
Pause/Brake: пауза.
Можно поставить на паузу в любой момент до окошка с уловом и втечение 3-х секунд после его отображения.
Если Вы нажали на паузу, но реакции не последовало, не нужно давить несколько раз.
Пауза сработает вовремя.
F10: Выход, отключить бота
Звуки указал стандартные из семерки.
Если не играют, значит у Вас другие.
Укажите свои