Собственно, в коде ниже цикл выполняется 4 раза при любых значениях в $nInput = GUICtrlCreateInput("10", 80, 5, 30, 20)
Код:
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Opt("GUIOnEventMode", 1) ; Включает режим OnEvent
;~ Выход из программы
Global $HotExit
HotKeySet("{ESC}", "_Exit")
Func _Exit()
$HotExit = Not $HotExit
While $HotExit
Exit
WEnd
ToolTip("")
EndFunc
;~ Назначение горячей клавиши. При нажатии Pause Break скрипт встанет на паузу
Global $Paused
HotKeySet("{PAUSE}", "TogglePause")
Func TogglePause()
$Paused = NOT $Paused
While $Paused
sleep(100)
ToolTip("Script is Paused")
WEnd
ToolTip("")
EndFunc
;~ главное окно
$mainwindow = GUICreate("Автоудар", 200, 200, -1, -1, -1, $WS_EX_TOPMOST)
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
;~ поле для ввода количества ударов, не работает, почему-то проходит 4 удара при любых значениях
Global $nInput ;~ Обьявляю переменную для текстового поля на колечество ударов
GUICtrlCreateLabel("К-во ударов", 10, 10) ;~ Надпись в окошке - "к-во ударов"
$nInput = GUICtrlCreateInput("10", 80, 5, 30, 20) ;~ Текстовое поле для ввода количества ударов с значением по умолчанию 10
Global $Udar ;~ Обьявляю переменную для удара в цикл
$Udar = $nInput ;~ Передаю количество ударов в переменную $Udar
;~ поля для ввода координат почему-то не работают, берут неправильные значения, как и в случаи с ударом
;~ GUICtrlCreateLabel("Удар 1", 10, 35)
;~ $x1 = GUICtrlCreateInput("677", 80, 30, 30, 20)
;~ $y1 = GUICtrlCreateInput("279", 120, 30, 30, 20)
;~ GUICtrlCreateLabel("Удар 2", 10, 65)
;~ $x2 = GUICtrlCreateInput("697", 80, 60, 30, 20)
;~ $y2 = GUICtrlCreateInput("279", 120, 60, 30, 20)
;~ GUICtrlCreateLabel("Блок", 10, 95)
;~ $x3 = GUICtrlCreateInput("839", 80, 90, 30, 20)
;~ $y3 = GUICtrlCreateInput("279", 120, 90, 30, 20)
;~ кнопки старт и стоп
$okbutton = GUICtrlCreateButton("Start", 20, 170, 60)
$cancelbutton = GUICtrlCreateButton("Stop", 120, 170, 60)
GUICtrlSetOnEvent($okbutton, "OKButton")
GUICtrlSetOnEvent($cancelbutton, "CancelButton")
GUISetState(@SW_SHOW)
;~ координаты вручную, работают
$x1 = 677
$y1 = 279
$x2 = 697
$y2 = 279
$x3 = 839
$y3 = 279
While 1
Sleep(1000) ; Цикл ожидания - WTF 0_o
WEnd
;~ кнопка старт
Func OKButton()
;~ запуск цикла на количество ударов указанное в переменной $Udar
For $i = $Udar To 1 Step -1
MouseClick("left", $x1, $y1, 1, 0)
MouseClick("left", $x2, $y2, 1, 0)
MouseClick("left", $x3, $y3, 1, 0)
sleep(1500)
Next
EndFunc
;~ кнопка стоп, позже реализую
Func CancelButton()
Exit
EndFunc
;~ закрыть
Func CLOSEClicked()
Exit
EndFunc