[Скрипт] [ВКонтакте: Трофейная рыбалка] Бот abyrvalg-t - Zhyk.Ru Forums
Регистрация Главная Пользователи Все разделы прочитаны
Сообщения за день Справка Регистрация
Навигация
Zhyk.Ru LIVE! Реклама на Zhyk.Ru Доска почета top.zhyk.ru (beta) Премиум-аккаунт

Ответ
 
Опции темы Опции просмотра
Старый 11.05.2018, 13:41   #1
 Разведчик
Аватар для karcun
 
karcun никому не известный тип
Регистрация: 10.09.2011
Сообщений: 35
Популярность: 16
Сказал(а) спасибо: 0
Поблагодарили 3 раз(а) в 2 сообщениях
 
По умолчанию [ВКонтакте: Трофейная рыбалка] Бот abyrvalg-t

[Ссылки могут видеть только зарегистрированные пользователи. ]

Исходник для autoit-бота, рыбачащего на автомате )))
На полу-автомате.
Полную автоматизацию делайте сами, эта игра не требует полной автоматизации, Вы лучше должны знать что и когда делать.

Нужно прийти на локацию, настроить снасть и включить бота.
Как включить - читайте инструкцию
Читайте это сообщение полностью до конца

И все будет хорошо.

Бот основан на успешном опыте:
abyrvalg
abyrvalg2

Перед использованием бота нужно слегка доработать напильником.
Это не страшно, ниже прилагаю пошаговую инструкцию.
Данная инструкция подходит для настройки во всех сообществах: ВСекте, Одноклассники, Мэйл.РУ
Одна из последних версий бота, инструкция сжата до минимума.
Прежде чем начинать, прочтите пост до самого конца!
В этом посте нет не важного текста.


Итак, начнем:

Копируем размещенный ниже код в "SciTE Script Editor", он идет в поставке с autoit
[Ссылки могут видеть только зарегистрированные пользователи. ]

0) Строка 5
От этого места нужно редактировать.
И до места, где редактировать не нужно, там написано.


1) Строки 7-9.
Тут нужно вписать класс, заголовок окна и класс контрола Вашего браузера с активной вкладкой игры.
Некоторые браузеры поддерживают выделение флеша в отдельный конторл, он сможет искаться автоматически.
Открываем браузер, открываем страницу с игрой и смотрим на заголовок окна с помощью "AutoIt Window Info" и прицела (включаем опцию Magnify, хватаем его и тащим)

Настоятельно рекомендую использовать вкладку Summary, на ней все перед глазами.
Заколовок окна, класс и контрол класс (адвансед)
Это и есть нужные нам строки

2) Строки 13 и 14
Позиция левого верхнего пиксела игры
У меня отрицательные, так как два монитора и правый основной, его левый верхний пиксел это ноль, второй монитор еще левее, значит, там координаты отрицательные.
Открываем "AutoIt Window Info", хватаем прицел и смотрим на координаты.
Для упрощения прицеливания идем в меню Options->Magnify
"AutoIt Window Info" рисует свою рамку вокруг приложения, ее то же надо захватить.
Но не белый фон страницы, там должен быть темный пиксел
Вкладка Summary.
>>>> Mouse <<<<
Position: [x]619, [y]442

3) Строки 17, 18
Размер приложения.
По идее, задан верно.
Но все может поменяться.
Правый нижний угол минус левый верхний

4) Границы заброса
По ширине, в пикселях, отступы слева и справа от границы приложения внутрь
Рандом.

5) Дальность заброса
В миллисекундах, в одной секунде 1000 миллисекунд.
1500 - это полторы секуцнды
На какое время зажимать ЛКМ для заброса.
Рандом.

6) Время ожидания поклевки
В миллисекундах, в одной секунде 1000 миллисекунд.
20000 - это 20 секунд.
По истечении времени, снасть достается и перезабрасывается.
Рандом.

Все, дальше трогать не надо.
По идее, не надо трогать после второго пункта.
Достаточно измерить положение игры на экране (и сделать так чтобы она не двигалась, браузер (не игра) на весь экран)

Всё, бот настроен.
Сохраняем на диск, жмем F5 (в окне "SciTE Script Editor"), проверяем, что он вытащил несколько рыб.
жмем F7 (в окне "SciTE Script Editor"), рядом с тем файлом, что мы сохранили появится экзешник.
его запускаем и идем пить чай.
Или спать ложимся.

Код бота:
Код:
#include <WinAPI.au3>
#include <Array.au3>

;То, что ниже, нужно настраивать
;Заголовок окна браузера, брать из утилиты AutoIT Window Info
$winTitle = "Трофейная рыбалка - Mozilla Firefox"
$winClass = "MozillaWindowClass"
$ctrClass = "[CLASS:GeckoPluginWindow; INSTANCE:1]"

;Координаты
;1. верхнего левого пикселя приложения
$posX = -1291
$posY = -118

;2. Ширина виджета приложения
$width = 807
$height = 730

;Границы заброса
$offset_lft = 300
$offset_rgt = 100

;Дальность заброса
$dist_min = 1400
$dist_max = 1550

;Время ожидания поклевки
$bite_min = 20000 ;20sec
$bite_max = 60000 ;60sec

;Набор цветов поплавка
Dim $color[4]
$color[0] = 0xFFCC00
$color[1] = 0xF70000
$color[2] = 0xFF0000
$color[3] = 0x90C949

;Звуки
$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"

;Дальше настраивать и трогать не надо
$search_ctrl = 0
$exit       = 0
$pause      = 0
$begin      = TimerInit()

SoundPlay($soundRun, 0)
AutoItSetOption("WinTitleMatchMode", 2)
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

Func _WinAPI_DrawRect($start_x, $start_y, $iWidth, $iHeight, $iColor)
    Local $hDC = _WinAPI_GetWindowDC(0) ; DC of entire screen (desktop)
    Local $tRect = DllStructCreate($tagRECT)
    DllStructSetData($tRect, 1, $start_x)
    DllStructSetData($tRect, 2, $start_y)
    DllStructSetData($tRect, 3, $iWidth)
    DllStructSetData($tRect, 4, $iHeight)
    Local $hBrush = _WinAPI_CreateSolidBrush($iColor)

    _WinAPI_FrameRect($hDC, DllStructGetPtr($tRect), $hBrush)

    ; clear resources
    _WinAPI_DeleteObject($hBrush)
    _WinAPI_ReleaseDC(0, $hDC)
EndFunc   ;==>_WinAPI_DrawRect

;Тело бота
WHILE $exit <> 1
    While $pause = 1
        Sleep(100)
    WEnd
    WinSetState("classname=" & $winClass, $winTitle, @SW_SHOWNORMAL)
    WinActivate($winTitle)

	While ControlFocus($winTitle, "", $ctrClass) = 0
		MsgBox(0, "Ошибка!", "Игра не обнаружена!", 2)
	WEnd

	If $search_ctrl == 1 Then
		$wPos = WinGetPos($winTitle)
		$pos = ControlGetPos($winTitle, "", $ctrClass)

		$posX = $wPos[0] + $pos[0] + 7
		$posY = $wPos[1] + $pos[1] - 2

		ConsoleWrite($posX)
		ConsoleWrite (" ")
		ConsoleWrite($posY)
		ConsoleWrite (@CRLF)

		$width = $pos[2]
		$height = $pos[3]
	EndIf

	$_posX = Random($posX + $offset_lft, $posX + $width - $offset_rgt, 1)
	MouseMove($_posX, Random($posY + $height - 300, $posY + $height - 150, 1))
	MouseDown("LEFT")
	$sleep = Random($dist_min, $dist_max, 1)
	Sleep($sleep)
	MouseUp("LEFT")
	Sleep(Random(900, 1200, 1))
	$x0 = $_posX - 15
	$y0 = $posY + 100
	$x1 = $_posX + 15
	$y1 = $posY + 600

	Local $hTimer = TimerInit()
	$found = True
	$bite_sleep = Random($bite_min, $bite_max, 1)
	While $found
		$found = False
		_WinAPI_DrawRect($x0, $y0, $x1, $y1, 0x000000)
		For $i = 1 To 3
			For $c In $color
				$coord = PixelSearch($x0-1, $y0-1, $x1+1, $y1+1, $c, 15)
				If Not @error Then
					$found = True
					$x0 = $coord[0] - 15
					$x1 = $coord[0] + 15
					$y0 = $coord[1] - 20
					$y1 = $coord[1] + 25
				EndIf
			Next
			Sleep(100)
		Next
		Sleep(100)
		If TimerDiff($hTimer) > $bite_sleep Then
			ConsoleWrite("Not bite, wait 5sec" & @CRLF)
			MouseDown("LEFT")
			Sleep(5000)
			MouseUp("LEFT")
			ContinueLoop 2
		EndIf
	WEnd

	$testX = $posX + 760

	$not_bite = PixelGetColor($testX, $posY + 565)
	$red = PixelGetColor($testX, $posY + 422)

	MouseDown("LEFT")
	$mouseState = 1
	Sleep(200)
	$bite = PixelGetColor($posX + 763, $posY + 564)

	If($bite == $not_bite) Then
		ConsoleWrite("Fail, wait 5sec" & @CRLF)
		Sleep(5000)
		ConsoleWrite("Restart" & @CRLF)
		MouseClick("", $posX + 610, $posY + 500)
		MouseDown("LEFT")
		Sleep(1000)
		MouseUp("LEFT")
		ContinueLoop
	EndIf

	MouseMove(Random($posX + 50, $posX + 300, 1), Random($posY + 400, $posY + 600, 1))

	$hTimer = TimerInit()
	$en = 0
	While $bite == PixelGetColor($posX + 763, $posY + 564)
		If 0xFFFFFF == PixelGetColor($posX + 751, $posY + 418) Then
			If $mouseState == 1 Then
				MouseUp("LEFT")
				;Sleep(Random(100, 300, 1))
				Send("{Space DOWN}")
				$mouseState = 0
				ConsoleWrite("Up" & @CRLF)
			EndIf
		Else
			If $mouseState == 0 Then
				Send("{Space UP}")
				;Sleep(Random(100, 300, 1))
				MouseDown("LEFT")
				$mouseState = 1
				MouseMove(Random($posX + 100, $posX + $width - 100, 1), Random($posY + 400, $posY + 600, 1))
				ConsoleWrite("Down" & @CRLF)
			EndIf
		EndIf
		;Sleep(500)
		If TimerDiff($hTimer) > 60000 * 5 Then
			$hTimer = TimerInit()
			;MouseMove(Random($posX, $posX + $width, 1), Random($posY + 500, $posY + 600, 1))
		EndIf
	WEnd

	Sleep(5000)
	$i = Random(0, 1)
	ConsoleWrite($i & @CRLF)
	If $i > 0.05 Then
		MouseClick("", $posX + 610, $posY + 500)
	Else
		MouseClick("", $posX + 200, $posY + 500)
	EndIf

	$i = Random(0, 1)
	ConsoleWrite($i & @CRLF)

	If $i > 0.9 Then
		Sleep(Random(700, 1000, 1))
		MouseClick("", $posX + 380, $posY + 700)
		Sleep(Random(700, 1000, 1))
		MouseClick("", $posX + 300, $posY + 380)
		Sleep(Random(700, 1000, 1))
		MouseClick("", $posX + 605, $posY + 251)
	EndIf

