Author Topic: лог  (Read 1218 times)

0 Members and 1 Guest are viewing this topic.

Зяба

  • Освоившийся
  • **
  • Posts: 21
    • View Profile
лог
« on: April 23, 2018, 12:34:24 PM »
Code: (clickermann) [Select]
SUB(дроп_вскрыть,$dname2)
   GETSCREEN($xx+431,$yy+226, $xx+499,$yy+299)
   IF_PICTURE_IN ($xx+431,$yy+226, $xx+499,$yy+299, $dname2, -1, 80)
      //вот как бы тут сделать что бы  считало сколько каких мешков открыло и по нажатии кнопки выдало инфу в лог
      m_move($_return1+RND(-10,10), $_return2+RND(-10,10))
      LCLICK($_xmouse,$_ymouse)
      WAITMS(rnd(400,600))
      GETSCREEN($xx+379,$yy+222, $xx+662,$yy+371)
      IF_PICTURE_IN ($xx+379,$yy+222, $xx+662,$yy+371, "вскрыть.bmp", -1, 80)
         LOGWRITE ("вскрываем:" ,$dname2,)
         m_move($_return1+RND(-1,1), $_return2+RND(-1,1))
         LCLICK($_xmouse,$_ymouse)
         WAITMS(rnd(1500,1700))
         $vuhod = $_time_t + 3
         WHILE($vuhod > $_time_t)
            GETSCREEN($xx+581,$yy+297, $xx+637,$yy+323)
            IF_PICTURE_IN ($xx+581,$yy+297, $xx+637,$yy+323, "выйты.bmp", -1, 90)
               IF($_log_log=1)
                  LOGWRITE ("выйты")
               END_IF
               $vuhod = 0
               WAITMS(50)
               m_move($_return1+RND(-5,5), $_return2+RND(-5,5))
               LCLICK($_xmouse,$_ymouse)
               WAITMS(rnd(1500,1700))
               WAITMS(10)
            ELSE
               WAITMS(5)
            END_IF
         END_CYC
      END_IF
   END_IF
END_SUB
//......
дроп_вскрыть("мешок синий.bmp")
дроп_вскрыть("мешок красный.bmp")
дроп_вскрыть("мешок фиолетовый.bmp")
дроп_вскрыть("мешок зеленый.bmp")//и.т.д



dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Re: лог
« Reply #1 on: April 23, 2018, 01:08:10 PM »
а я пошел по сложному пути с массивами  :D

Code: (clickermann) [Select]
SUB(дроп_вскрыть, $dname2)
   
   //добавляем в массив имена $dname2 . массив типа двухмерный.
   $name_check = -1
   FOR($i=0,$i < arrsize($name_arr),2)
      IF($name_arr[$i] = $dname2)
         $name_check = $i
         $i = arrsize($name_arr)
      ELSE
         $name_check = -1
      END_IF
   END_CYC
   IF($name_check = -1)
      ARRPUSH ($name_arr,$dname2)
      ARRPUSH ($name_arr,0)
      $name_check = arrsize($name_arr) - 2
   END_IF
   
   
   
   GETSCREEN($xx+431,$yy+226, $xx+499,$yy+299)
   IF_PICTURE_IN ($xx+431,$yy+226, $xx+499,$yy+299, $dname2, -1, 80)
      //вот как бы тут сделать что бы  считало сколько каких мешков открыло и по нажатии кнопки выдало инфу в лог
     
      inc($name_arr[$name_check+1])   // наращиваем количество
     
     
      m_move($_return1+RND(-10,10), $_return2+RND(-10,10))
      LCLICK($_xmouse,$_ymouse)
      WAITMS(rnd(400,600))
      GETSCREEN($xx+379,$yy+222, $xx+662,$yy+371)
      IF_PICTURE_IN ($xx+379,$yy+222, $xx+662,$yy+371, "вскрыть.bmp", -1, 80)
         LOGWRITE ("вскрываем:" ,$dname2,)
         m_move($_return1+RND(-1,1), $_return2+RND(-1,1))
         LCLICK($_xmouse,$_ymouse)
         WAITMS(rnd(1500,1700))
         $vuhod = $_time_t + 3
         WHILE($vuhod > $_time_t)
            GETSCREEN($xx+581,$yy+297, $xx+637,$yy+323)
            IF_PICTURE_IN ($xx+581,$yy+297, $xx+637,$yy+323, "выйты.bmp", -1, 90)
               IF($_log_log=1)
                  LOGWRITE ("выйты")
               END_IF
               $vuhod = 0
               WAITMS(50)
               m_move($_return1+RND(-5,5), $_return2+RND(-5,5))
               LCLICK($_xmouse,$_ymouse)
               WAITMS(rnd(1500,1700))
               WAITMS(10)
            ELSE
               WAITMS(5)
            END_IF
         END_CYC
      END_IF
   END_IF
