Я пытаюсь создать автокликер с помощью AutoHotKey для игры, в которой есть система для рыбалки. Эта система заставляет значок черного восклицательного знака, окруженного большой квадратной рамкой белого цвета, появляться над вашей головой, после чего вам нужно спамить левой кнопкой мыши, чтобы поймать рыбу. Поскольку время, в которое значок появляется каждый раз, меняется случайным образом, я должен иметь возможность определить время динамического нажатия на спам.
Я пытался сделать это, используя PixelGetColor (как показано ниже), чтобы найти определенный пиксель, который заканчивается белым при появлении восклицательного знака, но никогда не обнаруживает восклицательный знак и, что более важно, при обнаруженииконкретный пиксель на моем экране должен быть белым, условие оператора if, следующее за PixelGetColor, всегда возвращает true.
Toggle = False
loop
{
if (Toggle = "true")
{
Sleep, 100
PixelGetColor, color, 966, 463
if (color = 0xFFFFFFFF) {
MsgBox, It works!
}
}
}
F1::
if (Toggle = "true") {
Toggle = False
}
else {
Toggle = True
}
F1 привязан к логическому значению, которое определяет, выполняется код внутри цикла или нет. Последние два входа для PixelGetColor, 966 и 463, являются позициями x и y определенного пикселя соответственно.
Я ожидаю получить разные значения для цвета, как только я начну перемещать камеру в игре, нопосле того, как он обнаруживает белый, он продолжает спамить сообщение о том, что скрипт «работает», когда он явно не работает.
Проще говоря, что, черт возьми, происходит? Я пытался понять это некоторое время сейчас. Если бы кто-нибудь мог дать объяснение того, что я сделал неправильно, а также фрагмент кода для того, что должно быть сделано внутри цикла, чтобы заставить программу работать как задумано, я был бы вечно (хорошо, почти) благодарен.