WEND
И фпирде, на рыбалку!
Удачи!

Добавлено через 3 часа 35 минут
Что мы умеем:
1. Забрасывать и корректно обрабатывать поплавочную удочку.
2. Обрабатывать окошко с выловом:
2.1. Продать
2.2 Отпустить.
Решение принимается рандомно, в конце скрипта
Строка 218: If $i > 0.05 Then означает, что отпустить 5% рыбы (рандом, статистическая оценка, реально может быть больше и меньше).
3. Авторемонт удилища.

4. Обрабатывается только поклевка Топит, с любой скоростью.
5. Поклевка Поднимает корректно отрабатывается при подсечке вручную.
Пока все.

Последний раз редактировалось karcun; 11.05.2018 в 17:17. Причина: Добавлено сообщение
  Ответить с цитированием
Старый 24.05.2018, 12:21   #2
 Разведчик
Аватар для HyperMan
 
HyperMan никому не известный тип
Регистрация: 23.05.2018
Сообщений: 4
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: [ВКонтакте: Трофейная рыбалка] Бот abyrvalg-t

Спасибо большое, опробую ваш скрипт.
  Ответить с цитированием
Старый 21.07.2018, 20:37   #3
 Разведчик
Аватар для AlexZert
 
AlexZert никому не известный тип
Регистрация: 23.12.2015
Сообщений: 1
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: [ВКонтакте: Трофейная рыбалка] Бот abyrvalg-t

Я наверное слишком тупой для этого.
Объясните наглядно скриншотом что такое Координаты верхнего левого пикселя приложения, где именно этот пиксель брать?
Текст на Русском не нужно удалять?

При запуске у меня мышка улетает куда то вверх.
Буду благодарен за видео инструкцию.

Добавлено через 1 час 42 минуты
Это вообще актуально? а то играюсь второй день как дурачок. На первом скрине приложение "рыбное место" каким боком это относится до трофейной рыбалки?

Последний раз редактировалось AlexZert; 21.07.2018 в 22:19. Причина: Добавлено сообщение
  Ответить с цитированием
Старый 29.07.2018, 08:19   #4
 Разведчик
Аватар для 52435
 
52435 никому не известный тип
Регистрация: 25.07.2018
Сообщений: 1
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: [ВКонтакте: Трофейная рыбалка] Бот abyrvalg-t

;Звуки
$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"


а это что?
  Ответить с цитированием
Старый 15.05.2019, 02:24   #5
 Разведчик
Аватар для meitda
 
meitda никому не известный тип
Регистрация: 14.05.2019
Сообщений: 2
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Отправить сообщение для meitda с помощью Skype™
 
По умолчанию Re: [ВКонтакте: Трофейная рыбалка] Бот abyrvalg-t

тема уже не актуальна?
  Ответить с цитированием
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чит на Трофейная рыбалка AnOnYmUsS Баги игр ВКонтакте 19 13.03.2017 17:04
[Баг] Трофейная рыбалка! СиротА Баги игр ВКонтакте 5 05.03.2013 00:22

www.webmoney.ru
Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 00:49.

Пишите нам: forum@zhyk.ru
Copyright © 2019 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net