Что нового

WoW. Fishing bot. Пишем своими руками.

Автор
F

FiReDoGGi

Новичок
Сообщения
42
Репутация
2
Re: WoW. Fishing bot. Наводимся на попловок.

Неа =( Чото не так. Все равно вниз вверх бегает
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
Re: WoW. Fishing bot. Наводимся на попловок.

Удали вот эту вот строчку:
Код:
MouseMove($m[0], $m[1], 10)

У тебя идет два маузмува подряд, изза этого и бегает.
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,673
Репутация
2,486
Re: WoW. Fishing bot. Наводимся на попловок.

Belfigor « Ответ #7, Отправлен: Сегодня в 21:46:15 »
мне в полне понятна задача, подбежать к ящику и забрать квест итем, и я примерно знаю как это сделать
Тут речь не только о том чтобы помагающий понимал суть вопроса, а ещё и о том чтобы другие пользователи, имеющие подобную проблему, смогли быстро найти себе решение, а не создавать лишний раз тему с такой же проблемой, но с другой её постановкой.
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
Re: WoW. Fishing bot. Наводимся на попловок.

CreatoR сказал(а):
Belfigor « Ответ #7, Отправлен: Сегодня в 21:46:15 »
мне в полне понятна задача, подбежать к ящику и забрать квест итем, и я примерно знаю как это сделать
Тут речь не только о том чтобы помагающий понимал суть вопроса, а ещё и о том чтобы другие пользователи, имеющие подобную проблему, смогли быстро найти себе решение, а не создавать лишний раз тему с такой же проблемой, но с другой её постановкой.
Я уже отредактировал название темы и суть вопроса так, чтобы они были понятны тому кто будет искать решение аналогичной проблемы :smile:
 
Автор
F

FiReDoGGi

Новичок
Сообщения
42
Репутация
2
Re: WoW. Fishing bot. Наводимся на попловок.

Код:
    While 1
    	$m = PixelSearch($pos[0]+175,$pos[1]+350,$pos[0]+709,$pos[1]+478, 000000, 20)
    	If Not @error Then
    		MouseMove($m[0], $m[1])
		Else
    		MsgBox(0,'','Not Found попловок')
    	EndIf
     MouseMove($m[0], $m[1]+51)
    	While 1
    	$col = Hex(PixelGetColor($m[0],$m[1]), 6)
    	If $col = 000000 Then
    		MouseClick("right",$m[0], $m[1]+40)
    		ExitLoop
    	EndIf
    	WEnd
    WEnd

Так тоже бегает.. =( Чо не так то млин. Он должен дождаться и подсеч
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
Re: WoW. Fishing bot. Наводимся на попловок.

Дак смотри, вот эти строки:
MouseMove($m[0], $m[1]) - Вот по этим координатам скрипт двигает мышку только если нашел попловок
MouseMove($m[0], $m[1]+51) - А вот по этим координатам если скрипт нашел попвловок он стопудова снова подвинет мышь.

Тоесть в цикле это выполняется так:
-
Если мы нашли попвловок то подвинуть мышь на то место где мы его нашли
Потом подвинуть мышь на 51 пиксель ниже того места где мы нашли попловок
-


В этом коде ты 2 раза просто двигаешь мышь и 1 раз кликаешь ею. Кликает он туда куда надо или нет? Я думаю если 000000 (А это чорный) - действительно тот цвет который ты ищешь, то судя по работе скрипта он должен постоянно висеть в том месте где идет проверка, и работать так:

-
Подвинули мыш на то место где нашли попвловок
Подвинули мышь на 51 пиксель ниже того места где нашли попловок
Кликнули мышью на 40 пикселей ниже того места где нашли попловок
-

У тебя все эти 3 операции с мышью совершаются?
 
Автор
F

FiReDoGGi

Новичок
Сообщения
42
Репутация
2
Re: WoW. Fishing bot. Наводимся на попловок.

Эм.. Мышью.
КОроч надо вот что."1" Нашли, подвинули вниз, ждем. Клюнуло(цвет опять 000000)-на 40пх выше и кликнуть.
Потом опять забросили и го ту "1"
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
Re: WoW. Fishing bot. Наводимся на попловок.

Лучше бы ты описал это в скринах в нормальном качестве, ибо писать ботов без возможности не то что тестить а своими глазами нормально обозревать процесс - достаточно проблематично :smile:
 
Автор
F

FiReDoGGi

Новичок
Сообщения
42
Репутация
2
Re: WoW. Fishing bot. Наводимся на попловок.

Код:
;Поиск поплавка  
$m = PixelSearch($pos[0]+175,$pos[1]+350,$pos[0]+709,$pos[1]+478, 000000, 20)
	If Not @error Then
		MouseMove($m[0], $m[1])
	Else
		MsgBox(0,'','Not Found попловок')
	EndIf

;Двигаем поплавок ниже
MouseMove($m[0], $m[1]+51)
Sleep(400)

;Реакция на поклевку
$col = Hex(PixelGetColor($m[0],$m[1]), 6)
	If $col = 000000 Then
		MouseClick("right",$m[0], $m[1]+10)
	EndIf


Но все равно почему то он ввех дергается что не так?
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
Re: WoW. Fishing bot. Наводимся на попловок.

Код:
$m = PixelSearch($pos[0]+175,$pos[1]+350,$pos[0]+709,$pos[1]+478, 000000, 20)
    	If Not @error Then
    		MouseMove($m[0], $m[1]);Вот тут вот скрипт наводится на попвловок
    	Else
    		MsgBox(0,'','Not Found попловок')
    	EndIf
     
    ;Двигаем поплавок ниже
    MouseMove($m[0], $m[1]+51);А вот тут вот скрипт двигает мышь на +51 по У от того места где был найден попловок
    Sleep(400)
     
    ;Реакция на поклевку
    $col = Hex(PixelGetColor($m[0],$m[1]), 6)
    	If $col = 000000 Then
    		MouseClick("right",$m[0], $m[1]+10)
    	EndIf


Читай комменты к скрипту. Убери либо наводку мышью на попвловок либо наводку на 51 пиксель ниже попвловка и тогда скрипт не будет дергаться вверх вниз.

Потому что
1) - Он ищет попловок (который в идеальных условиях есть всегда. Ищет он его каждый цикл
2) - Найдя попвловок он наводится на него
3) - После наводки на попловок он наводится на 51 пиксель ниже


