Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - kirill

Pages: [1] 2 3
1
Общие вопросы / Re: временный цикл
« on: January 10, 2015, 08:18:54 PM »
Нет не то, тут по миникарте не получится. Есть лок который и поможет, вот он должен посмотреть где тот пиксель лока который был найден и сравнить его положение с положением центра экрана и определить не превышено ли расстояние.

2
Общие вопросы / Re: временный цикл
« on: January 10, 2015, 04:25:24 PM »
И ещё как мне добавить отслеживание дистанции к этой части кода. В нем идёт постоянный поиска лока на мобе, пока он его виде, он его бьёт, но моб может убегать и тут то и нужно, что бы был клик в ту сторону где он видит лок, если моб убежит дальше 200 ну или больше пикселей.
 $time = $_time_t + 10  // 10 секунд
         WHILE($time > $_time_t)
            WAITMS(300)
            GETSCREEN
            IF_PIXEL_IN(0,86, 1437,855,728280,529105,2304698)
               WAITMS(100)
               KEYDOWN(#Ctrl)
               WAITMS(300)
            ELSE
               $time = 0
            END_IF
         END_CYC

3
Общие вопросы / Re: временный цикл
« on: January 10, 2015, 04:19:19 PM »
Вы правы с мыслями разобраться надо это самое сложное. Ну если знаете где лишние ELSE то уберите их покажите мне как надо.

4
Общие вопросы / Re: временный цикл
« on: January 10, 2015, 01:29:40 AM »
У меня другой щас вопрос родился, как сделать проверку по расстоянию от центра экрана. Например есть объект на экране, и нужно сделать так что если он на расстоянии допустим 200 пикселей от центра то делает клик?

5
Общие вопросы / Re: временный цикл
« on: January 10, 2015, 01:20:53 AM »
а как без GETSCREEN, если картинка на экране постоянно меняется? само собой я знаю, что такое ELSE именно поэтому оно везде, а везде оно для того, что бы все действия шли последовательно, поменялось что то идёт дальше, нет значит смотрит не поменялось ли чаво ни будь

6
Общие вопросы / Re: временный цикл
« on: January 08, 2015, 03:36:39 AM »
Вот сделал по вашему совету, вроде все норм, но иногда тупит. Можете глянуть и оптимизировать при возможности?!
Code: (clickermann) [Select]
thread(t2)
$va = 0
WHILE($va = 0)
   GETSCREEN
   IF(PXL(45,639) = 12575208) 
   WAITMS(100)
   ELSE
      $va = 1
   END_IF
END_CYC
LCLICK(216,108)
WAITMS(2000)




end_thread
thread(t1)
   SETTHREAD (t2, 1)
   SETTHREAD (t3, 1)
   $rnd_x = RND(36,286)
   $rnd_y = RND(682,808)
   LCLICK($rnd_x,$rnd_y)
   WAITMS(100)
   MOVE(565,518)
   WAITMS(100)
   
   $time = $_time_t + 10  // 10 секунд
   WHILE($time > $_time_t)
      GETSCREEN
      IF_PIXEL_IN(37,682, 288,835, 255)
         $time = 0
         LCLICK($_return1, $_return2)
         MOVE(565,518)
         WAITMS(1000)
         LCLICK($_return1, $_return2)
         MOVE(565,518)
      ELSE
      END_IF
      WAITMS(100)
   END_CYC
   WAITMS(100)
   
   
   
   $ch = 0
   WHILE($ch = 0)
      GETSCREEN
      IF_PIXEL_IN(0,86, 1437,855, 8628618)
         KEYUP(#Ctrl)
         LCLICK($_return1, $_return2)
         WAITMS(300)
         KEYUP(#Ctrl)
         $time = $_time_t + 10  // 10 секунд
         WHILE($time > $_time_t)
            WAITMS(300)
            GETSCREEN
            IF_PIXEL_IN(0,86, 1437,855,728280,529105,2304698)
               WAITMS(100)
               KEYDOWN(#Ctrl)
               WAITMS(300)
            ELSE
               $time = 0
            END_IF
         END_CYC
         WAITMS(100)
         KEYUP(#Ctrl)
         WAITMS(100)
      ELSE
         $ch = 1
      END_IF
   END_CYC
   
   
   $cha = 0
   WHILE($cha = 0)
     
      GETSCREEN
      IF_PIXEL_IN(0,86, 1437,855, 5938406)
         KEYUP(#Ctrl)
         LCLICK($_return1, $_return2)
         WAITMS(300)
         KEYUP(#Ctrl)
         $time = $_time_t + 19  // 10 секунд
         WHILE($time > $_time_t)
            WAITMS(300)
            GETSCREEN
            IF_PIXEL_IN(0,86, 1437,855,728280,529105,2304698)
               WAITMS(500)
               KEYDOWN(#Ctrl)
               WAITMS(300)
            ELSE
               $time = 0
            END_IF
            WAITMS(100)
         END_CYC
         WAITMS(100)
         KEYUP(#Ctrl)
         WAITMS(100)
      ELSE
         $cha = 1
      END_IF
   END_CYC
   
end_thread

$var = 0
WHILE($var = 0)
   GETSCREEN
   IF(PXL(1272,162) = 9363348)
   ELSE
      $var = 1
   END_IF
END_CYC
SETTHREAD (t1, 0)
WAITMS(100)
LCLICK(160,701)  // 16759296
WAITMS(500)
LCLICK(162,702)  // 0
WAITMS(100)
KEYPRESS(#c)
WAITMS(100)
KEYPRESS(#3)
WAITMS(100)


$time = $_time_t + 10  // 10 секунд
WHILE($time > $_time_t)
   GETSCREEN
   IF(PXL(648,671) = 1066273)
      $time = 0
      WAITMS(100)
      LCLICK(648,671)  //
      WAITMS(100)
   ELSE
   END_IF
   WAITMS(100)
END_CYC
WAITMS(100)

$time = $_time_t + 10  // 10 секунд
WHILE($time > $_time_t)
   GETSCREEN
   IF(PXL(666,477) = 6143)
      $time = 0
      WAITMS(100)
      LCLICK(620,526)  // 6316901
      WAITMS(100)
   ELSE
   END_IF
   WAITMS(100)
END_CYC
WAITMS(100)

$time = $_time_t + 10  // 10 секунд
WHILE($time > $_time_t)
   GETSCREEN
   IF(PXL(700,296) = 188)
      $time = 0
      WAITMS(100)
      LCLICK(636,671)
      WAITMS(100)
   ELSE
   END_IF
   WAITMS(100)
END_CYC

WAIT(110)
WAITMS(100)
KEYPRESS(#c)
WAITMS(100)
KEYPRESS(#4)
WAITMS(10000)
SETTHREAD (t1, 1)

7
Общие вопросы / Re: временный цикл
« on: January 03, 2015, 03:50:24 PM »
Code: (clickermann) [Select]
//-----------------------------------------
// второй поток

thread(t2,0)
   SetThread(t1,0)
   $time = $_time_t + 10  // 10 секунд
   WHILE($time > $_time_t)
      GETSCREEN
      IF_PIXEL_IN(37,667, 272,788, 255)
         $time = 0
         LCLICK($_return1, $_return2)
         MOVE(565,518)
         WAITMS(100)
      ELSE
         WAITMS(100)
      END_IF
      WAITMS(100)
   END_CYC
   IF($time = 0) // если за 10 сек найдено
      WAITMS(100)
      SetThread(t3,1)
   ELSE
      SetThread(t1,1) // или не найдено
      SetThread(t2,0)
   END_IF
   WAITMS(100)
end_thread
Всё подправил на основе вашего 2 потока, но в пятом ошибка не могу понять где. Помогите исправить
Code: (clickermann) [Select]
//-----------------------------------------
// ïÿòûé ïîòîê

thread(t5,0)
   SetThread(t3,0)
   WAITMS(100)
   SetThread(t4,0)
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PIXEL_IN(0,86, 1437,855, 1911161, 728280, 2237817)
         $check = 1
         WAITMS(100)
      ELSE
         WAITMS(100)
      END_IF
      WAITMS(100)
   END_CYC
   IF($check = 1)
      WAITMS(100
      KEYDOWN(#ctrl)
      WAITMS(100)
   ELSE
   WAITMS(100)
      KEYUP(#ctrl)
      WAITMS(100)
      SetThread(t1,1)
      SetThread(t5,0)
   END_IF
   WAITMS(100)
end_thread

8
Общие вопросы / Re: временный цикл
« on: January 03, 2015, 02:57:40 PM »
Вся суть кода:
1-ый поток. Должен сделать рандомный клик и запустить 2-й поток
2-ой поток. Должен отключить первый, найти пиксель в течении 10 секунд и запустить 3-й поток или снова запустить 1 поток.
3-й поток. Должен отключить второй, после найти жертву в течении 5 сек (только сейчас на ум пришло, а то ведь не найдёт и дальше себе попрёт), как найдёт вкл пятый поток (который должен пока видит жертву в локе зажимать CTRL, а как перестанет видеть отпустить CTRL и снова запустить 1 поток)
4-ый поток. Такой же как и 3-ий, только для другого моба.
В 5-ом потоке ещё хотелось бы сделать проверку нет ли ещё одного моба как в 3-ем и 4-ом потоке, т.е. пропуская 1 и 2 потоки + к этому такая проверка должно проводиться 1 раз.
P.s 5 пункт не обязательно делать.

9
Общие вопросы / Re: временный цикл
« on: January 03, 2015, 02:37:03 PM »
тут он должен искать 10 секунд, если найдёт, то запускать третий поток, а если нет то снова 1 поток. Как сделать? А сейчас получается, что он и при нахождение и не нахождение вкл первый поток. 
Code: (clickermann) [Select]
//-----------------------------------------
// второй поток
 
thread(t2,0)
   SetThread(t1,0)
   $time = $_time_t + 10  // 10 секунд
   WHILE($time > $_time_t)
      GETSCREEN
      IF_PIXEL_IN(37,667, 272,788, 255)
         $time = 0
         LCLICK($_return1, $_return2)
         MOVE(565,518)
         WAITMS(100)
      ELSE
         SetThread(t1,1)
         WAITMS(100)
      END_IF
      WAITMS(100)
   END_CYC
   WAITMS(100)
   SetThread(t3,1)
   WAITMS(100)
end_thread

10
Общие вопросы / Re: временный цикл
« on: January 03, 2015, 02:23:00 PM »
Спасибо, буду пробовать.

11
Общие вопросы / Re: временный цикл
« on: January 03, 2015, 03:48:56 AM »
Помогите исправить ошибки и оптимизировать код
Code: (clickermann) [Select]
//-----------------------------------------
// первый поток

thread(t1)
SetThread(t5,0)
WAITMS(100)
SetThread(t1,1)
WAITMS(100)
KEYUP(#ctrl)
$rnd_x = RND(37,272)
$rnd_y = RND(667,788)
LCLICK($rnd_x,$rnd_y)
WAITMS(100)
MOVE(565,518)
WAITMS(100)
SetThread(t2,1)
WAITMS(100)
end_thread

//-----------------------------------------
// второй поток

thread(t2,0)
SetThread(t1,0)
$time = $_time_t + 10  // 10 секунд
WHILE($time > $_time_t)
GETSCREEN
IF_PIXEL_IN(37,667, 272,788, 255)
$time = 0
   LCLICK($_return1, $_return2)
   MOVE(565,518)
   WAITMS(100)
ELSE
   SetThread(t1,1)
   WAITMS(100)
ELSE
END_IF
WAITMS(100)
END_CYC
WAITMS(100)
SetThread(t3,1)
WAITMS(100)
end_thread

//-----------------------------------------
// третий поток

thread(t3,0)
SetThread(t2,0)
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(0,86, 1437,855, 5337430)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LCLICK($_return1, $_return2)
ELSE
SetThread(t5,1)   // тут должен если пиксель найден вкл. пятый поток
WAITMS(100
ELSE
END_IF
WAITMS(100)
END_CYC
SetThread(t4,1)         // тут если пиксель не найден должен проигнорировать вкл. пятого потока и вкл. четвёртый
WAITMS(100)
end_thread

//-----------------------------------------
// четвёртый поток

thread(t4,0)
SetThread(t3,0)
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(0,86, 1437,855, 5265980)
$check = 1
LCLICK($_return1, $_return2)
WAITMS(100)
LCLICK($_return1, $_return2)
ELSE
SetThread(t5,1)   // тут тоже что и в четвертом потоке
WAITMS(100
ELSE
END_IF
WAITMS(100)
END_CYC
SetThread(t1,1)
WAITMS(100)
end_thread

//-----------------------------------------
// пятый поток

thread(t5,0)
SetThread(t3,0)
WAITMS(100)
SetThread(t4,0)
$check = 0
WHILE($check = 0)
GETSCREEN
IF_PIXEL_IN(0,86, 1437,855, 1911161, 728280, 2237817)
KEYDOWN(#ctrl)
ELSE
KEYUP(#ctrl)
WAITMS(100)
SetThread(t1,1)
WAITMS(100)
ELSE
$check = 1
END_IF
WAITMS(100)
END_CYC
end_thread

12
Общие вопросы / Re: временный цикл
« on: January 02, 2015, 01:16:31 PM »
Системные переменные обнулить нельзя. Вместо этого лучше использовать более подходящую для анализа пиксела по точным координатам функцию PXL. В этом случае $_return1, $_return2 не затрагиваются.

Code: (clickermann) [Select]
// Основной поток
$var = 0
WHILE($var = 0)
   GETSCREEN
   IF(PXL(1275,161) = 10150560) // тут должен постоянно смотреть на месте пиксель или нет, если нету то идёт дальше
      WAITMS(100)
   ELSE
      $var = 1
   END_IF
END_CYC
WAITMS(100)
Спасибо большое теперь все хорошо работает, буду пробовать дополнять))

13
Общие вопросы / Re: временный цикл
« on: January 02, 2015, 12:04:59 PM »
Клик идёт предположительно при выполнение этой части кода.
Code: (clickermann) [Select]
$time = $_time_t + 5  // 5 ñåêóíä
   WHILE($time > $_time_t)
      GETSCREEN
      IF_PIXEL_IN(0,86, 1437,855, 10010271)
         LCLICK($_return1, $_return2)
         WAITMS(100)
         LCLICK($_return1, $_return2)
         WAITMS(300)
         KEYPRESS(#ctrl)
         WAITMS(4500)
         GETSCREEN
         IF_PIXEL_IN(0,86, 1437,855, 5265980)
            $time = 0
            LCLICK($_return1, $_return2)
            WAITMS(100)
            LCLICK($_return1, $_return2)
            WAITMS(300)
            KEYPRESS(#ctrl)
            WAIT(15)
         END_IF
      END_IF

14
Общие вопросы / Re: временный цикл
« on: January 02, 2015, 11:38:04 AM »
У меня предположение что он в эти переменные $_return1, $_return2 засовывает координаты тех пикселей и где то идёт клик по ним. Может их  обнулить доп. кодом?

15
Общие вопросы / Re: временный цикл
« on: January 02, 2015, 11:36:07 AM »
В этом то и проблема, в коде его нету, а на дели он тыкает куды не надо.

Pages: [1] 2 3