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 - BiG

Pages: [1] 2
1
Общие вопросы / Re: подпрограммы
« on: November 01, 2021, 09:25:25 PM »
Отсутствуют $par26, $par27 в конце 3 строчки. Может поэтому.

2
AVAST сегодня тоже в хранилище кинул кликермана.ехе Хотя вчера норм было)

3
Спасибо

4
Всем привет, Clickermann 4.13 х32 сворачивается в маленькое окошко возле "Пуска", а не в трей, как я предполагал. Это баг или нет?
Code: (clickermann) [Select]
wait(1)
WNDSTATE ($_hwnd_self,0)
halt

5
Использование / Re: Кликер в Кроссаут
« on: April 23, 2019, 01:48:38 PM »
Тоже пытался сделать, но так и не доделал до конца. Но зато мой отжимает нажатую кнопку =) Отключается кнопкой "R". Может кто сможет допилить
Code: (clickermann) [Select]
THREAD(R, 1)
   IF(ISKEYDOWN(#R)=1)
      $time = $_ms +2000
      waitms(50)
   END_IF
END_THREAD


IF ( iskeydown(1)=1)
WHILE ( $time < $_ms)
   GETSCREEN(832,944,920,950)
   IF  (PXLCOUNT(832,944,920,950, 16777215)>5)
      LDOWN(960,458)
      waitms(rnd(790,810))
      LUP(960,458)
      waitms(RND(390,460))  // 380
   else
      LUP(960,458)
   END_IF
   waitms(20)
END_CYC   
ELSE
   $time = $_ms +900 // Не запускать скрипт от случайного нажатия
END_IF
WAITms(10)

6
Вроде так
10,30 - верхний левый
20,40 - нижний правый
Code: (clickermann) [Select]
$var=rnd(1,4)
IF($var ! $var1)
   SWITCH($var)
      CASE(1)
         LCLICK(rnd(10,20),rnd(30,40))
         
      CASE(2)
         LCLICK(rnd(50,60),rnd(70,80))
         
      CASE(3)
         LCLICK(rnd(90,100),rnd(110,120))
         
      CASE(4)
         LCLICK(rnd(130,140),rnd(150,160))
   END_SWITCH
   $var1 = $var // Не кликать в тот же сектор
END_IF
waitms(1000)

7
Спасибо,буду изучать недели две) Мини карта постоянно двигается и крутится когда я перемещаюсь нажимая WSADQE, я на миникарте всегда в центре.

8
Пол года трудился над скриптом,боюсь бан получить. На подобии WoT. Отправил название личкой
Code: (clickermann) [Select]
#logfile "??????? LOG.txt"

SUB(mouse_move,$MOVE_END_X,$MOVE_END_Y)
   $MOVE_SPEED = 1  // множитель скорости (отвечает за количество точек)
   $MOVE_Start_X = $_xmouse
   $MOVE_Start_Y = $_ymouse
   $MOVE_X = $MOVE_Start_X
   $MOVE_Y = $MOVE_Start_Y
   $dist = DIST($MOVE_END_X,$MOVE_END_Y,$MOVE_Start_X,$MOVE_Start_Y)
   $MOVE_SPEEDVAR = INT((SQRT($dist))/$MOVE_SPEED)
   IF($MOVE_SPEEDVAR < 1)
      $MOVE_SPEEDVAR = 1
   END_IF
   $MOVE_step=($dist-1)/$MOVE_SPEEDVAR
   $MOVE_X_step = ($MOVE_END_X-$MOVE_Start_X)/$MOVE_step
   $MOVE_Y_step = ($MOVE_END_Y-$MOVE_Start_Y)/$MOVE_step
   FOR($MOVE_i=0, $MOVE_i<INT($MOVE_step))
      $MOVE_X = $MOVE_X + $MOVE_X_step
      $MOVE_Y = $MOVE_Y + $MOVE_Y_step
      MOVE(ROUND($MOVE_X,0)+RND(-2,2), ROUND($MOVE_Y,0)+RND(-2,2)) // добавляем рандом
      WAITMS($rnwait) // задержка при движении по точкам
   END_CYC
END_SUB
SUB(m_move,$Mm_X,$Mm_Y)
   $rnwait = RND(6,15) // случайная скорость
   $MOVE_MID_X = ($_xmouse+$Mm_X)/2
   $MOVE_MID_Y = ($_ymouse+$Mm_Y)/2
   mouse_move($MOVE_MID_X+RND(-30,30),$MOVE_MID_Y+RND(-30,30))
   mouse_move($Mm_X,$Mm_Y)
   MOVE($Mm_X,$Mm_Y) //Передвинуть окончательно в заданную точку
END_SUB
//===================================================================
LOGSHOW(1,1618,0)   // Лог и его позиция
waitms(50)
WNDSIZE ( wndfind("Лог"), 300, 1030) // Размер лога
waitms(50)
$win_x = 1616  // Ширина окна 1600
$win_y = 938   // Высота окна 900
FOR($wn, $wn < 1)
   WNDSIZE ( wndfind("???????"), $win_x, $win_y)
   waitms(250)
   WNDPOS ( wndfind("???????"), 0, 0) // Центрировать окно по левому краю
   waitms(150)
END_CYC
//==========================
$m_x = 1278       // Вся мини карта
$m_y = 600       // Вся мини карта
$m_max_x = 1574      // Вся мини карта
$m_max_y = 896       // Вся мини карта
$by_x = $m_c_x-10          // Враг близко
$by_y = $m_c_y-10          // Враг близко
$by_x1 = $m_c_x+10         // Враг близко
$by_y1 = $m_c_y+10         // Враг близко
$m_c_x = INT(($m_x+$m_max_x)/2)  // Центр мини карты
$m_c_y = INT(($m_y+$m_max_y)/2)  // Центр мини карты
$m_x2 = INT(($m_c_x+$m_x)/2)        // X
$m_x1 = INT(($m_x2+$m_x)/2)         // X
$m_x3 = INT(($m_c_x+$m_x2)/2)       // X
$m_y2 = INT(($m_c_y+$m_y)/2)            // Y
$m_y1 = INT(($m_y2+$m_y)/2)             // Y
$m_y3 = INT(($m_c_y+$m_y2)/2)           // Y
$m_x5 = INT(($m_c_x+$m_max_x)/2)    // X
$m_x4 = INT(($m_c_x+$m_x5)/2)       // X
$m_x6 = INT(($m_x5+$m_max_x)/2)     // X
$m_y5 = INT(($m_c_y+$m_max_y)/2)        // Y
$m_y4 = INT(($m_c_y+$m_y5)/2)           // Y
$m_y6 = INT(($m_y5+$m_max_y)/2)         // Y
FOR($print,$print < 1)
   print ("=========== ВСЯ КАРТА ===========")
   print ("$m_x:",$m_x," ","$m_c_x:",$m_c_x," ","$m_max_x:",$m_max_x)
   print ("$m_y:",$m_y," ","$m_c_y:",$m_c_y," ","$m_max_y:",$m_max_y)
   print ("=================================")
   print ("$m_x1:",$m_x1, " ","$m_x2:",$m_x2," ","$m_x3:",$m_x3)
   print ("$m_x4:",$m_x4, " ","$m_x5:",$m_x5," ","$m_x6:",$m_x6)
   print ("=================================")
   print ("$m_y1:",$m_y1, " ","$m_y2:",$m_y2," ","$m_y3:",$m_y3)
   print ("$m_y4:",$m_y4, " ","$m_y5:",$m_y5," ","$m_y6:",$m_y6)
END_CYC
//===============================
SUB(key)                // Проверить нажатые кнопки и отжать
   if ( iskeydown(#W)=1 )
      KEYUP(#W)
      waitms(10)
   end_if
   if ( iskeydown(#A)=1 )
      KEYUP(#A)
      waitms(10)
   end_if
   if ( iskeydown(#S)=1 )
      KEYUP(#S)
      waitms(10)
   end_if
   if ( iskeydown(#D)=1 )
      KEYUP(#D)
      waitms(10)
   end_if
   if ( iskeydown(#Q)=1 )
      KEYUP(#Q)
      waitms(10)
   end_if
   if ( iskeydown(#E)=1 )
      KEYUP(#E)
      waitms(10)
   end_if
END_SUB
//===============================
SUB(S,$t)
   SETTHREAD (W, 2)
   key()
   KEYDOWN(#S)
   waitms(rnd(500,1000)+$t)
   KEYUP(#S)
   waitms(rnd(50,100))
END_SUB
//===============================
SUB(A,$t)
   IF($ta < $_ms)
      waitms(rnd(50,150))
      KEYDOWN(#A)
      waitms(rnd(200,300)+$t)
      KEYUP(#A)
      $ta = $_ms+1800
   END_IF
END_SUB
//===============================
SUB(D,$t)
   IF($td < $_ms)
      waitms(rnd(50,150))
      KEYDOWN(#D)
      waitms(rnd(200,300)+$t)
      KEYUP(#D)
      $td = $_ms+1800
   END_IF
END_SUB
//===============================
THREAD(W, 0)
   print("W")
   KEYDOWN(#W)
   waitms(rnd(4000,8000))
   KEYUP(#W)
   waitms(rnd(1000,1500))
END_THREAD
//===============================
THREAD(Ckey, 1) // Если АФК
   DEFINE($tkey,$_ms+6000)
   if ((iskeydown(#W)=1)|(iskeydown(#S)=1)|(iskeydown(#Q)=1)|(iskeydown(#E)=1)|(iskeydown(#A)=1)|(iskeydown(#D)=1)|(iskeydown(1)=1))
      $tkey = $_ms+6000
   End_IF
   IF($tkey<$_ms)
      $base=1
   End_IF
   waitms(50)
END_THREAD
//===============================
IF($scan=0)
   $x=0
   $y=0
   GETSCREEN (0,0,$win_x,$win_y)
   SCANPXL($arr,$m_x,$m_y,$m_max_x,$m_c_y,16230484) // Свой 16230484, бот 13997650
   FOR($a=0,$a<ARRSIZE($arr),2)
      IF(DIST($arr[$a],$arr[$a+1],$m_c_x,$m_c_y)<DIST($x,$y,$m_c_x,$m_c_y))
         $x=$arr[$a]
         $y=$arr[$a+1]
      END_IF
   END_CYC
   IF(($x=0)&($y=0))
      SCANPXL($orr,$m_x,$m_c_y,$m_max_x,$m_max_y,16230484)
      FOR($b=0,$b<ARRSIZE($orr),2)
         IF(DIST($orr[$b],$orr[$b+1],$m_c_x,$m_c_y)<DIST($x,$y,$m_c_x,$m_c_y))
            $x=$orr[$b]
            $y=$orr[$b+1]
         END_IF
      END_CYC
   END_IF
   IF((ARRSIZE($arr)>1)|(ARRSIZE($orr)>1))
      $base=0
   else
      $base=1
   END_IF
   UNDEFINE($arr)
   UNDEFINE($orr)
END_IF
//================================
GETSCREEN(0,0,$win_x,$win_y)               // Застрял
$stuck1 = $stuck
$stuck =  PXLCRC($m_x2,$m_y4,$m_x5,$m_y4)
IF (($stuck = $stuck1)&($stuck2 < $_ms))
   print("ЗАСТРЯЛ")
   S(500)
   KEYDOWN(RNDFROM(81,69))
   waitms(rnd(2500,4500))
   key()
END_IF
waitms(20)
//================================
IF($base=1)     // Ищем базы
   GETSCREEN(0,0,$win_x,$win_y)
   COLORMODE(7, $m_x,$m_y,$m_max_x,$m_max_y)
   IF_PICTURE_IN ($m_x,$m_y, $m_max_x,$m_max_y, "В_ру.bmp", 255, 100)
      print("Вижу базу В")
      $x = $_return1+6
      $y = $_return2+6
   else
      WAITMS(20)
      print("Не вижу базу B")
      GETSCREEN(0,0,$win_x,$win_y)
      COLORMODE(7, $m_x,$m_y,$m_max_x,$m_max_y)
      IF_PICTURE_IN ($m_x,$m_y, $m_max_x,$m_max_y, "А_ру.bmp", 255, 100)
         print("Вижу базу А")
         $x = $_return1+6
         $y = $_return2+6
      else
         Waitms(20)
         print("Не вижу базу А")
         A(0)
      END_IF
   END_IF
   waitms(20)
END_IF
//=================================
$go=1
IF (($m_x3<$x)&($m_x4>$x)&($m_y<$y)&($by_y>$y)&($go=1))      // W (a3-d4-18)
   SETTHREAD (W, 1)
   waitms(1000)
   $go=0
else
   $go=1
END_IF
//=====================
IF (($m_x<$x)&($by_x>$x)&($m_y3<$y)&($m_c_y>$y)&($go=1))    // A (d-d3-18)
   print("A")
   A(100)
   $go=0
else
   $go=1
END_IF
//=====================
IF (($m_x<$x)&($m_x3>$x)&($m_y<$y)&($m_y3>$y)&($go=1))  // Aa
   print("Aa")
   A(0)
   $go=0
else
   $go=1
END_IF
//=====================
IF (($by_x1<$x)&($m_max_x>$x)&($m_y3<$y)&($m_c_y>$y)&($go=1)) // D (d4+18-d7)
   print("D")
   D(100)
   $go=0
else
   $go=1
END_IF
//==========================
IF (($m_x4<$x)&($m_max_x>$x)&($m_y<$y)&($m_y3>$y)&($go=1))
   print("Dd")
   D(0)
   $go=0
else
   $go=1
END_IF
//===========================
IF (($m_x<$x)&($m_max_x>$x)&($m_c_y<$y)&($m_max_y>$y)&($go=1)) // Назад
   print("Назад")
   SETTHREAD (W, 2)
   S(500)
   D(500)
   $go=0
else
   $go=1
END_IF
//==========================
GETSCREEN (0,0,$win_x,$win_y)
COLORMODE(5,$win_x-933,$win_y-31,$win_x-875,$win_y-10) // 683,907,741,928
WHILE(PXLCOUNT($win_x-933,$win_y-31,$win_x-875,$win_y-10, 2072575)>50) // Ищем надпись "Space"
   print("Вижу Space")
   SETTHREAD (W, 2)
   key()
   waitms(10000)
   $stuck2 = $_ms + 15000  // Задержка выполнения "ЗАСТРЯЛ"
   GETSCREEN (0,0,$win_x,$win_y)
   COLORMODE(5,$win_x-933,$win_y-31,$win_x-875,$win_y-10)
END_CYC
waitms(20)
GETSCREEN (0,0,$win_x,$win_y)
IF(PXLCOUNT($win_x-391,$win_y-133,$win_x-191,$win_y-58,17878)>30) // В_бой  1225,805,1425,880
   $stuck2 = $_ms + 15000  // Задержка выполнения "ЗАСТРЯЛ"
   $scan=1
   SETTHREAD (W, 2)
   key()
   waitms(rnd(300,5000))
   m_move ((rnd($win_x-373,$win_x-166)),(rnd($win_y-118,$win_y-74))) // 1243,1450:820,864
   waitms(rnd(100,300))
   LCLICK($_xmouse,$_ymouse)
   print("В_бой нажато")
   waitms(3000)
else
   waitms(20)
   GETSCREEN(0,0,$win_x,$win_y)
   COLORMODE(7,660,130,950,190)
   IF_PICTURE_IN (660,130,950,190, "В_БОЙ_7.bmp", 255, 100)
      m_move($_return1+(rnd(-50,60)), $_return2+(rnd(-10,20)))
      waitms(rnd(100,300))
      LCLICK($_xmouse,$_ymouse)
      print("В_БОЙ нажато")
   else
      $scan=0
   END_IF
END_IF
waitms(20)
//==============================
GETSCREEN (0,0,$win_x,$win_y)
COLORMODE(5, $m_x3,$m_y3,$m_x4,$m_y4)
IF_PIXEL_IN($m_x3,$m_y3,$m_x4,$m_y4, 2039807)    // Враги
   print("Вижу_врага")
   m_move(rnd($win_x/2-400,$win_x/2+400),(rnd($win_y/2-100,$win_y/2+100)))
   $en=0
   WHILE($en=0)
      waitms(50)
      IF_PIXEL_IN($by_x-8,$by_y-8,$by_x1+8,$by_y1+8, 2039807)
         print("Враг_близко")
         IF($time < $_time_t)
            LDOWN($_xmouse,$_ymouse)
            waitms(rnd(100,200))
            LUP($_xmouse,$_ymouse)
            $time = $time_t + (rnd(5,10))
         END_IF
         SETTHREAD (W, 1)
         A(0)
         waitms(rnd(600,1500))
         SETTHREAD (W, 2)
         key()
         GETSCREEN (0,0,$win_x,$win_y)
         COLORMODE(5,$by_x-8,$by_y-8,$by_x1+8,$by_y1+8)
      else
         print("Враг далеко")
         $en=1
      END_IF
   END_CYC
   WAITMS(20)
END_IF
//====================================
DEFINE($off,$_ms+rnd(1200000,1800000)) //вкл "СОН" через 20-30 минут
IF($off < $_ms)
   print("Спим")
   SETTHREAD (W, 2)
   key()
   m_move(rnd(0,$win_x),(rnd(0,$win_y)))
   wait(rnd(180,420))                       // ждать 3-7 минут
   m_move(rnd(0,$win_x),(rnd(0,$win_y)))
   waitms(rnd(3000,5000))
   FOR($off1,$off1 < 2)
      GETSCREEN(0,0,$win_x,$win_y)
      COLORMODE(6,0,int($win_y/2), $win_x,$win_y)
      IF_PICTURE_IN (0,int($win_y/2), $win_x,$win_y, "ОК_6_ру.bmp", 255, 100)
         m_move($_return1+(rnd(-50,60)), $_return2+(rnd(-10,20)))
         waitms(rnd(100,300))
         LCLICK($_xmouse,$_ymouse)
         waitms(rnd(1000,3000))
      else
         wait(2)
      END_IF
      GETSCREEN(0,0,$win_x,$win_y)
      COLORMODE(6,0,int($win_y/2), $win_x,$win_y)
      IF_PICTURE_IN (0,int($win_y/2), $win_x,$win_y, "Steam_6.bmp", 255, 100)
         m_move($_return1+(rnd(-50,60)), $_return2+(rnd(-10,20)))
         waitms(rnd(100,300))
         LCLICK($_xmouse,$_ymouse)
         waitms(rnd(10000,15000))
      else
         wait(2)
      END_IF
      GETSCREEN(0,0,$win_x,$win_y)
      COLORMODE(6,0,int($win_y/2), $win_x,$win_y)
      IF_PICTURE_IN (0,int($win_y/2), $win_x,$win_y, "Закрыть_6.bmp", 255, 100)
         m_move($_return1+(rnd(-50,60)), $_return2+(rnd(-10,20)))
         waitms(rnd(100,300))
         LCLICK($_xmouse,$_ymouse)
         waitms(rnd(1000,3000))
      else
         wait(2)
      END_IF
   END_CYC
   UNDEFINE($off)
   UNDEFINE($off1)
END_IF
//============================
DEFINE($OFF3, $_time_t + 7200) // 1800(30м) 3600(1ч) 7200(2ч)
If($OFF3 < $_time_t)
   print("Выключаю Комп")
   waitms(rnd(1000,3000))
   m_move((rnd($win_x-44,$win_x-16)),(rnd($win_y-937,$win_y-924)))
   waitms(rnd(100,300))
   LCLICK($_xmouse,$_ymouse)
   EXECUTE ("shutdown.exe", "/s /t 09")
   HALT(1)
END_IF

9
Всем привет, постарался учесть все ваши рекомендации, и вроде все получилось что хотел. Но остался один момент: как определять что персонаж уткнулся в стену? вот что у меня получилось:
Code: (clickermann) [Select]
GETSCREEN(0,0,$win_x,$win_y)               // Застрял
$stuck1 = $stuck
$stuck =  PXLCRC($m_x2,$m_y4,$m_x5,$m_y4)
IF (($stuck = $stuck1)&($stuck2 < $_ms))
   print("ЗАСТРЯЛ")
   S(500)
   KEYDOWN(RNDFROM(81,69))
   waitms(rnd(2500,4500))
   key()
END_IF
waitms(20)

но код работает когда карта совершенно неподвижна пару секунд, что бывает редко.

10
Всем привет. Я все бьюсь со скриптом, которым нужно управлять одной левой кнопкой мышью. Программно нельзя отжать физически зажатую кнопку, но "методом тыка" получилось отжимать ее, а вот останавливать скрип этой же кнопкой не получается, только другой. Андрей Оравен подсказывал как управлять одной кнопкой, но нужно было попасть в паузу в 100мс, что бы выключить скрипт.
Code: [Select]
THREAD(R, 1)
   IF(ISKEYDOWN(#R)=1) // остановить скрип
      $time = $_ms +2000
      waitms(50)
   END_IF
END_THREAD

IF ( iskeydown(1)=1)
WHILE ( $time < $_ms)
   GETSCREEN(832,944,920,950)
   IF  (PXLCOUNT(832,944,920,950, 16777215)>10)
      LDOWN(960,458)
      waitms(rnd(790,810))
      LUP(960,458)
      waitms(RND(390,460))  // 380
   else
      LUP(960,458)
   END_IF
   waitms(20)
END_CYC   
ELSE
   $time = $_ms +900 // Не запускать скрипт от случайного нажатия
END_IF
WAITms(10)

11
Спасибо за подсказки, пересмотрел и переделал скрипт. Пока полностью не проверял этот кусок, проверял только циклы без потока, но вроде ошибок нет. Если не лень вникать, может что подскажите как укоротить или что заменить. и за одно несколько вопросов.
1. Почему не желательно использовать координаты клика (-1,-1)? В данной игре мышью можно вообще не шевелить.
2. 1 пиксель моментально же ищится на экране, может можно 1 GETSCREEN в потоке на мах разрешение выставить, а в циклах вообще убрать GETSCREEN?
3. Как сделать рандомные зажатия на кнопки (#A) и (#D)?
4. Про функцию DIST поподробней, простейший пример хотя бы.
5. Можно ли где то убрать задержки (wait), потому что еще дофига чего запихать сюда надо?
Code: (clickermann) [Select]
WHILE($wn < 1)
   WNDSIZE ( wndfind("?"), 1616, 938)  // Размер окна 1600x900
   wait(2)
   WNDPOS ( wndfind("?"), 0, 0) // Центрировать окно по левому краю
   waitms(1000)
   $wn=1
END_CYC
waitms(50)
//=============================================
SUB(key)                  // Проверить нажатые кнопки и отжать
   if ( iskeydown(#W)=1 )
      KEYUP(#W)
      waitms(50)
   end_if
   if ( iskeydown(#A)=1 )
      KEYUP(#A)
      waitms(50)
   end_if
   if ( iskeydown(#S)=1 )
      KEYUP(#S)
      waitms(50)
   end_if
   if ( iskeydown(#D)=1 )
      KEYUP(#D)
      waitms(50)
   end_if
   waitms(rnd(50,70))
END_SUB
//=============================================
SUB(LEFT)                           // Прямо - налево
   key()
   KEYDOWN(#W)
   waitms(rnd(50,150))
   KEYDOWN(#A)
   waitms(rnd(150,350))
   KEYUP(#A)
   waitms(rnd(400,950))
   KEYUP(#W)
   waitms(50)
END_SUB
//=============================================
SUB(UP)                                   // Прямо
   key()
   KEYDOWN(#W)
   waitms(1500)
   KEYUP(#W)
   waitms(50)
END_SUB
//=============================================
SUB(RIGHT)                                 // Прямо - направо
   key()
   KEYDOWN(#W)
   waitms(rnd(50,150))
   KEYDOWN(#D)
   waitms(rnd(250,450))
   KEYUP(#D)
   waitms(rnd(450,850))
   KEYUP(#W)
   waitms(50)
END_SUB
//=============================================
SUB(DOWN)                      // Назад
   key()
   KEYDOWN(#S)
   waitms(rnd(300,1000))
   KEYDOWN(#D)
   waitms(rnd(300,900))
   KEYUP(#D)
   waitms(rnd(50,70))
   KEYUP(#S)
   waitms(rnd(50,70))
   KEYDOWN(#A)
   waitms(rnd(50,70))
   KEYDOWN(#W)
   waitms(rnd(800,1200))
   KEYUP(#A)
   waitms(rnd(800,2000))
   KEYUP(#W)
END_SUB
//=============================================
THREAD(enemy,1)
   $enemyB = 0
   $up=1
   IF($timeB1 < $_time_t)                      // Вызов ботов
      IF_PIXEL_IN(1448,736,1560,830, 255)     // враги вся карта
         RDOWN(-1,-1)
         waitms(rnd(100,250))
         RUP(-1,-1)
         waitms(rnd(100,300))
         LDOWN(-1,-1)
         waitms(rnd(100,250))
         LUP(-1,-1)
         waitms(50)
         $enemyB = 1
         $timeB1 = $_time_t +(rnd(10,20))
      else
         waitms(1000)
      END_IF
   END_IF
   WHILE($enemyB = 1)
      GETSCREEN (1420,730,1590,900)
      IF_PIXEL_IN(1486,796,1534,834, 255)   // Враг близко
         $up=0
         $lft=0
         $rht=0
         $dwn=0
         $ch=0
         waitms(200)
         key()
         KEYDOWN(#W)
         waitms(rnd(50,100))
         KEYDOWN(#A)
         wait(rnd(3,7))
         KEYUP(#A)
         waitms(rnd(50,100))
         KEYUP(#W)
         waitms(rnd(50,100))
         KEYDOWN(#S)
         wait(rnd(2,5))
         KEYDOWN(#D)
         waitms(rnd(300,1050))
         KEYUP(#D)
         waitms(rnd(50,70))
         KEYUP(#S)
      else
         $enemyB=0
         waitms(50)
      END_IF
   END_CYC
END_THREAD
//=============================================
$lft=0
$rht=0
$dwn=0
$ch=0
//=============================================
WHILE($up = 1)                                     //  Свои
   GETSCREEN (1420,730,1590,900)                  // Мини карта
   IF_PIXEL_IN(1486,736,1522,798, 16755543)       //  Вперед
      $ch=0
      print("Прямо")
      UP()
      WAITMS(50)
   else
      $ch=1
      $up=0
      $lft=1
   END_IF
END_CYC
//=============================================
WHILE($lft = 1)                                    // Свои
   GETSCREEN (1420,730,1590,900)
   IF_PIXEL_IN(1444,759,1485,804, 16755543)      // Прямо и чуть левее
      $ch=0
      print("Прямо-налево")
      Left()
      WAITMS(50)
   else
      $ch=1
      $lft=0
      $rht=1
   END_IF
END_CYC
//=============================================
WHILE($rht = 1)                                     //  Свои
   GETSCREEN (1420,730,1590,900)
   IF_PIXEL_IN(1523,759,1564,804, 16755543)       // Прямо и чуть правее
      $ch=0
      print("Прямо-направо")
      RIGHT()
      WAITMS(50)
   else
      $ch=1
      $rht=0
      $up=1
      $lft=1
      $dwn=1
   END_IF
END_CYC
//=============================================
WHILE($dwn = 1)&($ch=1)                                        //
   GETSCREEN (1420,730,1590,900)
   print("Назад")
   DOWN()                                                     // Назад
   $dwn=0
   $ch=0
   WAITMS(50)
END_CYC

12
Ужас что выходит, меньше половины задуманного на 150+ строк
Code: (clickermann) [Select]
WHILE($wn < 1)
   WNDSIZE ( wndfind("incognito"), 1616, 938)  // Размер окна 1600x900
   wait(3)
   WNDPOS ( wndfind("incognito"), 0, 0) // Центрировать окно по левому краю
   waitms(1000)
   $wn=1
END_CYC
waitms(50)
//=============================================
THREAD(enemyB,0)                // Враг близко (сектор b1)
   SETTHREAD (a, 2)
   SETTHREAD (b, 2)
   SETTHREAD (c, 2)
   KEYUP(#A)
   waitms(rnd(10,50))
   KEYUP(#D)
   waitms(rnd(10,50))
   KEYUP(#S)
   waitms(rnd(10,50))
   KEYDOWN(#W)
   waitms(rnd(50,100))
   KEYDOWN(#A)
   wait(rnd(2,4))
   KEYUP(#A)
   waitms(rnd(50,100))
   KEYUP(#W)
   waitms(rnd(50,100))
   KEYDOWN(#S)
   waitms(rnd(10,50))
   RNDFROM(KEYDOWN(#A),KEYDOWN(#D))
   wait(rnd(3,5))
   KEYUP(#A)
   waitms(rnd(10,50))
   KEYUP(#D)
   waitms(rnd(10,50))
   KEYUP(#S)
   SETTHREAD (enemyB, 2)
END_THREAD
//=============================================
THREAD(enemy,0)                        // Вызов ботов
   RDOWN(-1,-1)
   waitms(rnd(100,250))
   RUP(-1,-1)
   waitms(rnd(100,300))
   LDOWN(-1,-1)
   waitms(rnd(100,250))
   LUP(-1,-1)
   waitms(50)
   SETTHREAD (enemy, 2)
END_THREAD
//=============================================
THREAD(a,0)                           // Прямо - налево
   SETTHREAD (с, 2)
   SETTHREAD (b, 2)
   KEYUP(#A)
   waitms(rnd(10,50))
   KEYUP(#D)
   waitms(rnd(10,50))
   KEYUP(#S)
   waitms(50)
   KEYDOWN(#W)
   waitms(rnd(50,150))
   KEYDOWN(#A)
   waitms(rnd(250,450))
   KEYUP(#A)
   waitms(rnd(150,350))
   KEYUP(#W)
   print("Прямо - налево")
   waitms(rnd(500,1000))
   SETTHREAD (a, 2)
END_THREAD
//=============================================
THREAD(b,0)                                   // Прямо
   SETTHREAD (a, 2)                           
   SETTHREAD (c, 2)
   KEYUP(#D)
   waitms(rnd(10,50))
   KEYUP(#A)
   waitms(rnd(10,50))
   KEYUP(#S)
   waitms(rnd(50,100))
   KEYDOWN(#W)
   wait(rnd(2,4))
   KEYUP(#W)
   print("Вперед")
   waitms(100)
   SETTHREAD (b, 2)
END_THREAD
//=============================================
THREAD(с,0)                           // Прямо - направо
   SETTHREAD (a, 2)
   SETTHREAD (b, 2)
KEYUP(#S)
   waitms(rnd(10,50))
   KEYUP(#A)
   waitms(rnd(10,50))
   KEYUP(#D)
   waitms(rnd(50,100))
   KEYDOWN(#W)
   waitms(rnd(50,150))
   KEYDOWN(#D)
   waitms(rnd(250,450))
   KEYUP(#D)
   waitms(rnd(150,350))
   KEYUP(#W)
   print("Прямо - направо")
   waitms(rnd(500,1000))
   SETTHREAD (с, 2)
END_THREAD
//=============================================
GETSCREEN (1420,730,1590,900) // Мини карта
IF($timeA < $_time_t)
   IF_PIXEL_IN(1420,730,1485,795, 16755543)     // Свои a
      SETTHREAD (a, 1)
      print("a:",$_return1,":", $_return2)
      WAITMS(50)
      $timeA = $_time_t +(rnd(1,3))
   END_IF
END_IF
IF($timeB < $_time_t)
   IF_PIXEL_IN(1486,730,1534,795, 16755543)    //  Свои b
      SETTHREAD (b, 1)
      print("b:",$_return1,":", $_return2)
      WAITMS(50)
      $timeB = $_time_t +(rnd(1,2))
   END_IF
END_IF
IF($timeC < $_time_t)
   IF_PIXEL_IN(1535,730,1590,795, 16755543)    //  Свои с
      SETTHREAD (с, 1)
      print("c:",$_return1,":", $_return2)
      WAITMS(50)
      $timeC = $_time_t +(rnd(1,3))
   END_IF
END_IF
waitms(50)
GETSCREEN (1420,730,1590,900) // Мини карта
IF($timeALL < $_time_t)
   IF_PIXEL_IN(1420,730,1590,900, 255)    // Враги  вся карта
      SETTHREAD (enemy, 1)
      print("Вижу врага:",$_return1,":", $_return2)
      WAITMS(50)
      $timeALL = $_time_t +(rnd(10,20))
   END_IF
END_IF
IF($timeB1 < $_time_t)
   IF_PIXEL_IN(1486,796,1534,834, 255)   // Враги  сектор b1
      SETTHREAD (enemyB, 1)
      print("Враг близко:",$_return1,":", $_return2)
      WAITMS(50)
      $timeB1 = $_time_t +(rnd(1,2))
   END_IF
END_IF

13
Я новичев в Кликере, и вправду все гораздо проще. Нужно чтоб поиск шел по всей области, и в зависимости в каком секторе пиксель, производить действие. Эта мини карта своего рода джойстик, вверх;вниз;влево;вправо; и центр рандом. Буду разбираться.

14
Спасибо.

15
Привет мастера, может кто подскажет, и прокоментирует по возможности строки, чтоб я всякой лабудой в дальнейшем не напрягал=)
Есть область (1420,730,1591,901) (мини карта) , разделенная на секторы $a,$b..., в которых появляются пиксели, допустим черный и красный (0 и 255). Нужно чтобы при обнаружении "255" либо "0" пикселя в секторе $a производилось одно действие, в секторе $b другое, и т.д. Я так понимаю, нужно в массив запихать координаты секторов x,y,x1,y1.  в которых будет производится поиск пикселей. Что-то находил на форуме похожее, но пока темный лес для меня. Можете привести попроще пример, например: квадрат разделенный на 2 сектора. Заранее спасибо.
https://cloud.mail.ru/public/AEaa/5JR1EJtz4

Pages: [1] 2