Author Topic: мозг плавится как сюда еще больше рандома вбить?  (Read 1205 times)

0 Members and 1 Guest are viewing this topic.

prepod11

  • Зашел в гости
  • *
  • Posts: 3
    • View Profile
SUB(mouse_move,$MOVE_END_X,$MOVE_END_Y)
   $MOVE_SPEED = 3  // множитель скорости
 
   $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), ROUND($MOVE_Y,0))
      WAITMS(1)
   END_CYC
   
   MOVE($MOVE_END_X, $MOVE_END_Y)
END_SUB
SUB(POISK)
   $SHIFT_X= 5
   $SHIFT_Y= 5   
   $ARR_NUM= 0
    $X2= 0
    $Y2= 0
    WHILE ($ARR_NUM < ARRSIZE ($ARR_SCAN))
       $x = $ARR_SCAN [$ARR_NUM]
       INC($ARR_NUM,1)
          $x = $ARR_SCAN [$ARR_NUM]
       INC($ARR_NUM,1)
       IF(($X > $X2) | ($Y > $Y2))
         $X2 = $X + $SHIFT_X
             $Y2 = $XY + $SHIFT_Y
             IF_PIXEL_IN($x=50,$y=50, $x+5,$y+5, 144)
                  WAITMS(1)
         ELSE
                $ARR_NUM = ARRSIZE($ARR_SCAN)
                WAITMS(Rnd(3000,4000))
                mouse_move($x, $y)
                DBLCLICK($x, $y)
                MOVE(1202,123)
          END_IF
       END_IF
     END_CYC
     UNDEFINE($ARR_SCAN)
END_SUB
GETSCREEN
SCANPXL($ARR_SCAN 144,235 , 1260,490 , 10990730)
POISK()             
   
 

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Что это такое ты тут понаписал???
Code: (clickermann) [Select]
$x = $ARR_SCAN [$ARR_NUM]
INC($ARR_NUM,1)
$x = $ARR_SCAN [$ARR_NUM]
INC($ARR_NUM,1)
IF(($X > $X2) | ($Y > $Y2))
$X2 = $X + $SHIFT_X
$Y2 = $XY + $SHIFT_Y
IF_PIXEL_IN($x=50,$y=50, $x+5,$y+5, 144)

Правильно так
Code: (clickermann) [Select]
$X = $ARR_SCAN [$ARR_NUM]
INC($ARR_NUM,1)
$Y = $ARR_SCAN [$ARR_NUM]
INC($ARR_NUM,1)
IF(($X > $X2) | ($Y > $Y2))
$X2 = $X + $SHIFT_X
$Y2 = $Y + $SHIFT_Y
IF_PIXEL_IN($x-50,$y-50, $x+5,$y+5, 144)

Весь код
Code: (clickermann) [Select]
SUB(mouse_move,$MOVE_END_X,$MOVE_END_Y)
   $MOVE_SPEED = 3  // множитель скорости
   
   $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), ROUND($MOVE_Y,0))
      WAITMS(1)
   END_CYC
   
   MOVE($MOVE_END_X, $MOVE_END_Y)
END_SUB
SUB(POISK)
   $SHIFT_X= 5
   $SHIFT_Y= 5
   $ARR_NUM= 0
   $X2= 0
   $Y2= 0
   WHILE ($ARR_NUM < ARRSIZE ($ARR_SCAN))
      $X = $ARR_SCAN [$ARR_NUM]
      INC($ARR_NUM,1)
      $Y = $ARR_SCAN [$ARR_NUM]
      INC($ARR_NUM,1)
      IF(($X > $X2) | ($Y > $Y2))
         $X2 = $X + $SHIFT_X
         $Y2 = $Y + $SHIFT_Y
         IF_PIXEL_IN($x-50,$y-50, $x+5,$y+5, 144)
            WAITMS(1)
         ELSE
            $ARR_NUM = ARRSIZE($ARR_SCAN)
            WAITMS(Rnd(3000,4000))
            mouse_move($x, $y)
            DBLCLICK($x, $y)
            MOVE(1202,123)
         END_IF
      END_IF
   END_CYC
   UNDEFINE($ARR_SCAN)