END_SUB

//вывод в лог
THREAD(amm, 1)
   IF(ISKEYDOWN(#SPACE)=1) //при нажатии пробела     
      FOR($amm_i=0,$amm_i<arrsize($name_arr),2)
         print($name_arr[$amm_i]," найден - ", $name_arr[$amm_i+1]," раз.")
      END_CYC     
      WHILE(ISKEYDOWN(#SPACE)=1)    //пока не отпустили пробел
         waitms(100)
      END_CYC     
   END_IF
   WAITMS(100)
END_THREAD


//......
дроп_вскрыть("мешок синий.bmp")
дроп_вскрыть("мешок красный.bmp")
дроп_вскрыть("мешок фиолетовый.bmp")
дроп_вскрыть("мешок зеленый.bmp")//и.т.д

Зяба

  • Освоившийся
  • **
  • Posts: 21
    • View Profile
Re: лог
« Reply #2 on: April 23, 2018, 01:13:38 PM »
спасибо  ;) щас попробую именно таким путем если есть еще варианты у кого тоже интересно будет посмотреть  :)

Зяба

  • Освоившийся
  • **
  • Posts: 21
    • View Profile
Re: лог
« Reply #3 on: April 23, 2018, 07:52:37 PM »
оба варианта выдают ошибку  :( наверное из за того что именно эти мешки могут упасть а могут не упасть и выходит что  его не создало в массиве и выдает ошибку  ??? или что?

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Re: лог
« Reply #4 on: April 23, 2018, 08:04:10 PM »
чето inc  с массивом не работает  :( .
нужно заменить на $name_arr[$name_check+1] = $name_arr[$name_check+1]+1

вот сократил для теста, иммитирует рандомное вскрытие мешков:
Code: (clickermann) [Select]
SUB(дроп_вскрыть, $dname2)
   
   //добавляем в массив имена $dname2 . массив типа двухмерный.
   $name_check = -1
   FOR($i=0,$i < arrsize($name_arr),2)
      IF($name_arr[$i] = $dname2)
         $name_check = $i
         $i = arrsize($name_arr)
      ELSE
         $name_check = -1
      END_IF
   END_CYC
   IF($name_check = -1)
      ARRPUSH ($name_arr,$dname2)
      ARRPUSH ($name_arr,0)
      $name_check = arrsize($name_arr) - 2
   END_IF
   
   
   //рандом, иммитирует рандомное открытие мешков
   IF(rnd(0,1))
      print("Y")
      $name_arr[$name_check+1] = $name_arr[$name_check+1]+1    // наращиваем количество
      // inc($name_arr[$name_check+1])
      waitms(500)
   else
      print("N")
      waitms(500)
   END_IF
   
   
   
   
   
END_SUB

//вывод в лог
THREAD(amm, 1)
   IF(ISKEYDOWN(#SPACE)=1) //при нажатии пробела
      FOR($amm_i=0,$amm_i<arrsize($name_arr),2)
         print($name_arr[$amm_i]," найден - ", $name_arr[$amm_i+1]," раз.")
      END_CYC
      WHILE(ISKEYDOWN(#SPACE)=1)    //пока не отпустили пробел
         waitms(100)
      END_CYC
   END_IF
   WAITMS(100)
END_THREAD


//......
дроп_вскрыть("мешок синий.bmp")
дроп_вскрыть("мешок красный.bmp")
дроп_вскрыть("мешок фиолетовый.bmp")
дроп_вскрыть("мешок зеленый.bmp")//и.т.д

лог:
Code: [Select]
19:59:52 N
19:59:53 Y
19:59:53 Y
19:59:54 Y
19:59:54 N
19:59:55 Y
19:59:55 Y
19:59:56 мешок синий.bmp найден - 3 раз.
19:59:56 мешок красный.bmp найден - 4 раз.
19:59:56 мешок фиолетовый.bmp найден - 3 раз.
19:59:56 мешок зеленый.bmp найден - 2 раз.
19:59:56 Y
19:59:56 N
19:59:57 N
19:59:57 Y
19:59:58 Y




соответственно у тебя будет выглядеть вот так:
Code: (clickermann) [Select]
SUB(дроп_вскрыть, $dname2)
   
   //добавляем в массив имена $dname2 . массив типа двухмерный.
   $name_check = -1
   FOR($i=0,$i < arrsize($name_arr),2)
      IF($name_arr[$i] = $dname2)
         $name_check = $i
         $i = arrsize($name_arr)
      ELSE
         $name_check = -1
      END_IF
   END_CYC
   IF($name_check = -1)
      ARRPUSH ($name_arr,$dname2)
      ARRPUSH ($name_arr,0)
      $name_check = arrsize($name_arr) - 2
   END_IF
   
   
   
   GETSCREEN($xx+431,$yy+226, $xx+499,$yy+299)
   IF_PICTURE_IN ($xx+431,$yy+226, $xx+499,$yy+299, $dname2, -1, 80)
      //вот как бы тут сделать что бы  считало сколько каких мешков открыло и по нажатии кнопки выдало инфу в лог
     
      $name_arr[$name_check+1]=$name_arr[$name_check+1]+1   // наращиваем количество
     
     
      m_move($_return1+RND(-10,10), $_return2+RND(-10,10))
      LCLICK($_xmouse,$_ymouse)
      WAITMS(rnd(400,600))
      GETSCREEN($xx+379,$yy+222, $xx+662,$yy+371)
      IF_PICTURE_IN ($xx+379,$yy+222, $xx+662,$yy+371, "вскрыть.bmp", -1, 80)
         LOGWRITE ("вскрываем:" ,$dname2,)
         m_move($_return1+RND(-1,1), $_return2+RND(-1,1))
         LCLICK($_xmouse,$_ymouse)
         WAITMS(rnd(1500,1700))
         $vuhod = $_time_t + 3
         WHILE($vuhod > $_time_t)
            GETSCREEN($xx+581,$yy+297, $xx+637,$yy+323)
            IF_PICTURE_IN ($xx+581,$yy+297, $xx+637,$yy+323, "выйты.bmp", -1, 90)
               IF($_log_log=1)
                  LOGWRITE ("выйты")
               END_IF
               $vuhod = 0
               WAITMS(50)
               m_move($_return1+RND(-5,5), $_return2+RND(-5,5))
               LCLICK($_xmouse,$_ymouse)
               WAITMS(rnd(1500,1700))
               WAITMS(10)
            ELSE
               WAITMS(5)
            END_IF
         END_CYC
      END_IF
   END_IF
END_SUB

//вывод в лог
THREAD(amm, 1)
   IF(ISKEYDOWN(#SPACE)=1) //при нажатии пробела
      FOR($amm_i=0,$amm_i<arrsize($name_arr),2)
         print($name_arr[$amm_i]," найден - ", $name_arr[$amm_i+1]," раз.")
      END_CYC
      WHILE(ISKEYDOWN(#SPACE)=1)    //пока не отпустили пробел
         waitms(100)
      END_CYC
   END_IF
   WAITMS(100)
END_THREAD


//......
дроп_вскрыть("мешок синий.bmp")
дроп_вскрыть("мешок красный.bmp")
дроп_вскрыть("мешок фиолетовый.bmp")
дроп_вскрыть("мешок зеленый.bmp")//и.т.д

« Last Edit: April 23, 2018, 08:05:53 PM by dramster »

Зяба

  • Освоившийся
  • **
  • Posts: 21
    • View Profile
Re: лог
« Reply #5 on: April 23, 2018, 08:44:30 PM »
спасибо пойду проверять  :) а чет я  деревянный у меня же есть тоже вот так  как ты показал ниже у меня именно так +1 а не инс чет я не додумался  :-\ :( но спасибо отпишусь как проверю ))))))