Author Topic: Нужна помощь в создании скрипта, или "Алло! Бэн!? Это Данила! I need help!"  (Read 4981 times)

0 Members and 2 Guests are viewing this topic.

Casp

  • Зашел в гости
  • *
  • Posts: 8
    • View Profile
Ребят помогите!
Нужен скрипт который при высвечивании определенного цвета на определенной части экрана делал одни действия а при другом цвете другие до тех пока не появится первый цвет, потом делал все с первого цвета, ну очень нужно. Замудренно может написал...

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Code: (clickermann) [Select]
GETSCREEN
IF(PXL(100,100) = 255)
   // тут одни действия
   WAITMS(100)
ELSE
   IF(PXL(600,600) = 16777215)
      // тут другие действия
      WAITMS(100)
   END_IF
END_IF
WAITMS(50)

Casp

  • Зашел в гости
  • *
  • Posts: 8
    • View Profile
Code: [Select]
GETSCREEN
IF(PXL(766,425) = 3407667)
   // тут одни действия
LCLICK(762,387)
   
   WAITMS(100)
ELSE
   IF(PXL(766,425) = 6711039)
      // тут другие действия
LCLICK(576,401)
WAITMS(100)
LCLICK(762,387)
      WAITMS(100)
   END_IF
END_IF
WAITMS(50)
Правильно?
Если один цвет то жмем в одно место а если другой то в другое и опять в то.

НО!
Нужно еще чтоб после того как второй цвет изменился на первый нажатие прошло на доп кнопку, как добавить?

дед иван

  • Освоившийся
  • **
  • Posts: 53
    • View Profile
проще добавить поиск ещо кнопки  если она есть то клик по ней

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Code: (clickermann) [Select]
GETSCREEN
IF(PXL(766,425) = 3407667)
   // тут одни действия
   LCLICK(762,387)
   WAITMS(100)
   IF($dop = 1)
      // здесь доп кнопка
   END_IF
ELSE
   IF(PXL(766,425) = 6711039)
      // тут другие действия
      $dop = 1 // включаем условие
      LCLICK(576,401)
      WAITMS(100)
      LCLICK(762,387)
      WAITMS(100)
   END_IF
END_IF
WAITMS(50)

Casp

  • Зашел в гости
  • *
  • Posts: 8
    • View Profile
Code: (clickermann) [Select]
GETSCREEN
IF(PXL(766,425) = 3407667)
   // тут одни действия
   LCLICK(762,387)
   WAITMS(100)
   IF($dop = 1)
      // здесь доп кнопка
   END_IF
ELSE
   IF(PXL(766,425) = 6711039)
      // тут другие действия
      $dop = 1 // включаем условие
      LCLICK(576,401)
      WAITMS(100)
      LCLICK(762,387)
      WAITMS(100)
   END_IF
END_IF
WAITMS(50)
По моему что то не то, в общем есть по сути три кнопки:
Назовем их:
№1
№2
№3
Задача:
Кнопка №1 жмется раз, и если цвет после нажатия зеленый то нажимается кнопка №1 снова. И так до тех пор пока цвет не изменится на красный.
Если цвет красный то нажимается кнопка №2 потом №1, но если цвет после этого нажатия опять красный то действие повторяется "нажимается кнопка №2 потом №1" и так до тех пор пока цвет не станет зеленый, тут очень важно: если кнопка после красного, то нужно нажать кнопку №3 и стартануть цикл сначала при всех тех же условиях.
Жесть, пишу вроде понятно, но по моему запутался.

дед иван

  • Освоившийся
  • **
  • Posts: 53
    • View Profile
напишы ты уже не на 2 а на 3)




GETSCREEN//1 кнопка
IF(PXL(766,425) = 3407667)
   // тут одни действия
   LCLICK(762,387)
   WAITMS(100)
   END_IF
GETSCREEN//2 кнопка
IF(PXL(766,425) = 6711039)
   // тут другие действия
   LCLICK(576,401)
      WAITMS(100)
      LCLICK(762,387)
      WAITMS(100)
   END_IF
GETSCREEN//3 кнопка
IF(PXL(x,y) = цвет)
   // тут третие действия
 
   WAITMS(100)
   END_IF
WAITMS(50)
« Last Edit: October 25, 2015, 09:00:16 PM by дед иван »

Casp

  • Зашел в гости
  • *
  • Posts: 8
    • View Profile
напишы ты уже не на 2 а на 3)




GETSCREEN//1 кнопка
IF(PXL(766,425) = 3407667)
   // тут одни действия
   LCLICK(762,387)
   WAITMS(100)
   END_IF
GETSCREEN//2 кнопка
IF(PXL(766,425) = 6711039)
   // тут другие действия
   LCLICK(576,401)
      WAITMS(100)
      LCLICK(762,387)
      WAITMS(100)
   END_IF
GETSCREEN//3 кнопка
IF(PXL(x,y) = цвет)
   // тут третие действия
 
   WAITMS(100)
   END_IF
WAITMS(50)
Чет тут не то, можно конечно кнопки пропикселить так сказать, третей кнопке не важен цвет, можно просто нажатие на ней, вроде все понимаю как должно быть, оформить не могу

