Что нового

[Мышь, клавиатура] Перемещение мыши на определеный цвет.

2

220827

Гость
Нужна помощь для написания бота.Незнаю как сделать чтобы бот сам нажимал на определеный пиксель со цветом(картинку выложил) гдето читал что можно так сделать.Заниматься этим всерьез нехочу, мне только бы бота написать.Нужно по цвету так как мне надо чтобы бот нажимал на НПС а они появляются на локации рандомно.
 
Автор
2

220827

Гость
Как я и написал,я новичек) нужно чтобы программа находила пиксель с цветом в ммо(не браузерной)игре и нажимала на него.
 

running-frag

why me?
Сообщения
441
Репутация
60
220827 [?]
нужно чтобы программа находила пиксель с цветом в ммо(не браузерной)игре и нажимала на него.
220827 [?]
Заниматься этим всерьез нехочу, мне только бы бота написать.

Разделом не ошибся?

По теме.
Код:
PixelGetColor
PixelSearch

Второе если надо искать "с вариациями".


PS: Написание бота это вообще "плёвое дело" ну-ну, желаю удачи. :smile:))
 
Автор
2

220827

Гость
Дак мне только надо чтобы он нажимал на определеный цыет в игре.уже сделал только еще плохо работает,тупит переходит на рабочий стол и начинает бунтовать открывать все файлы и тд) ща узнаю как сделать чтобы он только в окно игры тыкал.ну и с цветом проблема иногда не туда тыкает,но буду дорабатывать)


Добавлено:
Сообщение автоматически объединено:

можно обьяснить смысл этих цифр на что ни влияют)
$Variable = PixelSearch( 6, 57, 1276, 957, $Color, $Dip_Col)
я зню что это поиск пикселя с цветом но вот цифры что они обозночают?
 

ggzgamer

Осваивающий
Сообщения
134
Репутация
23
Первые две цифры это координата верхнего левого угла прямоугольника, вторые две - нижнего правого.
 

running-frag

why me?
Сообщения
441
Репутация
60
220827 [?]
ща узнаю как сделать чтобы он только в окно игры тыкал
Код:
Opt ("MouseCoordMode",		2)		
; 0 = relative coords to the active window
; 1 = absolute screen coordinates (default)
; 2 = relative coords to the client area of the active window; рабочая зона без виндовых рамок
Opt ("PixelCoordMode",		2)
; 0 = relative coords to the defined window
; 1 = absolute screen coordinates (default)
; 2 = relative coords to the client area of the defined window; рабочая зона без виндовых рамок

Или посмотри у меня в подписи есть топик, может поможет.

220827 [?]
можно обьяснить смысл этих цифр на что ни влияют)$Variable = PixelSearch( 6, 57, 1276, 957, $Color, $Dip_Col)
Последний параметр это глубина цвета (shade). http://autoit-script.ru/autoit3_docs/functions/PixelSearch.htm
 
Автор
2

220827

Гость
вот картинка,как сделать помогите) измените координаты в этой строке
$Variable = PixelSearch( 6, 57, 1276, 957, $Color, $Dip_Col)
и спасибо за помощь)
 
Автор
2

220827

Гость
Всё,додела вроде нормально,работает как надо только ингда персам время нехватает для подбора лута но это лучше чем за компом по часа 4 сидеть. вот скрипт

[box title=TitleBox]#include <GUIConstants.au3>
#Region ### START Koda GUI section ###
$Form1 = GUICreate("ge gui auto-loot", 200, 100, 100, 100)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###


HotKeySet("{F10}","ExitApp")
Func ExitApp()
Exit
EndFunc

Sleep(2500)

Opt ("MouseCoordMode", 2)
Opt ("PixelCoordMode", 2)

$Color = 140140189
$Dip_Col = 5

while 1
$Variable = PixelSearch( 6, 57, 1276, 957, $Color, $Dip_Col)
If IsArray($Variable) = True Then
mouseclick("left", $Variable[0], $Variable [1])
EndIf

WinActive ("ge gui auto-loot")
WinActivate ("ge gui auto-loot")
Sleep(500)
WEnd [/box]
 

running-frag

why me?
Сообщения
441
Репутация
60
Сейчас подкину проблем. А ты со всех "кристалов" собираешь или только с одного? :smile: Со всех разве не будет больше? Или как там по игровой механике... Если хочешь со всех, тогда начинаются бубны. :whistle:
 
Автор
2

220827

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

running-frag

why me?
Сообщения
441
Репутация
60
а случаи когда "все кристалы за камерой" рассматривал?
 
Автор
2

220827

Гость
когда их нету то через минуту они снова появляются,у них быстрый респ) так же когда перс поднимает лут он подбирает и чужой,и когда к нему бежит(радиус дропа я поставил неограниченое,во встроеном боте в игре) к луту то на экране появляются еще несколько кристалов) все уже проверил,10 мин все нормально,только не всегда подбирают лут,не успевают это жалко)


