Здрасте, ребят! Я только-только начал изучать autoit - не судите пж строго. Вовсе не уверен, что моя тема относится именно к теме "продвинутой автоматизации" - формально, мне нужно написать простейший кликер для игры, но, все же, это относится именно к категории "ботов". Дело в том, что хочу играть, но не имею банально времени на добычу ресурсов в игре, чтобы вот так сидеть часами и тупо кликать по кучке руды, например) Возникла идея автоматизировать этот процесс. Всего, вроде, и требуется, чтобы с определенным интервалом времени в окно игры подавалось нажатие клавиши "f" ( Send() в цикле с задержками ). Но, не получается. Autoit ведёт себя очень капризно. При всех равных он то посылает в игру нужное нажатие, то нет. Принципа понять не могу. А в цикле вообще не получается выполнить дальше первого действия. Я сталкивался и с c++, и с php. и с javascript, но тут не могу понять логики. В общем, если подскажете, как корректно тут написать код - буду оч признателен. Может я просто тупо что-то не понимаю ещё. Публикую код, упрощённый до неузнаваемости) Если что - запускаю exeшник с правами администратора и всё такое.
И, кстати да, у игры есть защита от ботов. Называется VK Play Anti-Cheat service. Но, думаю, если бы в этом было дело - античит гасил бы все мои старания, а не только некоторые. Как уже сказал - то Send() работает, то нет.
Ребят, ну!) Неужели никто не поможет со скриптом? Неужели нет никаких идей, почему он может работать так нестабильно?
Код:
Global $name="ArcheAge"
Global $process="ArcheAge.exe"
Global $hWnd
Opt("SendKeyDownDelay", 40)
Opt("WinTitleMatchMode", 2) ; чтобы с каждым обновлением не переделывать, так как в title окна входит build и дата
If ProcessExists($process) Then ; если игра запущена..
$hWnd = WinActivate($name) ; активируем окно игры..
WinWaitActive($hWnd, "", 10) ; ждём
If Not $hWnd Then ; если что, сообщаем, что не удалось и выходим
MsgBox(4096, 'Info', 'Not Actived')
Exit
EndIf
While 1 ; иначе запускаем бесконечный цикл..
Send("f") ; чтобы гномик ковырял руду))
WEnd
Else
Exit
EndIf
И, кстати да, у игры есть защита от ботов. Называется VK Play Anti-Cheat service. Но, думаю, если бы в этом было дело - античит гасил бы все мои старания, а не только некоторые. Как уже сказал - то Send() работает, то нет.
Сообщение автоматически объединено:
Ребят, ну!) Неужели никто не поможет со скриптом? Неужели нет никаких идей, почему он может работать так нестабильно?
Последнее редактирование: