Author Topic: Мне надо что-бы работало 2 цикла одновременно  (Read 5279 times)

0 Members and 1 Guest are viewing this topic.

xxxmaximal

  • Освоившийся
  • **
  • Posts: 30
    • View Profile
Этот код водит по экрану пока не изменится курсор на меч после чего агрится
После он забивая на все (мне нужно что бы он хилки пил)
Код питья хилок
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 кликермана ,но хотелось бы через один

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
А зачем там break и пауза 20 секунд?
Естественно будет забивать.
В чём проблема поставить последовательно?


xxxmaximal

  • Освоившийся
  • **
  • Posts: 30
    • View Profile
проверять должно хп постоянно так то
break чтобы мышка остановилась и нажала туда где остановилась
Без break он без остановки идет и при нажатии не попадает уже в моба

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
проверять должно хп постоянно так то
break чтобы мышка остановилась и нажала туда где остановилась
Без break он без остановки идет и при нажатии не попадает уже в моба
Так, а break при чём если тебе нужно выйти из циклов? Это совсем другая команда (в кликермэне).
Делай чтобы условия не выполнялись больше
Code: (clickermann) [Select]
      IF($_cursor = 15) // выход из цикла и другие действия            //185(меч)
LDOWN($x,$y)
waitms(100)
                        ...
                        $x = 10000
                        $y = 10000
« Last Edit: July 03, 2014, 12:51:05 PM by Vint »


xxxmaximal

  • Освоившийся
  • **
  • Posts: 30
    • View Profile
я кажется понял что вы написали
 $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)

 // стоп

« Last Edit: July 03, 2014, 11:39:43 AM by xxxmaximal »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Можно вынести код в подпрограмму и вызывать в нужном месте. За место 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)

xxxmaximal

  • Освоившийся
  • **
  • Posts: 30
    • View Profile
Спасибо
Я тоже думал так сделать но было бы слишком много букв
Не знал как процедуры тут делать
« Last Edit: July 03, 2014, 03:42:47 PM by xxxmaximal »

xxxmaximal

  • Освоившийся
  • **
  • Posts: 30
    • View Profile
Подскажите как сделать что-бы юзал банки(бафы допустим каждые 15 минут)
Code: (clickermann) [Select]
IF($F1_time < $_ms)
   KEYPRESS(#F1)
WAITMS(50) 
   $F1_time = $_ms+10000
END_IF
По идее этот код
не пойму просто как вставить чтобы мои микро задержки не влияли на него (не знаю влияют ли вообще)
Ps.все таки есть что-то чтобы функции одновременно выполнялись кроме запуска 2-х кликеров
« Last Edit: July 03, 2014, 05:23:42 PM by xxxmaximal »

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Подскажите как сделать что-бы юзал банки(бафы допустим каждые 15 минут)
Code: (clickermann) [Select]
IF($F1_time < $_ms)
   KEYPRESS(#F1)
WAITMS(50) 
   $F1_time = $_ms+10000
END_IF
По идее этот код
не пойму просто как вставить чтобы мои микро задержки не влияли на него (не знаю влияют ли вообще)

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