Добавлено:
Сообщение автоматически объединено:

респ у кристалов быстрый и они в рандомном месте появляются,так что хоть как кристал попадет на экран)
блин думал буду дней 2 всё настраивать)надеюсь все норм будет
 

running-frag

why me?
Сообщения
441
Репутация
60
ты не понял, а если у тебя получится так что камера упрётся в стенку, таким образом "кристалы буду за камерой"
 
Автор
2

220827

Гость
камера движется за персонажем,я её поставил вверху вид.у меня одна проблема,он нажимает на кристалл,и видит другой,переходит на него.может можно сделать так чтобы он при нажатии на 1 кристалл на него и нажимал до того пока кристал не исчезнет?
 

running-frag

why me?
Сообщения
441
Репутация
60
220827 [?]
камера движется за персонажем
т.е. ты отсекаешь такую возможность? имхо конечно :smile:

Ещё раз и внятнее кто на кого нажимать должен и в какой момент? :smile: Мы ж не видим что у тебя там происходит. ;)


Добавлено:
Сообщение автоматически объединено:

[box title=режим гадалки]Попробуй вот как. находишь кристалл, кликаешь, ждёшь N секунд. Проверяешь. Делаешь чего там надо. Ищешь дальше.[/box]


Добавлено:
Сообщение автоматически объединено:

Аа, тьфу. А ведь я про это уже говорил. :smile: Поиск нужного кристалла. ;) Так ёмаё всё просто. Запускаешь поиск. Находит кристалл, сохраняешь координаты. После MouseClick по тем координатам что нашёл PixelSearch. После таймаут небольшой и проверка. Если там уже "не кристалл" ищем дальше. Если там кристалл - снова MouseClick.
 
Автор
2

220827

Гость
После того как 1 раз нажал на кристал он исчезает и появляется в другом месте.Как я и написал,я новичек,если можно скинь сылку по инстукции как сделать так, чтобы он нажимал на 1 кристал до его исчезновения.Так же когда он нажимает на кристал то персонаж бежит к нему и камера двигается,на экране появляются новые кристалы и он сбивается,это основная проблема.
 

running-frag

why me?
Сообщения
441
Репутация
60
220827 [?]
если можно скинь сылку по инстукции как сделать так
Инструкций "как написать бота для игры" нету. Придумывай. Как видишь не так уж это и легко да? Написание бота. "Углубляться" он не хотел. :rofl:

Опять же. Находишь, жмёшь - ждёшь N секунд пока он подбежит. Давай ты же там играешь не я. Механику игры я не знаю. После того как подбежал он чего то сделал, после уже снова ищешь. Я не вижу проблем. (но это видимо потому что я не играл в данное ММО)



Добавлено:
Сообщение автоматически объединено:

220827 [?]
нажимал на 1 кристал до его исчезновения
А сейчас то? Кристалл же "жив" пока на него не кликнули. Так? Даже если не так. "В холостую" побегает, не умрёт.

PS: Но я по прежднему скептически отношусь к твоему безразличию к "кристаллы за камерой". ;)
 
Автор
2

220827

Гость
кристалл за камерой-такого не может быть,если даже бот подбежит к концу локации, то на экране всеравно появиься один крисатлл снизу,он побежит на него и там увидит еще несколько.На ночь поставил,все нормально было только собрал не так много 200шт всего(вручную я собираю столько за полтора часа) а поставил я его на 7 часов.


Добавлено:
Сообщение автоматически объединено:

Вроде доделал,поставил чтобы собирало 3 персонажа,все трое стоят на одном месте,1й нажимает на кристалл и возвращается на точку,2й собирает лут и в это время 3й персонаж нажимает на кристалл,1й бежит собирать,нажимает на другой кристалл и на точку и так бесконечно)Только время нужно настроить чтобы хватало.
Код:
#include <GUIConstants.au3>
#Region ### START Koda GUI section ###
$Form1 = GUICreate("Bot", 200, 100, 100, 100) 
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###


HotKeySet("{F10}","ExitApp")
Func ExitApp()
   Exit
EndFunc

Opt ("MouseCoordMode",      2)      
Opt ("PixelCoordMode",      2)

Sleep(4000)

$Color = 140140189
$Dip_Col = 10 

while 1
Send("{F1}")
$Variable = PixelSearch( 6, 57, 1276, 957, $Color, $Dip_Col)
        If IsArray($Variable) = True Then
        mouseclick("left", $Variable[0], $Variable [1])
Sleep(5000)
Send("{F3}")
        mouseclick("left", $Variable[0], $Variable [1])
     	Sleep(4000)
	 EndIf	
Sleep(2000)	 
WEnd
 
Верх