Что нового

Автоматическое отправление вэбхука при обнаружении цветового сигнала

Crazilik

Новичок
Сообщения
2
Репутация
0
Добрый день интересует написание скрипта для отправления вэбхука при появлении цветового сигнала на графике.
 

All2khoff

Продвинутый
Сообщения
347
Репутация
65
ответ на аналогичный вопрос.
Код:
Dim $iMsgBoxAnswer ; Сообщение (кнопки: ОК = 1, Отмена = 2)
$iMsgBoxAnswer = MsgBox(65," ","Наведите курсор на нужный пиксель и нажмите Enter")
Select
   Case $iMsgBoxAnswer = 2
    MsgBox(64," ","Отменено")
    Exit
EndSelect ; Конец сообщения


Local const $pos = MouseGetPos() ; Запоминаем текущщие координаты мыши в переменную (массив) $pos (переменная больше не меняет свое значение)
$color = PixelGetColor ( $pos[0], $pos[1] ) ; Запоминает цвет пикселя, ориентируясь на координаты из $pos . Далее скрипт сравнивает цвет пикселя с этим образцом. А когда находит новый цвет на запомненном ранее пикселе, то с помощью функции NEXT_PixelGetColorWhile сделать найденный цвет образцом, чтобы продолжить сравнение (поиск изменений).


Dim $iMsgBoxAnswer ; Сообщение (конечное подтверждение пользователя)
$iMsgBoxAnswer = MsgBox(52," ","Полученный результат:" & @CRLF & "" & @CRLF & "Координата X экрана: "&$pos[0]&"" & @CRLF & "Координата Y экрана: "&$pos[1]&"" & @CRLF & "Значение цвета на указанном пересечении координат: "&$color&"" & @CRLF & "" & @CRLF & "Начать проверку цвета на указанном пересечении?")
Select
   Case $iMsgBoxAnswer = 7
    MsgBox(64," ","Отменено")
    Exit
EndSelect ; Конец сообщения (кнопки такие-же, как и в 1-ом сообщении)



While 1 ; Цикл поиска нацинается ТУТ!
$NewColorString = PixelGetColor ( $pos[0], $pos[1] ) ; Получаем цвет пикселя, ориентируясь на координаты, записанные РАНЕЕ в $pos
    If $color <> $NewColorString Then ; Сравнивает, отличается ли цвет (смотри выше, где устанавливается переменная $color и что это такое)
    TrayTip("Браво", "Цвет изменился!", 5, 1)
    ExitLoop ; Прерывание цикла поиска как только скрипт ОДИН раз найдет изменение цвета указанного пикселя
    Else
    TrayTip("Увы", "Ничего не менялось...", 5, 4)
    EndIF ; Конец условия
Sleep (100) ; Пауза, во избежании нагрузки (пауза указывается в миллисекундах)
Wend ; А ТУТ цикл поиска заканчивается!!!

MsgBox(48," ","Функция завершена!") ; Если цикл поиска прерывается, то ты увидешь это сообщение!
Exit ; Выход!
 
Верх