Author Topic: запоминать куда уже нажимал  (Read 4421 times)

0 Members and 7 Guests are viewing this topic.

Зануда

  • Активный участник
  • ***
  • Posts: 104
    • View Profile
Re: запоминать куда уже нажимал
« Reply #15 on: May 30, 2017, 11:30:27 AM »
[spoiler][/spoiler]
спасибо мне кажется 1 вариант подойдет :? обвел кнопочку на след страницу это когда на этой все прошли

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: запоминать куда уже нажимал
« Reply #16 on: May 30, 2017, 12:04:39 PM »
О, так в одну колонку, тогда совсем просто
Code: (clickermann) [Select]
// = это в начале скрипта =
$guests = 0
$guest_page = 1
//=========================

IF($guests > 9)
    $guests = 0  // сбрасываем 10 нажатий в гости
    INC($guest_page)  // страница на 1 больше
END_IF


WHILE($gosti > $_time_t)
    // следующая страница $guest_page раз
    FOR($i=0, $i < $guest_page)
        LCLICK(856,544)
        WAITMS(1000)
    END_CYC
   
    GETSCREEN(396,83, 559,165)  // что с координатами???
    IF_PICTURE_IN (826,132, 971,534, "в гости.bmp", -1, 80)
        m_move($_return1 + RND(-10,10), $_return2 + (33*$guests) + RND(-10,10))
        LCLICK($_xmouse,$_ymouse)
        WAITMS(rnd(1700,2399))
        INC($guests)
    ELSE
        WAITMS(5)
    END_IF
END_CYC


Зануда

  • Активный участник
  • ***
  • Posts: 104
    • View Profile
Re: запоминать куда уже нажимал
« Reply #17 on: May 30, 2017, 12:42:52 PM »
Code: (clickermann) [Select]
SUB(mouse_move,$MOVE_END_X,$MOVE_END_Y)
   $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_step = ($dist-1)/INT(SQRT($dist))
   $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(INT($MOVE_X) + RND(-2,2), INT($MOVE_Y) + RND(-2,2))
      WAITMS($rnwait) // задержка при движении по точкам
   END_CYC
END_SUB

SUB(m_move,$M_X,$M_Y)
   $rnwait = RND(6,15) // случайная скорость
   $MOVE_MID_X = INT(($_xmouse+$M_X)/2)
   $MOVE_MID_Y = INT(($_ymouse+$M_Y)/2)
   $otx = INT(ABS($_xmouse - $M_X) * 0.12)
   $oty = INT(ABS($_ymouse - $M_Y) * 0.12)
   mouse_move($MOVE_MID_X+RND(-$otx,$otx), $MOVE_MID_Y+RND(-$oty,$oty))
   mouse_move($M_X,$M_Y)
   MOVE($M_X,$M_Y) //Передвинуть окончательно в заданную точку
END_SUB
$guests = 0
$guest_page = 1



SUB(рейтинг)
   GETSCREEN (634,73, 715,173)
   IF_PICTURE_IN (634,73, 715,173, "рейтинг.bmp", -1, 70)
      LOGWRITE ("не тот лвл или счетчик")
      m_move($_return1+RND(-10,10), $_return2+RND(-10,10))
      LCLICK($_xmouse,$_ymouse)
     
      $hranitili = $_time_t + 6
      WHILE($hranitili > $_time_t)
         GETSCREEN  (396,83, 559,165)
         IF_PICTURE_IN (396,83, 559,165, "хранители.bmp", -1, 80)
            $hranitili = 0
            m_move($_return1+RND(-10,10), $_return2+RND(-10,10))
            LCLICK($_xmouse,$_ymouse)
            WAITMS(rnd(500,999))
            $gosti = $_time_t + 10
            //
            IF($guests > 9)
   $guests = 0  // сбрасываем 10 нажатий в гости
   INC($guest_page)  // страница на 1 больше
END_IF
           
            WHILE($gosti > $_time_t)
               // следующая страница $guest_page раз
               FOR($i=0, $i < $guest_page)
                  LCLICK(856,544)
                  WAITMS(1000)
               END_CYC
               
               GETSCREEN(826,132, 971,534)  // что с координатами???
               IF_PICTURE_IN (826,132, 971,534, "в гости.bmp", -1, 80)
                  m_move($_return1 + RND(-10,10), $_return2 + (33*$guests) + RND(-10,10))
                  $gosti=0
                  LCLICK($_xmouse,$_ymouse)
                  WAITMS(rnd(1700,2399))
                 
                  INC($guests)
               ELSE
                  WAITMS(5)
               END_IF
            END_CYC
            //
         ELSE
            WAITMS(50)
         END_IF
      END_CYC
   END_IF
END_SUB
рейтинг()
сделал вот так для проверки тычет все время в первую в списке  :-[

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: запоминать куда уже нажимал
« Reply #18 on: May 30, 2017, 01:21:48 PM »
Не нужно бездумно крутить цикл по кругу. Или тогда начальные значения нужно не так задавать.

Так:
Code: (clickermann) [Select]
// все твои сабы

DEFINE($guests, 0)
DEFINE($guest_page, 1)

рейтинг()

Или так:
Code: (clickermann) [Select]
// все твои сабы

IF($first = 0)
    $first = 1
    $guests = 0
    $guest_page = 1
END_IF

рейтинг()

Или делай явное выполнение нужного куска скрипта
Code: (clickermann) [Select]
// все твои сабы

$guests = 0
$guest_page = 1

FOR($n=0, $n < 20)   // вызываем "рейтинг" 20 раз
рейтинг()
END_CYC
HALT


Зануда

  • Активный участник
  • ***
  • Posts: 104
    • View Profile
Re: запоминать куда уже нажимал
« Reply #19 on: May 30, 2017, 02:15:32 PM »
извените не знал что так нельзя я просто решил в скрипт сразу не всталять а проверить как работает  :( спасибо  все работает как нужно