Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: Bukasch on May 28, 2022, 03:31:00 AM
-
Всем привет, не могу понять как написать скрипт. В кратце о скрипте:
Есть 4 точки каждая из которых меняет цвет с зеленого на красный. Когда к примеру на точке 1 пиксель становится зеленым запускается мой сценарии после ждем красный и тоже запускаем сценарий и так по кругу. Токо для 4 точек
Я пришол к этому, это для одной точки.
WAIT(3)
GETSCREEN
WHILE(PXL (1185, 580) ! 13297609) // ждем зеленый
WAITMS (100)
GETSCREEN
END_CYC
// Мой сценарий
GETSCREEN
WHILE(PXL (1185, 580) ! 1700990) // ждем красный
WAITMS (100)
GETSCREEN
END_CYC
// Мой сценарий
Не знаю как сделать для 4 и чтобы они работали независемо друг от друга.
-
Сдается у нас очередная рулетка :D
Вижу у автора с языком плоховато, поэтому от просившихся сюда подпрограмм пришол :o к более простому варианту Помоши. ???
#name "скрипт - Ждун"
//вместо 100,100 вписать координаты проверяемых пикселей!
GETSCREEN
IF($var1=0)
IF(PXL(1185,580)=13297609) // ждем зеленый
LOGWRITE ("зеленый 1")
$var1=1
// Мой сценарий
END_IF
ELSE
IF(PXL(1185,580)=1700990) // ждем красный
LOGWRITE ("красный 1")
$var1=0
// Мой сценарий
END_IF
END_IF
IF($var2=0)
IF(PXL(100,100)=13297609) // ждем зеленый
LOGWRITE ("зеленый 2")
$var2=1
// Мой сценарий
END_IF
ELSE
IF(PXL(100,100)=1700990) // ждем красный
LOGWRITE ("красный 2")
$var2=0
// Мой сценарий
END_IF
END_IF
IF($var3=0)
IF(PXL(100,100)=13297609) // ждем зеленый
LOGWRITE ("зеленый 3")
$var3=1
// Мой сценарий
END_IF
ELSE
IF(PXL(100,100)=1700990) // ждем красный
LOGWRITE ("красный 3")
$var3=0
// Мой сценарий
END_IF
END_IF
IF($var4=0)
IF(PXL(100,100)=13297609) // ждем зеленый
LOGWRITE ("зеленый 4")
$var4=1
// Мой сценарий
END_IF
ELSE
IF(PXL(100,100)=1700990) // ждем красный
LOGWRITE ("красный 4")
$var4=0
// Мой сценарий
END_IF
END_IF
WAITMS(100)
-
Сдается у нас очередная рулетка :D
Вижу у автора с языком плоховато, поэтому от просившихся сюда подпрограмм пришол :o к более простому варианту Помоши. ???
#name "скрипт - Ждун"
//вместо 100,100 вписать координаты проверяемых пикселей!
GETSCREEN
IF($var1=0)
IF(PXL(1185,580)=13297609) // ждем зеленый
LOGWRITE ("зеленый 1")
$var1=1
// Мой сценарий
END_IF
ELSE
IF(PXL(1185,580)=1700990) // ждем красный
LOGWRITE ("красный 1")
$var1=0
// Мой сценарий
END_IF
END_IF
IF($var2=0)
IF(PXL(100,100)=13297609) // ждем зеленый
LOGWRITE ("зеленый 2")
$var2=1
// Мой сценарий
END_IF
ELSE
IF(PXL(100,100)=1700990) // ждем красный
LOGWRITE ("красный 2")
$var2=0
// Мой сценарий
END_IF
END_IF
IF($var3=0)
IF(PXL(100,100)=13297609) // ждем зеленый
LOGWRITE ("зеленый 3")
$var3=1
// Мой сценарий
END_IF
ELSE
IF(PXL(100,100)=1700990) // ждем красный
LOGWRITE ("красный 3")
$var3=0
// Мой сценарий
END_IF
END_IF
IF($var4=0)
IF(PXL(100,100)=13297609) // ждем зеленый
LOGWRITE ("зеленый 4")
$var4=1
// Мой сценарий
END_IF
ELSE
IF(PXL(100,100)=1700990) // ждем красный
LOGWRITE ("красный 4")
$var4=0
// Мой сценарий
END_IF
END_IF
WAITMS(100)
Спасибо за ответ. Возникла проблема с тем что некоторые пиксели в указаных координатах просто мигают (появляются и исчезают) в этом случае выполнениее сценария бесмыслено. А нужно учитывать те которые появились и не исчезли ну или хотябы продержались некоторое время 10-15с. Есть ли такая функция?
-
Естественно, что такой специфической функции нет. Нежно скриптом засекать время при нахождении и ждать по таймеру исчезнет за отведённое время или нет.
-
Спасибо за ответ. Возникла проблема с тем что некоторые пиксели в указаных координатах просто мигают (появляются и исчезают) в этом случае выполнениее сценария бесмыслено. А нужно учитывать те которые появились и не исчезли ну или хотябы продержались некоторое время 10-15с. Есть ли такая функция?
#name "просто мигають"
$var=10 // указать некоторое время в секундах
GETSCREEN
WAITMS(500)
THREAD(name1, 1)
IF($var1=0)
IF(PXL(1185,580)=13297609) // ждем зеленый
WAIT($var)
IF(PXL(1185,580)=13297609)
LOGWRITE ("зеленый 1")
$var1=1
// Мой сценарий
END_IF
END_IF
ELSE
IF(PXL(1185,580)=1700990) // ждем красный
WAIT($var)
IF(PXL(1185,580)=1700990) // ждем красный
LOGWRITE ("красный 1")
$var1=0
// Мой сценарий
END_IF
END_IF
END_IF
WAITMS(100)
END_THREAD
THREAD(name2, 1)
IF($var2=0)
IF(PXL(100,100)=13297609) // ждем зеленый вместо 100,100 вписать координаты проверяемых пикселей!
WAIT($var)
IF(PXL(100,100)=13297609) // ждем зеленый
LOGWRITE ("зеленый 2")
$var2=1
// Мой сценарий
END_IF
END_IF
ELSE
IF(PXL(100,100)=1700990) // ждем красный
WAIT($var)
IF(PXL(100,100)=1700990) // ждем красный
LOGWRITE ("красный 2")
$var2=0
// Мой сценарий
END_IF
END_IF
END_IF
WAITMS(100)
END_THREAD
THREAD(name3, 1)
IF($var3=0)
IF(PXL(100,100)=13297609) // ждем зеленый
WAIT($var)
IF(PXL(100,100)=13297609) // ждем зеленый
LOGWRITE ("зеленый 3")
$var3=1
// Мой сценарий
END_IF
END_IF
ELSE
IF(PXL(100,100)=1700990) // ждем красный
WAIT($var)
IF(PXL(100,100)=1700990) // ждем красный
LOGWRITE ("красный 3")
$var3=0
// Мой сценарий
END_IF
END_IF
END_IF
WAITMS(100)
END_THREAD
THREAD(name4, 1)
IF($var4=0)
IF(PXL(100,100)=13297609) // ждем зеленый
WAIT($var)
IF(PXL(100,100)=13297609) // ждем зеленый
LOGWRITE ("зеленый 4")
$var4=1
// Мой сценарий
END_IF
END_IF
ELSE
IF(PXL(100,100)=1700990) // ждем красный
WAIT($var)
IF(PXL(100,100)=1700990) // ждем красный
LOGWRITE ("красный 4")
$var4=0
// Мой сценарий
END_IF
END_IF
END_IF
WAITMS(100)
END_THREAD
-
Естественно, что такой специфической функции нет. Нежно скриптом засекать время при нахождении и ждать по таймеру исчезнет за отведённое время или нет.
Простите меня за мою назойливость, но можете написать как это будет выгледеть здесь.
GETSCREEN
WHILE(PXL (100, 100) ! 255)
WAITMS (100)
GETSCREEN
END_CYC
-
Естественно, что такой специфической функции нет. Нежно скриптом засекать время при нахождении и ждать по таймеру исчезнет за отведённое время или нет.
Простите меня за мою назойливость, но можете написать как это будет выгледеть здесь.
GETSCREEN
WHILE(PXL (100, 100) ! 255)
WAITMS (100)
GETSCREEN
END_CYC
Нет это Вы меня простите, не понимаю, какое отношение ваш пример может иметь к вашей теме и чем не устроил готовый код?
-
Естественно, что такой специфической функции нет. Нежно скриптом засекать время при нахождении и ждать по таймеру исчезнет за отведённое время или нет.
Простите меня за мою назойливость, но можете написать как это будет выгледеть здесь.
GETSCREEN
WHILE(PXL (100, 100) ! 255)
WAITMS (100)
GETSCREEN
END_CYC
Нет это Вы меня простите, не понимаю, какое отношение ваш пример может иметь к вашей теме и чем не устроил готовый код?
Готовы код меня устроил, просто я хочу применить этот таймер к другим скриптам.
-
Готовы код меня устроил, просто я хочу применить этот таймер к другим скриптам.
В вашем коде нет таймера, это цикл ожидания, пока указанный пиксель не станет заданного цвета.
-
Спасибо за ответ. Возникла проблема с тем что некоторые пиксели в указаных координатах просто мигают (появляются и исчезают) в этом случае выполнениее сценария бесмыслено. А нужно учитывать те которые появились и не исчезли ну или хотябы продержались некоторое время 10-15с. Есть ли такая функция?
#name "просто мигають"
$var=10 // указать некоторое время в секундах
GETSCREEN
WAITMS(500)
THREAD(name1, 1)
IF($var1=0)
IF(PXL(1185,580)=13297609) // ждем зеленый
WAIT($var)
IF(PXL(1185,580)=13297609)
LOGWRITE ("зеленый 1")
$var1=1
// Мой сценарий
END_IF
END_IF
ELSE
IF(PXL(1185,580)=1700990) // ждем красный
WAIT($var)
IF(PXL(1185,580)=1700990) // ждем красный
LOGWRITE ("красный 1")
$var1=0
// Мой сценарий
END_IF
END_IF
END_IF
WAITMS(100)
END_THREAD
THREAD(name2, 1)
IF($var2=0)
IF(PXL(100,100)=13297609) // ждем зеленый вместо 100,100 вписать координаты проверяемых пикселей!
WAIT($var)
IF(PXL(100,100)=13297609) // ждем зеленый
LOGWRITE ("зеленый 2")
$var2=1
// Мой сценарий
END_IF
END_IF
ELSE
IF(PXL(100,100)=1700990) // ждем красный
WAIT($var)
IF(PXL(100,100)=1700990) // ждем красный
LOGWRITE ("красный 2")
$var2=0
// Мой сценарий
END_IF
END_IF
END_IF
WAITMS(100)
END_THREAD
THREAD(name3, 1)
IF($var3=0)
IF(PXL(100,100)=13297609) // ждем зеленый
WAIT($var)
IF(PXL(100,100)=13297609) // ждем зеленый
LOGWRITE ("зеленый 3")
$var3=1
// Мой сценарий
END_IF
END_IF
ELSE
IF(PXL(100,100)=1700990) // ждем красный
WAIT($var)
IF(PXL(100,100)=1700990) // ждем красный
LOGWRITE ("красный 3")
$var3=0
// Мой сценарий
END_IF
END_IF
END_IF
WAITMS(100)
END_THREAD
THREAD(name4, 1)
IF($var4=0)
IF(PXL(100,100)=13297609) // ждем зеленый
WAIT($var)
IF(PXL(100,100)=13297609) // ждем зеленый
LOGWRITE ("зеленый 4")
$var4=1
// Мой сценарий
END_IF
END_IF
ELSE
IF(PXL(100,100)=1700990) // ждем красный
WAIT($var)
IF(PXL(100,100)=1700990) // ждем красный
LOGWRITE ("красный 4")
$var4=0
// Мой сценарий
END_IF
END_IF
END_IF
WAITMS(100)
END_THREAD
А можно строки с ожиданием цвета заменить на строки с ожиданием картинки? на подобие этого
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "bab.bmp", -1, 100) чтобы скрипт ждал появление картинки и когда картинка появится после 10 секунд начинается мой сценарий. Я пробывал подстовлять эту строчку в скрипт но он не работает.