Если убрать момент ожидания, именно так выглядит твой цикл. Убери из него 2-й или третий пункт. Либо третий поставь на место второго если тебе надо чтобы мышь наводилась на 51 пиксель ниже попловка. Я не могу понять на попловок то зачем мышь наводить?
 
Автор
F

FiReDoGGi

Новичок
Сообщения
42
Репутация
2
Re: WoW. Fishing bot. Наводимся на попловок.

ок.попробую.щас отойти надо.зава напишу

Короче как только не пробовал не робит...

Код:
;Поиск Поплавка
$m = PixelSearch($pos[0]+175,$pos[1]+350,$pos[0]+709,$pos[1]+478, 0x000000, 35)
   	If Not @error Then
   		MouseMove($m[0], $m[1]+65,0)
   	Else
   		MsgBox(0,"","Поплавок не найден",1)
   	EndIf

Sleep(1000)

;Реакция на поклевку
    $col = Hex(PixelGetColor($m[0],$m[1]), 6)
  	If $col = 0x000000 Then
   		MouseClick("right")
	Else 
		MsgBox(0,"","Опять хня",1)
   	EndIf


Тут цвета походу не робяп так как нет поправки If $col = 0x000000 Then
MouseClick("right")
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
Re: WoW. Fishing bot. Наводимся на попловок.

Какое сообщение появляется после
$col = Hex(PixelGetColor($m[0],$m[1]), 6)
??
Если появляется сообщение описанное Else то значит он не видит тот цвет который ты от него хочешь. Ты проверял с помощью Au3Info? Там точно 000000 цвет?
+ убери "0x", пиксельгеткалор возвращает значение без 0x
 
Автор
F

FiReDoGGi

Новичок
Сообщения
42
Репутация
2
Re: WoW. Fishing bot. Наводимся на попловок.

Да никакое просто кликает он а не надо.
Короч надо так.
1) Нашел поплавок это цвет 00000000
2) Едет вниз до того момента пока не потеряет этот цвет.Как только потерял надо стоп
3) Ждет поклевки (В это время цвет 00000000 (поплавок) сместиться ниже)
4) В этот момент надо кликнуть

Как это в коде записать?

Вот реализация пункта 1
Код:
;Поиск Поплавка
$m = PixelSearch($pos[0]+175,$pos[1]+350,$pos[0]+709,$pos[1]+478, 0x000000, 35)
   	If Not @error Then
   		MouseMove($m[0], $m[1]+65,0)
   	Else
   		MsgBox(0,"","Поплавок не найден",1)
   	EndIf


