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

Основной раздел => Общие вопросы => Topic started by: xxxmaximal on July 03, 2014, 02:38:16 AM

Title: Мне надо что-бы работало 2 цикла одновременно
Post by: xxxmaximal on July 03, 2014, 02:38:16 AM
Этот код водит по экрану пока не изменится курсор на меч после чего агрится
После он забивая на все (мне нужно что бы он хилки пил)
Код питья хилок
Code: [Select]
IF_PIXEL_IN(682,1025,724,1032, 1579032) // ïðîâåðêà íàíåæåëàòåëüíûé ïèêñåëü
WAITMS(50)
KEYPRESS(#F3)   
Else
WAITMS(100)
END_IF
IF_PIXEL_IN(779,1025,832,1033, 1579032)
WAITMS(50)
KEYPRESS(#F1)   
Else
WAITMS(100)
END_IF
END_IF
wait(1)

Код поиска мобов
Code: [Select]
for($y=138,$y<854,100)
   for($x=240,$x<1791,30)
      move($x,$y)
      IF($_cursor = 15) // выход из цикла и другие действия            //185(меч)
   break
LDOWN($x,$y)
waitms(100)
RCLICK($x,$y)
waitms(100) 
LUP($x,$y)
wait(20)
      END_IF
      waitms(64)
   end_cyc
end_cyc
KEYDOWN(#D)
wait(1)
KEYUP(#D)

Ps. Пока что единственным способом вижу включать 2 кликермана ,но хотелось бы через один
Title: Re: Мне надо что-бы работало 2 цикла одновременно
Post by: Vint on July 03, 2014, 07:46:47 AM
А зачем там break и пауза 20 секунд?
Естественно будет забивать.
В чём проблема поставить последовательно?
Title: Re: Мне надо что-бы работало 2 цикла одновременно
Post by: xxxmaximal on July 03, 2014, 08:50:37 AM
проверять должно хп постоянно так то
break чтобы мышка остановилась и нажала туда где остановилась
Без break он без остановки идет и при нажатии не попадает уже в моба
Title: Re: Мне надо что-бы работало 2 цикла одновременно
Post by: Vint on July 03, 2014, 10:23:30 AM
проверять должно хп постоянно так то
break чтобы мышка остановилась и нажала туда где остановилась
Без break он без остановки идет и при нажатии не попадает уже в моба
Так, а break при чём если тебе нужно выйти из циклов? Это совсем другая команда (в кликермэне).
Делай чтобы условия не выполнялись больше
Code: (clickermann) [Select]
      IF($_cursor = 15) // выход из цикла и другие действия            //185(меч)
LDOWN($x,$y)
waitms(100)
                        ...
                        $x = 10000
                        $y = 10000
Title: Re: Мне надо что-бы работало 2 цикла одновременно
Post by: xxxmaximal on July 03, 2014, 10:34:48 AM
я кажется понял что вы написали
 $x = 10000
 $y = 10000
это чтобы закончился цикл (я так понял это надо в самом конце писать , что бы я смог LDOWN($x,$y) вписать , потому что по идее то как вы написали то у меня  зажмется по координатам 10000,10000)

В общем вопрос тот же , как сделать что-бы работали 2 цикла одновременно for и IF_PIXEL_IN // сейчас попытаюсь кое что сделать и если что получится изменю сообщение
Я думал что он будет хилиться все время во время цикла for но , если он находит моба то он переходит к циклу if cursor и забивает на хил т.к это уже пройдено программой подскажите куда вставить чтобы он постоянно хилился либо как сделать что бы 2 цикла одновременно работали
Code: (clickermann) [Select]
GETSCREEN 
for($y=138,$y<854,100)
   for($x=240,$x<1791,30)
      move($x,$y)
/// с этого момента идет хилка
      IF_PIXEL_IN(730,1025,840,1033, 1579032)
     WAITMS(10)
KEYPRESS(#F1)   
   Else
      WAITMS(10)
   END_IF
   IF_PIXEL_IN(682,1025,724,1032, 1579032) // проверка на нежелательный пиксель
      WAITMS(10)
KEYPRESS(#F3)   
   Else
      WAITMS(10)
   END_IF
/// проверять хп перестает , тоесть если он находит курсор 173 то он не будет хилиться во время нижних действий (мне надо что бы он постоянно проверял hp)
      IF($_cursor = 173) // выход из цикла и другие
      waitms(64)
LDOWN($x,$y)
waitms(100)
RCLICK($x,$y)
waitms(100) 
LUP($x,$y)
wait(2)
KEYPRESS(#F5)
waitms(64)
KEYPRESS(#F5)
waitms(64)
KEYPRESS(#E)
waitms(64)
KEYPRESS(#E)
wait(14)
$x=10000
$y=10000
      END_IF
      waitms(64)
   end_cyc
end_cyc
KEYDOWN(#D)
wait(1)
KEYUP(#D)

 // стоп

Title: Re: Мне надо что-бы работало 2 цикла одновременно
Post by: Oraven on July 03, 2014, 12:01:58 PM
Можно вынести код в подпрограмму и вызывать в нужном месте. За место WAIT(14) мы сделаем цикл на 14 секунд с постоянным вызовом проверки.

Code: (clickermann) [Select]
SUB(хилка)
   GETSCREEN
   IF_PIXEL_IN(730,1025,840,1033, 1579032)
      WAITMS(10)
      KEYPRESS(#F1)
   Else
      WAITMS(10)
   END_IF
   IF_PIXEL_IN(682,1025,724,1032, 1579032) // проверка на нежелательный пиксель
      WAITMS(10)
      KEYPRESS(#F3)
   Else
      WAITMS(10)
   END_IF
END_SUB

for($y=138,$y<854,100)
   for($x=240,$x<1791,30)
      move($x,$y)
      /// с этого момента идет хилка
      хилка() // проверка хилки
     
      IF($_cursor = 173) // выход из цикла и другие
         waitms(64)
         LDOWN($x,$y)
         waitms(100)
         RCLICK($x,$y)
         waitms(100)
         LUP($x,$y)
         wait(2)
         хилка() // проверка хилки
         KEYPRESS(#F5)
         waitms(64)
         KEYPRESS(#F5)
         waitms(64)
         KEYPRESS(#E)
         waitms(64)
         KEYPRESS(#E)
         
         $time = $_time_t + 14
         WHILE($time > $_time_t) // цикл на 14 секунд
            waitms(64)
            хилка() // проверка хилки
            waitms(64)
         END_CYC
         
         $x=10000
         $y=10000
      END_IF
      waitms(64)
   end_cyc
end_cyc
KEYDOWN(#D)
wait(1)
KEYUP(#D)
Title: Re: Мне надо что-бы работало 2 цикла одновременно
Post by: xxxmaximal on July 03, 2014, 03:38:52 PM
Спасибо
Я тоже думал так сделать но было бы слишком много букв
Не знал как процедуры тут делать
Title: Re: Мне надо что-бы работало 2 цикла одновременно
Post by: xxxmaximal on July 03, 2014, 05:03:45 PM
Подскажите как сделать что-бы юзал банки(бафы допустим каждые 15 минут)
Code: (clickermann) [Select]
IF($F1_time < $_ms)
   KEYPRESS(#F1)
WAITMS(50) 
   $F1_time = $_ms+10000
END_IF
По идее этот код
не пойму просто как вставить чтобы мои микро задержки не влияли на него (не знаю влияют ли вообще)
Ps.все таки есть что-то чтобы функции одновременно выполнялись кроме запуска 2-х кликеров
Title: Re: Мне надо что-бы работало 2 цикла одновременно
Post by: Vint on July 03, 2014, 05:24:49 PM
Подскажите как сделать что-бы юзал банки(бафы допустим каждые 15 минут)
Code: (clickermann) [Select]
IF($F1_time < $_ms)
   KEYPRESS(#F1)
WAITMS(50) 
   $F1_time = $_ms+10000
END_IF
По идее этот код
не пойму просто как вставить чтобы мои микро задержки не влияли на него (не знаю влияют ли вообще)

Так прямо и ставишь. +- будет только из-за того как часто ты вызываешь этот кусок.
Только $_ms это миллисекунды и 10000 это 10 секунд