Что нового

Прикрутить к скрипту граф. интерфейс с водом параметров

From_Russia

Новичок
Сообщения
8
Репутация
0
Версия AutoIt: 3.2
Описание: Есть готовый скрипт, нужно сделать к нему графический интерфейс с полями ввода
Примечания: Номера строк в коде, которые нужно вывести на графический интерфейс, чтобы их там можно было задавать/изменять:

15 и 16 строка - имеют одно значение, поэтому для них можно сделать одно поле для ввода
17 строка
26 строка - сколько раз отослать кнопку Down
30 строка
40 и 79 строка имеют одно значение, нужно вынести на интерфейс только координаты и цвет
44 строка
51 строка
52 строка
57 строка
58 строка
64 строка
И разумеется кнопка "СТАРТ"

Т.е. в итоге должен получится скрипт при компиляции которого получится EXE при старте которого будет предложено ввести 11 параметров, а под ними кнопка запуска скрипта.
Кто может сделайте пожалуйста, или подробно распишите что да как, т.к. я нуб в этом и почти ничего не понимаю.

Код:
SoundPlay(EnvGet("WINDIR") & "\Media\Windows Notify.wav", 0)
$exit = 0
$refresh = 0
$pause = 0
HotKeySet("{F10}", "Quit")
Func Quit()
    SoundPlay(EnvGet("WINDIR") & "\Media\Windows Hardware Remove.wav", 0)
    MsgBox(0, "СТОП", "Работа бота остановлена, сейчас он закроется", 1)
    Exit
EndFunc
$exit = 0
$refresh = 0
;Главный цикл программы
While $exit <> 1
    WinActive("«Рыбное место» - Приложения - Мой Мир@Mail.Ru - Google Chrome");Заголовок окна
    WinActivate("«Рыбное место» - Приложения - Мой Мир@Mail.Ru - Google Chrome");Заголовок окна
    MouseClick("left", 80, 200) ;Сфокусировались на странице
    Sleep(1)
    
	AutoItSetOption("SendKeyDelay", 1)
    AutoItSetOption("SendKeyDownDelay", 1)
    AutoItSetOption("SendCapslockMode", 1)
	
	Send("{Home}");Передвинули страницу на самый верх
    Sleep(1)
	For $i=1 To 5
    Send("{Down}")
    SLEEP(100)
Next
    MouseClick("left", 683, 384);Сфокусировались на приложении
	;Забросили удочку
    Send("{Space}")
    Sleep(2000)
    
    ;Если не получилось
    ;Проверка - на обводке кнопки.
    ;Если кнопка есть, то можно забрасывать
    ;Так бывает когда закончились снасти
    ;или если сервер не доступен
    If Hex(PixelGetColor(898,379), 6) <> "563A12" Then
        ;С каждым разом ждем дольше
        Sleep($refresh * 20000)
        $refresh += 1
        MouseClick("left", 70, 40)
        ;Ждем загрузки приложения
        Sleep(20000)
        ;Перезапуск главного цикла
        ContinueLoop
    EndIf
    $refresh = 0    
$x = 653 ; Координата X поклевки
$y = 405 ; Координата Y поклевки
$color = 0x849BCF ; Цвет этой координаты
While PixelGetColor( $x, $y) = $color
    Sleep(25)
WEnd
    $str = 630 + 1;позиция шкалы нагрузки по оси Х, где начинаем тянуть
    $end = 750 - 1;позиция шкалы нагрузки по оси Х, где заканчиваем тянуть

    ;первое слагаемое - координата края шкалы
    ;второе - отступ от края
    ;по идее, чем мощнее тачка, тем меньше можно делать отступ

    $lvl = 585;позиция шкалы по оси У
    
    $drag = Hex(PixelGetColor($str, $lvl), 6);запоминаем цвет подложки слева
    $drop = Hex(PixelGetColor($end, $lvl), 6);запоминаем цвет подложки справа
    
    ;Клюет, вытаскиваем!!!
    ;настройка ввода с контроллеров
    AutoItSetOption("SendKeyDelay", 1)
    AutoItSetOption("SendKeyDownDelay", 100)
    AutoItSetOption("SendCapslockMode", 1)

    ;подсекаем
    Send("{Space}")
    
    $flag = 1;0 - отпускаем, 1 - тащим
    While Hex(PixelGetColor(898,379), 6) = "563A12";пока есть кнопка
        If Hex(PixelGetColor($str, $lvl), 6) = $drag Then;шкала ушла левее левой отметки, тащим
            $flag = 1
        EndIf
        If Hex(PixelGetColor($end, $lvl), 6) <> $drop Then;шкала закрасила правую отметку, отпускаем
            $flag = 0
        EndIf
        If $flag = 1 Then
            Send("{Space}");тащим
        Else
            Sleep(50);отпускаем
        EndIf
    WEnd
    ;смотрим на улов
    ;или любуемся надписью "Рыба сорвалась" или что-либо другое
    Sleep(300)
	
	AutoItSetOption("SendKeyDelay", 1)
    AutoItSetOption("SendKeyDownDelay", 1)
    AutoItSetOption("SendCapslockMode", 1)

	;Закрываем окна с новым уровнем
MouseClick("left", 864, 184)	
;MouseClick("left", , )
;MouseClick("left", , )
;MouseClick("left", , )
;MouseClick("left", , )
;MouseClick("left", , )
;MouseClick("left", , )
	
	;Закрываем окна "Получите улов!"
	MouseClick("left", 844, 209)
	MouseClick("left", 825, 206)
	MouseClick("left", 821, 257)
	MouseClick("left", 851, 226)
	MouseClick("left", 846, 240)
	MouseClick("left", 823, 243)
	MouseClick("left", 837, 191)
	MouseClick("left", 827, 219)
	MouseClick("left", 816, 232)
	;MouseClick("left", , )
	;MouseClick("left", , )
	;MouseClick("left", , )
	;MouseClick("left", , )
	;MouseClick("left", , )
    
	;Закрываеме окна с рекордной рыбой
MouseClick("left", 836, 254)
MouseClick("left", 821, 273)
;MouseClick("left", , )
;MouseClick("left", , )
;MouseClick("left", , )
;MouseClick("left", , )
;MouseClick("left", , )
;MouseClick("left", , )
	
	;Добыча сорвалась
	MouseClick("left", 851, 318)
    MouseClick("left", 851, 257)
    ;MouseClick("left", , )
    ;MouseClick("left", , )
    ;MouseClick("left", , )
    ;MouseClick("left", , )
    ;MouseClick("left", , )
	

	
	;Коллекции
	MouseClick("left", 874, 277)
	;MouseClick("left", , )
    ;MouseClick("left", , )
    ;MouseClick("left", , )
    ;MouseClick("left", , )
    ;MouseClick("left", , )
	
	;Не клюёт
	MouseClick("left", 874, 357)
	MouseClick("left", 889, 369)
	MouseClick("left", 858, 344)
	MouseClick("left", 891, 375)
	;MouseClick("left", , )
	;MouseClick("left", , )
	;MouseClick("left", , )
    
	;На кнопке
	MouseClick("left", 861, 391) ;На кнопке
    MouseClick("left", 866, 393) ;На кнопке
    MouseClick("left", 877, 411) ;На кнопке
    MouseClick("left", 890, 413) ;На кнопке
	;MouseClick("left", , )
	;MouseClick("left", , )
WEnd
 
Верх