Как дальше?
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
Re: WoW. Fishing bot. Наводимся на попловок.

Пока не потеряет цвет под курсором мыши?
 
Автор
F

FiReDoGGi

Новичок
Сообщения
42
Репутация
2
Re: WoW. Fishing bot. Наводимся на попловок.

Да. То есть если тупо то предположим ниже написанное мышь с определением цвета
00000000
00000000
00000000
00000000
00000001 - Значит стоп
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
Re: WoW. Fishing bot. Наводимся на попловок.

Пробуй
Код:
$pop = PixelSearch(область где должен быть попловок, 0x000000, 5)
If Not @error Then
	While 1
		ToolTip("Ищу низ попловка",0,0)
		$NewY = $pop[1]+1
		MouseMove($pop[0], $NewY, 10)
		$test = PixelSearch($pop[0], $NewY-1, $pop[0], $NewY, 0x000000, 5)
		If @error Then ExitLoop
	WEnd
		
	While 1
		ToolTip("Жду поклев",0,0)
		$pop2 = PixelSearch($pop[0], $NewY, $pop[0], $NewY+1, 0x000000, 5)
		If Not @error Then ExitLoop
	WEnd
	MouseClick("left", $pop2[0], $pop2[1], 1, 5)
Else
	MsgBox(0,"","Попловок не найден")
EndIf
 
Автор
F

FiReDoGGi

Новичок
Сообщения
42
Репутация
2
Re: WoW. Fishing bot. Наводимся на попловок.

Висяк на фразе ищу низ поплавка. Действий не происходит :'(
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
Re: WoW. Fishing bot. Наводимся на попловок.

А мышка продолжает методично ползли вниз?
 
Автор
F

FiReDoGGi

Новичок
Сообщения
42
Репутация
2
Re: WoW. Fishing bot. Наводимся на попловок.

Неа. Причем вот в таком виде всегда получаю "MsgBox(0,"","Поплавок не найден 1",1)"
Если убрать твою часть кода то норм его находит.
Если чисто твою ставить то понятное дело тоже ноу резалт.
Что то тут не так


Код:
;Поиск Поплавка
ToolTip("Ищу поплавок",0,0)
$m = PixelSearch($pos[0]+85,$pos[1]+350,$pos[0]+715,$pos[1]+470, 0x000000, 25)
   	If Not @error Then
		Sleep(1000)
   		MouseMove($m[0], $m[1],10)
   	Else
   		MsgBox(0,"","Поплавок не найден 1",1)
   	EndIf


    $pop = PixelSearch($pos[0]+85,$pos[1]+350,$pos[0]+715,$pos[1]+470, 0x000000, 30)
    If Not @error Then
    	While 1
    		ToolTip("Ищу низ попловка",0,0)
    		$NewY = $pop[1]+1
    		MouseMove($pop[0], $NewY, 10)
    		$test = PixelSearch($pop[0], $NewY-1, $pop[0], $NewY, 0x000000, 30)
    		If @error Then ExitLoop
    	WEnd
     
    	While 1
    		ToolTip("Жду поклев",0,0)
    		$pop2 = PixelSearch($pop[0], $NewY, $pop[0], $NewY+1, 0x000000, 30)
    		If Not @error Then ExitLoop
    	WEnd
    	MouseClick("right", $pop2[0], $pop2[1], 1, 5)
    Else
    	MsgBox(0,"","Попловок не найден")
    EndIf
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
Re: WoW. Fishing bot. Наводимся на попловок.

Ну давай по порядку. Вот протесть эту часть:
Код:
$pop = PixelSearch($pos[0]+85,$pos[1]+350,$pos[0]+715,$pos[1]+470, 0x000000, 30)
    If Not @error Then
    	For $i = 0 To 999 Step 1
    		ToolTip("Ищу низ попловка",0,0)
    		$NewY = $pop[1]+1
    		MouseMove($pop[0], $NewY, 10)
    		$test = PixelSearch($pop[0], $NewY-1, $pop[0], $NewY, 0x000000, 5)
    		If @error Then ExitLoop
		Next
	Else
		MsgBox(0,"","Попловок не найден")
	EndIf

Проверь сначала с шейдером 5 в последнем пиксельсерче.
Эта часть должна найти попловок и навестись на его низ.
 
Верх