END_SUB

GETSCREEN
SCANPXL($ARR_SCAN 144,235, 1260,490, 10990730)
POISK()

Какой тебе там еще рандом нужен?

prepod11

  • Зашел в гости
  • *
  • Posts: 3
    • View Profile
там закрывашек не хватает но это ладно
по этому скрипту меня аж во вкладки бросает не пойму который из команд отвечет за зону поиска

prepod11

  • Зашел в гости
  • *
  • Posts: 3
    • View Profile
Что это такое ты тут понаписал???
Code: (clickermann) [Select]
$x = $ARR_SCAN [$ARR_NUM]
INC($ARR_NUM,1)
$x = $ARR_SCAN [$ARR_NUM]
INC($ARR_NUM,1)
IF(($X > $X2) | ($Y > $Y2))
$X2 = $X + $SHIFT_X
$Y2 = $XY + $SHIFT_Y
IF_PIXEL_IN($x=50,$y=50, $x+5,$y+5, 144)

Правильно так
Code: (clickermann) [Select]
$X = $ARR_SCAN [$ARR_NUM]
INC($ARR_NUM,1)
$Y = $ARR_SCAN [$ARR_NUM]
INC($ARR_NUM,1)
IF(($X > $X2) | ($Y > $Y2))
$X2 = $X + $SHIFT_X
$Y2 = $Y + $SHIFT_Y
IF_PIXEL_IN($x-50,$y-50, $x+5,$y+5, 144)

Весь код
Code: (clickermann) [Select]
SUB(mouse_move,$MOVE_END_X,$MOVE_END_Y)
   $MOVE_SPEED = 3  // множитель скорости
   
   $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), ROUND($MOVE_Y,0))
      WAITMS(1)
   END_CYC
   
   MOVE($MOVE_END_X, $MOVE_END_Y)
END_SUB
SUB(POISK)
   $SHIFT_X= 5
   $SHIFT_Y= 5
   $ARR_NUM= 0
   $X2= 0
   $Y2= 0
   WHILE ($ARR_NUM < ARRSIZE ($ARR_SCAN))
      $X = $ARR_SCAN [$ARR_NUM]
      INC($ARR_NUM,1)
      $Y = $ARR_SCAN [$ARR_NUM]
      INC($ARR_NUM,1)
      IF(($X > $X2) | ($Y > $Y2))
         $X2 = $X + $SHIFT_X
         $Y2 = $Y + $SHIFT_Y
         IF_PIXEL_IN($x-50,$y-50, $x+5,$y+5, 144)
            WAITMS(1)
         ELSE
            $ARR_NUM = ARRSIZE($ARR_SCAN)
            WAITMS(Rnd(3000,4000))
            mouse_move($x, $y)
            DBLCLICK($x, $y)
            MOVE(1202,123)
         END_IF
      END_IF
   END_CYC
   UNDEFINE($ARR_SCAN)
END_SUB

GETSCREEN
SCANPXL($ARR_SCAN 144,235, 1260,490, 10990730)
POISK()

Какой тебе там еще рандом нужен?
несколько рандомных точек а не туда и обратно пальевно как то когда мышка скользит сначала на клик потом как будто домой в одну пиксельуню точку

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
там закрывашек не хватает но это ладно
по этому скрипту меня аж во вкладки бросает не пойму который из команд отвечет за зону поиска

Каких еще закрывашек, ты там с переменными начудил.
IF_PIXEL_IN($x-50,$y-50, $x+5,$y+5, 144)
В $x $y находится координата искомого цвета. Здесь мы отнимаем -50 по xy от первой точке области поиска и добавляем +5 ко второй точке. В результате вокруг координаты образуется область поиска в 55 пикселов со смещением вверх и право.

Если напишешь так
IF_PIXEL_IN($x-5,$y-5, $x+5,$y+5, 144)
То будет произведен анализ в радиусе 5 пикселов от координаты.

Вот добавляем +-5 пикселов к координате
Code: (clickermann) [Select]
MOVE(1202+RND(-5,5),123+RND(-5,5))