дед иван

  • Освоившийся
  • **
  • Posts: 53
    • View Profile
она выскакивает разного цвета или в разных места????
если нет то просто зделай третий кнопке то что 1 и 2 поиск пикселя если найден нажымаем вот и вся проблема а если а разных местах то зделай поиск картинки если же и цвет разный то clormode(6) и все будет ок
зделай скрины что тебе нужно и как оно выгледит если сам неможеш написать

Casp

  • Зашел в гости
  • *
  • Posts: 8
    • View Profile
Сейчас сам для себя буду писать и разбираться, поправите если что где не так:
Code: [Select]
GETSCREEN//1 условие
IF(PXL(766,425) = 3407667)
   // действия
   LCLICK(762,387)
   WAITMS(100)
   END_IF

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

Code: [Select]
GETSCREEN//2 условие
IF(PXL(766,425) = 6711039)
   // действия
   LCLICK(576,401)
      WAITMS(100)
      LCLICK(762,387)
      WAITMS(100)
   END_IF
Если у пикселя этот цвет то происходит нажатие левой кнопки мыши в определенный пиксель и потом в другой, правильно?

дед иван

  • Освоившийся
  • **
  • Posts: 53
    • View Profile
GETSCREEN//1 условие
IF(PXL(766,425) = 3407667)//если здесь этот цвет то ...
   // действия
   LCLICK(762,387)//...делает то что ты здесь напишеш
   WAITMS(100)
   END_IF
//в независемости от результата идет дальше тоисть  сюда...
GETSCREEN//2 условие
IF(PXL(766,425) = 6711039)//проверяет если так то...
   // действия
   LCLICK(576,401)//.....делает вот это действие
      WAITMS(100)
      LCLICK(762,387)
      WAITMS(100)
   END_IF
//если это весь скрипт и нет Halt то возвращаетса проверять 1 действия и так пока не выключеш..

Casp

  • Зашел в гости
  • *
  • Posts: 8
    • View Profile
GETSCREEN//1 условие
IF(PXL(766,425) = 3407667)//если здесь этот цвет то ...
   // действия
   LCLICK(762,387)//...делает то что ты здесь напишеш
   WAITMS(100)
   END_IF
//в независемости от результата идет дальше тоисть  сюда...
GETSCREEN//2 условие
IF(PXL(766,425) = 6711039)//проверяет если так то...
   // действия
   LCLICK(576,401)//.....делает вот это действие
      WAITMS(100)
      LCLICK(762,387)
      WAITMS(100)
   END_IF
//если это весь скрипт и нет Halt то возвращаетса проверять 1 действия и так пока не выключеш..
Отлично! только я пропустил один момент, ща выяснилось, как сделать чтоб если был второй цвет и он изменился на первый то перед тем как переходить к первому действию нажималась кнопка №4 - в рот ей ноги Условие, ТОЛЬКО после того как закончилась череда второго цвета.

дед иван

  • Освоившийся
  • **
  • Posts: 53
    • View Profile
GETSCREEN
IF(PXL(766,425) = 3407667)
   // тут одни действия
   LCLICK(762,387)
   WAITMS(100)
   IF($dop = 1)
      // здесь кнопка №4
   END_IF
END_IF
GETSCREEN
   IF(PXL(766,425) = 6711039)
      // тут другие действия
      $dop = 1 // включаем условие
      LCLICK(576,401)
      WAITMS(100)
      LCLICK(762,387)
      WAITMS(100)
   
END_IF


вроде должно работать

Casp

  • Зашел в гости
  • *
  • Posts: 8
    • View Profile

GETSCREEN
IF(PXL(766,425) = 3407667)
   // тут одни действия
   LCLICK(762,387)
   WAITMS(100)
   IF($dop = 1)
      // здесь кнопка №4 (тоесть если срабатывает то условие что ниже? то нажимается кнопка №4)
   END_IF
END_IF
GETSCREEN
   IF(PXL(766,425) = 6711039)
      // тут другие действия
      $dop = 1 // включаем условие (какое условие?)
      LCLICK(576,401)
      WAITMS(100)
      LCLICK(762,387)
      WAITMS(100)
   
END_IF

дед иван

  • Освоившийся
  • **
  • Posts: 53
    • View Profile
GETSCREEN
IF(PXL(766,425) = 3407667)//тоисть это1
   // тут одни действия
   LCLICK(762,387)
   WAITMS(100)
   IF($dop = 1)//вот сам запуск того что ты здесь ......................
      // здесь кнопка №4 (тоесть если срабатывает то условие что ниже? то нажимается кнопка №4)
   END_IF
END_IF
GETSCREEN
   IF(PXL(766,425) = 6711039)//когда срабатывает это ...
      // тут другие действия
      $dop = 1 // включаем условие (какое условие?)    .... включетса дополнительное условие а оно внас срабатывает если //срабатыват 1              .................. здесь включил
      LCLICK(576,401)
      WAITMS(100)
      LCLICK(762,387)
      WAITMS(100)
   
END_IF