Автокликер Clickermann :: Форум

Основной раздел => Общие вопросы => Topic started by: emulzone on October 15, 2014, 09:18:15 PM

Title: Проверка условия
Post by: emulzone 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]
Буду благодарен за любую помощь и наставления =)
Title: Re: Проверка условия
Post by: Oraven 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

Похоже что две части похожи но с небольшими отличиями в координатах.
Title: Re: Проверка условия
Post by: emulzone on October 15, 2014, 09:47:24 PM
Спасибо за столь быстрый ответ. Вы правы, в первом условии крафт прошел успешно, во втором не успешно. Попробую воспользоваться вашей подсказкой по циклу с условием WHILE.