Появилась идея сделать бота для игры Flash Guitar Hero. Решил узнать больше об AutoIt и пришел сюда.
Суть бота проста -- нажимать на нужную мне кнопочку при появлении ноты определенного цвета, при том, что этих кнопочек пять штук.
Почитав немного об AutoIt'e я решил, что пойду через PixelSearch, и соответственно код для каждой кнопочки должен быть такой
но то ли я не разобрался в синтаксисе, либо не правильно определил цвет и координаты, даже одна кнопочка не нажимается. координаты я мерил от всего монитора (1366х768), а цвет по самой яркой точке на ноте.
Подскажите, что я не так делаю, и можно ли вообще такое осуществить?
скриншот окна игры
Добавлено:
пока получается следующая штука
Суть бота проста -- нажимать на нужную мне кнопочку при появлении ноты определенного цвета, при том, что этих кнопочек пять штук.
Почитав немного об AutoIt'e я решил, что пойду через PixelSearch, и соответственно код для каждой кнопочки должен быть такой
Код:
If PixelSearch( 590, 615, 592, 610, 0x4BFC6B) Then
Send ('{A}')
Endif
но то ли я не разобрался в синтаксисе, либо не правильно определил цвет и координаты, даже одна кнопочка не нажимается. координаты я мерил от всего монитора (1366х768), а цвет по самой яркой точке на ноте.
Подскажите, что я не так делаю, и можно ли вообще такое осуществить?
скриншот окна игры
Добавлено:
Сообщение автоматически объединено:
пока получается следующая штука
Код:
HotKeySet("{F6}","_Exit")
$S = 6
MsgBox(4,"Bot","vi hotite zapustit' bot?")
If $S = 6 Then
MsgBox(4096,"Bot","nachalos'!")
EndIf
$Nota = 0x1
$Nota1 = 0x2
$Nota2 = 0x4
$Nota3 = 0x8
$Nota4 = 0x16
While 1
Sleep(1)
$Nota = PixelSearch(154, 596,229, 607,0x009900)
If IsArray($Nota) = True Then
Opt("PixelCoordMode", 2)
Opt("SendKeyDelay", 25)
Send("{a}")
EndIf
$Nota0 = PixelSearch(154, 596,229, 607,0x0099FF,1)
If IsArray($Nota0) = True Then
Opt("PixelCoordMode", 2)
Opt("SendKeyDelay", 25)
Send("{a}")
EndIf
$Nota1 = PixelSearch(254,596,329,607,0xFF0000)
If IsArray($Nota1) = True Then
Opt("PixelCoordMode", 2)
Opt("SendKeyDelay",25)
Send("{s}")
EndIf
$Nota10 = PixelSearch(254,596,329,607,0x0099FF,1)
If IsArray($Nota10) = True Then
Opt("PixelCoordMode", 2)
Opt("SendKeyDelay", 25)
Send("{s}")
EndIf
$Nota2 = PixelSearch(354, 596,429, 607,0xF4F402)
If IsArray($Nota2) = True Then
Opt("PixelCoordMode", 2)
Opt("SendKeyDelay", 25)
Send("{h}")
EndIf
$Nota20 = PixelSearch(354, 596,429, 607,0x0099FF,1)
If IsArray($Nota20) = True Then
Opt("PixelCoordMode", 2)
Opt("SendKeyDelay", 25)
Send("{h}")
EndIf
$Nota3 = PixelSearch(454, 596,506, 603,0x0099FF,1)
If IsArray($Nota3) = True Then
Opt("PixelCoordMode", 2)
Opt("SendKeyDelay", 25)
Send("{j}")
EndIf
$Nota4 = PixelSearch(596, 595,530, 607,0xFFFFFF)
If IsArray($Nota4) = True Then
Opt("PixelCoordMode", 2)
Opt("SendKeyDelay", 25)
Send("{k}")
EndIf
$Nota40 = PixelSearch(596, 595,530, 607,0x0099FF,1)
If IsArray($Nota40) = True Then
Opt("PixelCoordMode", 2)
Opt("SendKeyDelay",25)
Send("{k}")
EndIf
WEnd
Func _Exit()
Exit
EndFunc