Author Topic: Проверка условия  (Read 1727 times)

0 Members and 1 Guest are viewing this topic.

emulzone

  • Зашел в гости
  • *
  • Posts: 2
    • View Profile
Проверка условия
« on: October 15, 2014, 09:18:15 PM »
Здравствуйте, я первый день занимаюсь с программой Clickermann, она интересная и функциональнее, чем та, которой я пользовался ранее(EasyScript Editor) и у меня появились некоторые вопросы по теме, касающейся проверки условия, конкретного ответа на которые я пока что не нашел. Я создаю скрипт для крафта в игре, все вроде идет нормально, но не могу додумать, как заставить условие выполняться несколько раз, т.е. до положительного результата и после он должен просто выполняться. Вот пример: (результат при крафте либо получиться либо нет)
[spoiler]MOVE(1893,666)
GETSCREEN
COLORMODE(7,1893,666,1893,666)
IF(PXL(1893,666) = 16777215)
   WAITMS(1000)
   MOVE(1635,165)
   LDOWN(1635,165)
   MOVE(1635,275)
   WAITMS(100)
   MOVE(1635,545)
   LUP(1635,545)
   MOVE(1670,165)
   LDOWN(1670,165)
   MOVE(1670,275)
   WAITMS(100)
   MOVE(1670,545)
   LUP(1670,545)
   WAITMS(100)
   MOVE(1600,130)
   LDOWN(1600,130)
   MOVE(1600,275)
   WAITMS(100)
   MOVE(1600,545)
   LUP(1600,545)
   WAITMS(100)
   KEYPRESS(#1)
   MOVE(1118,513)
   LCLICK(1118,513)
   WAITMS(100)
   MOVE(1635,130)
   LDOWN(1635,130)
   MOVE(1635,275)
   WAITMS(100)
   MOVE(1635,545)
   LUP(1635,545)
   WAITMS(100)
   KEYPRESS(#1)
   MOVE(1118,513)
   WAITMS(100)
   LCLICK(1118,513)
   WAITMS(100)
   MOVE(1295,695)
   LCLICK(1295,695)
   WAITMS(2500)
ELSE
   MOVE(1894,666)
   GETSCREEN
   COLORMODE(7,1894,666,1894,666)
   IF(PXL(1894,666) = 8355839)
      WAITMS(1000)
      MOVE(1600,165)
      LDOWN(1600,165)
      MOVE(1600,275)
      WAITMS(100)
      MOVE(1600,545)
      LUP(1600,545)
      MOVE(1635,165)
      LDOWN(1635,165)
      MOVE(1635,275)
      WAITMS(100)
      MOVE(1635,545)
      LUP(1635,545)
      MOVE(1600,130)
      LDOWN(1600,130)
      MOVE(1600,275)
      WAITMS(100)
      MOVE(1600,545)
      LUP(1600,545)
      WAITMS(100)
      KEYPRESS(#1)
      MOVE(1118,513)
      LCLICK(1118,513)
      WAITMS(100)
      MOVE(1635,130)
      LDOWN(1635,130)
      MOVE(1635,275)
      WAITMS(100)
      MOVE(1635,545)
      LUP(1635,545)
      WAITMS(100)
      KEYPRESS(#1)
      MOVE(1118,513)
      WAITMS(100)
      LCLICK(1118,513)
      WAITMS(100)
      MOVE(1295,695)
      LCLICK(1295,695)
      WAITMS(2500)
   END_IF
[/spoiler]
Буду благодарен за любую помощь и наставления =)

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Проверка условия
« Reply #1 on: October 15, 2014, 09:33:05 PM »
Там у тебя не хватает END_IF в конце

Просто меняем условие на цикл с условием WHILE
И цикл будет крутиться пока цвет по координатам верен.
Code: (clickermann) [Select]
MOVE(1893,666)
GETSCREEN
COLORMODE(7,1893,666,1893,666)
IF(PXL(1893,666) = 16777215)
   WAITMS(1000)
   MOVE(1635,165)
   LDOWN(1635,165)
   MOVE(1635,275)
   WAITMS(100)
   MOVE(1635,545)
   LUP(1635,545)
   MOVE(1670,165)
   LDOWN(1670,165)
   MOVE(1670,275)
   WAITMS(100)
   MOVE(1670,545)
   LUP(1670,545)
   WAITMS(100)
   MOVE(1600,130)
   LDOWN(1600,130)
   MOVE(1600,275)
   WAITMS(100)
   MOVE(1600,545)
   LUP(1600,545)
   WAITMS(100)
   KEYPRESS(#1)
   MOVE(1118,513)
   LCLICK(1118,513)
   WAITMS(100)
   MOVE(1635,130)
   LDOWN(1635,130)
   MOVE(1635,275)
   WAITMS(100)
   MOVE(1635,545)
   LUP(1635,545)
   WAITMS(100)
   KEYPRESS(#1)
   MOVE(1118,513)
   WAITMS(100)
   LCLICK(1118,513)
   WAITMS(100)
   MOVE(1295,695)
   LCLICK(1295,695)
   WAITMS(2500)
ELSE
   COLORMODE(7,1894,666,1894,666)
   WHILE(PXL(1894,666) = 8355839)
      WAITMS(1000)
      MOVE(1600,165)
      LDOWN(1600,165)
      MOVE(1600,275)
      WAITMS(100)
      MOVE(1600,545)
      LUP(1600,545)
      MOVE(1635,165)
      LDOWN(1635,165)
      MOVE(1635,275)
      WAITMS(100)
      MOVE(1635,545)
      LUP(1635,545)
      MOVE(1600,130)
      LDOWN(1600,130)
      MOVE(1600,275)
      WAITMS(100)
      MOVE(1600,545)
      LUP(1600,545)
      WAITMS(100)
      KEYPRESS(#1)
      MOVE(1118,513)
      LCLICK(1118,513)
      WAITMS(100)
      MOVE(1635,130)
      LDOWN(1635,130)
      MOVE(1635,275)
      WAITMS(100)
      MOVE(1635,545)
      LUP(1635,545)
      WAITMS(100)
      KEYPRESS(#1)
      MOVE(1118,513)
      WAITMS(100)
      LCLICK(1118,513)
      WAITMS(100)
      MOVE(1295,695)
      LCLICK(1295,695)
      WAITMS(2500)
      GETSCREEN
      COLORMODE(7,1894,666,1894,666)
   END_CYC
END_IF

Похоже что две части похожи но с небольшими отличиями в координатах.
« Last Edit: October 15, 2014, 09:36:16 PM by Oraven »

emulzone

  • Зашел в гости
  • *
  • Posts: 2
    • View Profile
Re: Проверка условия
« Reply #2 on: October 15, 2014, 09:47:24 PM »
Спасибо за столь быстрый ответ. Вы правы, в первом условии крафт прошел успешно, во втором не успешно. Попробую воспользоваться вашей подсказкой по циклу с условием WHILE.