Author Topic: Помогите пожалуйста написать скрипт.  (Read 2317 times)

0 Members and 1 Guest are viewing this topic.

AlexOsscr

  • Зашел в гости
  • *
  • Posts: 3
    • View Profile
Здравствуйте.
Хоть убейте не получается написать скрипт... то тыкает без перерыва... то...
Помогите пожалуйста.

Условия скрипта:
1. Следить за пикселем (x1, y1) как он станет цветом (255) кликнуть по координатам (x2,y2) задержка 5сек.
2. Начать следить за пикселем (x3, y3) как он станет цветом (155) кликнуть по координатам (x4, y4) задержка 3сек. и кликнуть по координатам (x5, y5) задержка 10сек.
3. Переходим к первому пункту...
4. И вот еще... после того как скрипт выполнит 1 пункт, второй пиксель из пункта 2 может появиться как сразу так и в течении 20мин... а может и вообще не появится... и допустим если не появится пиксель из пункта 2 в течении 21 минуты то перейти к пункту 1...
5. и еще нюанс... после того как скрипт найдет пиксель 1 из пункта 1 то он не пропадет и не исчезнет пока не появится второй пиксель из пункта 2(не знаю важно это или нет)

У меня получается что скрипт постоянно тыкает по 1 пикселю или... Если честно не силен в программировании... а этот скрипт ну очень бы облегчил мне... эм... не не так... этот скрипт бы сохранил бы мне миллионы нервных клеток...
Заранее спасибо за Вашу любую помощь!

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Re: Помогите пожалуйста написать скрипт.
« Reply #1 on: April 09, 2019, 11:39:52 PM »
Code: (clickermann) [Select]
GETSCREEN
WHILE(PXL (x1, y1) ! 255) //Следить за пикселем (x1, y1) как он станет цветом (255)
   WAITMS (100)
   GETSCREEN
END_CYC

LCLICK(x2,y2)  // кликнуть по координатам (x2,y2)

wait(5)  // задержка 5сек


$time = $_time_t + 1260 // таймер на 21 минуту
GETSCREEN
WHILE((PXL (x3, y3) ! 155) & ($time > $_time_t)) //Начать следить за пикселем (x3, y3) как он станет цветом (155) & если не появится пиксель из пункта 2 в течении 21 минуты то перейти к пункту 1
   WAITMS (100)
   GETSCREEN
END_CYC

IF(PXL (x3, y3) = 155)  //выполнится только если найден пиксель (x3, y3)

   LCLICK(x4, y4)  // кликнуть по координатам (x4, y4)
   
   wait(3)  // задержка 3сек
   
   LCLICK(x5, y5)  // и кликнуть по координатам (x5, y5)
   
   wait(10)  // задержка 10сек
   
END_IF



//Переходим к первому пункту...

AlexOsscr

  • Зашел в гости
  • *
  • Posts: 3
    • View Profile
Re: Помогите пожалуйста написать скрипт.
« Reply #2 on: April 10, 2019, 11:42:49 AM »
Спасибо огромное. Вечером после работы попробую.
Эм... пара вопросов:
1. В скрипте есть пустые строки (6, 10,11 и т.д.) это так надо или просто для удобства? Тоесть я могу в любой момент пропустить строку и все будет норм?
2. И почти подобный вопрос в некоторых строках в начале строки стоят пробелы(например 3, 4, 15, 16 и т.д.) для чего они нужны? или тоже для удобства?
3. После символов // это просто коментарий? и он не учитывается скриптом?

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Помогите пожалуйста написать скрипт.
« Reply #3 on: April 10, 2019, 12:53:02 PM »
Спасибо огромное. Вечером после работы попробую.
Эм... пара вопросов:
1. В скрипте есть пустые строки (6, 10,11 и т.д.) это так надо или просто для удобства? Тоесть я могу в любой момент пропустить строку и все будет норм?
2. И почти подобный вопрос в некоторых строках в начале строки стоят пробелы(например 3, 4, 15, 16 и т.д.) для чего они нужны? или тоже для удобства?
3. После символов // это просто коментарий? и он не учитывается скриптом?

Да все пустые строки пробелы для визуального удобства при редактировании. В инструментах редактора есть "волшебная палочка" позволяющая автоматически расставлять отступы.

Когда скритп запускается интерпретатор удаляет для себя все пустые строки, все комментарии и переводит имена функций и переменных в верхний регистр. Поэтому для выполнения не важно как ты будешь оформлять код.

AlexOsscr

  • Зашел в гости
  • *
  • Posts: 3
    • View Profile
Re: Помогите пожалуйста написать скрипт.
« Reply #4 on: April 10, 2019, 04:17:03 PM »
Такой еще вопрос:
Code: [Select]
WHILE(PXL (x1, y1) ! 255) //Следить за пикселем (x1, y1) как он станет цветом (255)А можно как то указать диапазон цвета? Визуально цвет красный(допустим) но если навести курсор мыши на него то цифра отвечающая за цвет постоянно бегает и немного изменяется, конечно возвращается к тому цвету что указываешь...

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Помогите пожалуйста написать скрипт.
« Reply #5 on: April 10, 2019, 04:47:41 PM »
Такой еще вопрос:
Code: [Select]
WHILE(PXL (x1, y1) ! 255) //Следить за пикселем (x1, y1) как он станет цветом (255)А можно как то указать диапазон цвета? Визуально цвет красный(допустим) но если навести курсор мыши на него то цифра отвечающая за цвет постоянно бегает и немного изменяется, конечно возвращается к тому цвету что указываешь...

Для этого в кликере есть цветокоррекция

Пример используется обычно, для получения картинок поиска по изображению.
Code: (clickermann) [Select]
// Получение скриншота с цветокоррекцией (фильтр 6)
GETSCREEN
COLORMODE(6)
SCREENSHOTFIX(0,0, $_xmax,$_ymax, "Image.bmp", 0)
HALT

Из этого снимка берем цвет. В своем скрипте также применяем COLORMODE(6) после GETSCREEN

Если задача состоит только в получении скорректированного цвета то можно обойтись и без скриншотов. Для этого включаем лупу и изменяем цветокоррекцию лупы % 0 до нужного уровня.
« Last Edit: April 10, 2019, 04:56:05 PM by Oraven »

Космич

  • Активный участник
  • ***
  • Posts: 265
    • View Profile
Re: Помогите пожалуйста написать скрипт.
« Reply #6 on: April 10, 2019, 05:00:53 PM »
Если COLORMODE не поможет, то можно вот так



Code: (clickermann) [Select]
GETSCREEN($_xmap - 193, $_ymap + $threat_level, $_xmap - 193, $_ymap + $threat_level)
$color_bar = PXL($_xmap - 193, $_ymap + $threat_level)
IF( (COLORR($color_bar) == 255) & ( (COLORG($color_bar) >= 102) & (COLORG($color_bar) <= 237) ) & ( (COLORB($color_bar) >= 0) & (COLORB($color_bar) <= 153) ) )
// ....
END_IF
«Иногда ты ваяешь до тех пор, пока до тебя не дойдёт, что именно ты делаешь.»