Версия AutoIt: 3.3.14.2
Описание: всем привет! пытаюсь сделать скрипт с двумя условиями, 1: если совпадает цвет пикселя (PixelSearch), 2: если зажата клавиша (_IsPressed), то нажать левый клик мыши. по отдельности оба работают нормально. но при попытки их соединить в один выдает ошибку.
и второй
Примечания: на сколько я понимаю они должны работать как на картинке? буду признателен за помощь.
Описание: всем привет! пытаюсь сделать скрипт с двумя условиями, 1: если совпадает цвет пикселя (PixelSearch), 2: если зажата клавиша (_IsPressed), то нажать левый клик мыши. по отдельности оба работают нормально. но при попытки их соединить в один выдает ошибку.
Код:
HotKeySet("{F6}","_Exit")
While 1
$Variable = PixelSearch(959,539,960,540,0xFEB133)
If IsArray($Variable) = True Then
MouseClick("LEFT")
Sleep (100)
EndIf
WEnd
Func _Exit()
Exit
EndFunc
и второй
Код:
#include <Misc.au3>
#include <MsgBoxConstants.au3>
Local $hDLL = DllOpen("user32.dll")
While 1
If _IsPressed("11", $hDLL) Then
ConsoleWrite("_IsPressed - Shift Key was pressed." & @CRLF)
; Wait until key is released.
While _IsPressed("11", $hDLL)
Sleep(100)
MouseClick("LEFT")
WEnd
ConsoleWrite("_IsPressed - Shift Key was released." & @CRLF)
ElseIf _IsPressed("1B", $hDLL) Then
MsgBox($MB_SYSTEMMODAL, "_IsPressed", "The Esc Key was pressed, therefore we will close the application.")
ExitLoop
EndIf
Sleep(100)
WEnd
DllClose($hDLL)
Примечания: на сколько я понимаю они должны работать как на картинке? буду признателен за помощь.
соеденить пытался примерно так
в данном случае выдает ошибку
Line 507 (File " "):
Error: "Wend" statement with no matching "While" statement.
Код:
#include <Misc.au3>
#include <MsgBoxConstants.au3>
Local $hDLL = DllOpen("user32.dll")
While 1
If _IsPressed("11", $hDLL) Then
ConsoleWrite("_IsPressed - Shift Key was pressed." & @CRLF)
; Wait until key is released.
While _IsPressed("11", $hDLL)
$Variable = PixelSearch(959,539,960,540,0xFEB133)
If IsArray($Variable) = True Then
Sleep(100)
MouseClick("LEFT")
WEnd
ConsoleWrite("_IsPressed - Shift Key was released." & @CRLF)
ElseIf _IsPressed("1B", $hDLL) Then
MsgBox($MB_SYSTEMMODAL, "_IsPressed", "The Esc Key was pressed, therefore we will close the application.")
ExitLoop
EndIf
Sleep(250)
WEnd
DllClose($hDLL)
в данном случае выдает ошибку
Line 507 (File " "):
Error: "Wend" statement with no matching "While" statement.