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.


Topics - Leizer

Pages: [1]
1
Привет, есть скрипт в котором использован скрипт с выбором.
Он несколько раз повторяется в скрипте, первый раз все как надо, а во втором и далее все плачевно:
Варианты выбора рандомно раскиданы, при сделаном выборе в файл сохраняются значения из предведущего выбора.
буду благодарен если подскажите как решить.

Скрипт с выбором:
Code: [Select]
$input_file = "\vibor\Buildings.txt"           // Исходные данные - большой список
$output_file = "\vibor\Buildings_selected.txt" // Результат - список выбранных
TFREADARR($input_file, $items_all)
TFREADARR("\vibor\item_flags_all.txt", $itemsflags_all)
IF(ARRSIZE($itemsflags_all) < ARRSIZE($items_all))
   FOR($i = ARRSIZE($itemsflags_all) , $i < ARRSIZE($items_all))
      ARRPUSH($itemsflags_all, 0)
   END_CYC
END_IF
//##############################################################################
//Вывод текста на экран по 10 строк с чекбоксами
FOR($a, $a < INT ((ARRSIZE($items_all) / 22)+1))
   $n = $check * 22
   FOR($i = $n, (($i < $n+22) AND ($i < ARRSIZE($items_all))))
      ARRPUSH($items, $items_all[$i])
      ARRPUSH($itemsflags, $itemsflags_all[$i])
   END_CYC
   Window_checkbox_flags(101, "Выберите пункты :", 3000)
//   Window_checkbox_flags(110, "Выберите пункты :", 35) //жирным шрифтом текст не помещается ?
   STRSEPARATE ($flags, ",", $item_flags)
   STRSEPARATE($text, "|", $selecteditems)
   $flags = $item_flags[0]
   FOR($i=0, $i < ARRSIZE($item_flags))
      $flags = STRCONCAT($flags, ",", $item_flags[$i])
      IF($item_flags[$i] = 1)                       // Запись выбранных в массив
         ARRPUSH($Selected, $selecteditems[$i])
      END_IF
   END_CYC
//==============================================================================
//  Подговка ответа
   IF(ARRSIZE($Selected) > 0)
      $otv = $Selected[0]
      FOR($i=1, $i < ARRSIZE($Selected))
         $otv = STRCONCAT($otv, "\n", $Selected[$i])
      END_CYC
      $text = STRCONCAT("Выбраны пункты:\n\n", $otv)
      IF($return = -1)
         $hint = "Состояние чекбоксов не изменено"
         HINTPOPUP($hint, "ВНИМАНИЕ")
      END_IF
   ELSE
      $text = "Вы ничего не выбрали"
   END_IF
//==============================================================================
   TFWRITEARR ($output_file, $Selected) // Запись списка выбранных
   UNDEFINE($items)
   UNDEFINE($itemsflags)
   UNDEFINE($Selected)
   INC($check)  // следующие 10 строк
END_CYC

2
Здравствуйте, прошу подсказать как сделать запись информации о результате матча в блокнот.
Пример:
-Делается скрин экрана в выделенной области

-Поиск надписи "победа"

-если есть надпись "победа" то в документ пишется "победа"
-если нету "поражение"
И так каждый раз в новой строчке. еще желательно с датой.

Вот скрипт который щас, но без записи в файл.
Code: (clickermann) [Select]
#name "PlayV2"

   WNDPOS(459372,0,0)

   GETSCREEN //Проверка
    IF_PICTURE_IN (5,93, 40,133, "back.bmp", -1, 80)
      LCLICK($_return1, $_return2)
LCLICK($_return1, $_return2)   
      WAITMS(1000)
   ELSE
   KEYPRESS(#W)
   WAITMS(250)
   END_IF

   GETSCREEN //Играть
   IF_PICTURE_IN (47,187, 128,222, "igr.bmp", -1, 55)
   LCLICK($_return1, $_return2)
   WAITMS(500)
   END_IF
   
 WAITMS(1000)
 
   GETSCREEN //Обучен.
   IF_PICTURE_IN (400,121, 438,151, "Obuch.bmp", -1, 90)
   LCLICK($_return1, $_return2)
   WAITMS(500)
ESLE
KEYPRESS(#W)
   WAITMS(500)
   END_IF
   
 WAITMS(1000)
 
   GETSCREEN //Тим дезматч
   IF_PICTURE_IN (61,230, 176,326, "TDM.bmp", -1, 70)
   LCLICK($_return1, $_return2)
   WAITMS(500)
   END_IF

WAIT(20)
   
   GETSCREEN //Перс
   IF_PICTURE_IN (163,242, 676,421, "drej.bmp", -1, 50)
      LCLICK($_return1, $_return2)
      WAITMS(2000)
   ELSE                               
   GETSCREEN //Перс2
   IF_PICTURE_IN (163,242, 676,421, "Vivian.bmp", -1, 55)
      LCLICK($_return1, $_return2)
      WAITMS(1500)
   ELSE
   GETSCREEN //Перс3
   IF_PICTURE_IN (163,242, 676,421, "Kessi.bmp", -1, 55)
      LCLICK($_return1, $_return2)
      WAITMS(1500)   
   END_IF
   END_IF
   END_IF
   
    GETSCREEN //Выбрать
   IF_PICTURE_IN (327,428, 509,480, "accept.bmp", -1, 50)
   WAITMS(500)
   LCLICK($_return1, $_return2)
   END_IF
   
 WAIT(15)
 
   $check = 0
WHILE($check = 0)
   GETSCREEN //Награда
   IF_PICTURE_IN (330,455, 550,492, "Blueclose.bmp", -1, 40)
      $check = 1
      LCLICK($_return1, $_return2)
      WAITMS(500)
         ELSE //Награда вариант 2
      $check = 1
   IF_PICTURE_IN (430,399, 535,444, "RedClose.bmp", -1, 60)
      LCLICK($_return1, $_return2)
LCLICK($_return1, $_return2)   
      WAITMS(300)
      ELSE  //Награда вариант 3
      $check = 1
   IF_PICTURE_IN (430,399, 535,444, "Okk.bmp", -1, 65)
      LCLICK($_return1, $_return2)
LCLICK($_return1, $_return2)   
      WAITMS(2500)
   ELSE
KEYDOWN(#W)
WAITMS(1500)
KEYUP(#W)
WAITMS(500)
KEYPRESS(#F)
WAITMS(500)
KEYDOWN(#D)
WAITMS(1500)
KEYUP(#D)
WAITMS(500)
KEYDOWN(#W)
WAITMS(1500)
KEYUP(#W)
WAITMS(500)
KEYDOWN(#A)
WAITMS(1500)
KEYUP(#A)
WAITMS(500)
KEYPRESS(#Q)
WAITMS(500)
KEYDOWN(#W)
WAITMS(1500)
KEYUP(#W)
WAITMS(500)
KEYDOWN(#D)
WAITMS(1500)
KEYUP(#D)
WAITMS(1500)   
   END_IF
   END_IF
   END_IF
END_CYC

// Тут должна находится запись в лог

// Тут должна находится запись в лог

GETSCREEN //Проверка
    IF_PICTURE_IN (5,93, 40,133, "back.bmp", -1, 80)
      LCLICK($_return1, $_return2)
LCLICK($_return1, $_return2)   
      WAITMS(1000)
   ELSE
   KEYPRESS(#W)
   WAITMS(250)
   END_IF

3
Общие вопросы / Привязка
« on: March 22, 2018, 12:28:39 PM »
Можно ли как-то привязать 2 окна?

4
Помогите, написать скрипт чтоб когда в точке измениться цвет программа нажала на F после, прохода 3 секунд чтобы процесс пошел заново.
вот что у меня получилось но оно не работает!

Code: (clickermann) [Select]
KEYPRESS(#F)
WAIT(3)
$cw=1
while($cw=1)
   getscreen
   if_pixel_in(1832, 245, 1832, 250, 3390003)
      $cw=1
   else
      IF(pxlcount(1832, 245, 1832, 250, 3390003) = 1)
KEYPRESS(#F)
         waitms(1)
      END_IF
 
      IF(pxlcount(1832, 245, 1832, 250, 3390003) = 1)
  KEYPRESS(#F)
         waitms(1)
      END_IF
 
      IF(pxlcount(1832, 245, 1832, 250, 3390003) = 1)
     KEYPRESS(#F)
         waitms(1)
      END_IF
      IF(pxlcount(1832, 245, 1832, 250, 3390003) = 1)
KEYPRESS(#F)
         waitms(1)
      END_IF
 
      IF(pxlcount(1832, 245, 1832, 250, 3390003) = 1)
  KEYPRESS(#F)
         waitms(1)
      END_IF
 
      IF(pxlcount(1832, 245, 1832, 250, 3390003) = 1)
     KEYPRESS(#F)
         waitms(1)
      END_IF
      IF(pxlcount(1832, 245, 1832, 250, 3390003) = 1)
KEYPRESS(#F)
         waitms(1)
      END_IF
 
      IF(pxlcount(1832, 245, 1832, 250, 3390003) = 1)
  KEYPRESS(#F)
         waitms(1)
      END_IF
 
      IF(pxlcount(1832, 245, 1832, 250, 3390003) = 1)
     KEYPRESS(#F)
         waitms(1)
      END_IF
      IF(pxlcount(1832, 245, 1832, 250, 3390003) = 1)
KEYPRESS(#F)
         waitms(1)
      END_IF
 
      IF(pxlcount(1832, 245, 1832, 250, 3390003) = 1)
  KEYPRESS(#F)
         waitms(1)
      END_IF
 
      IF(pxlcount(1832, 245, 1832, 250, 3390003) = 1)
     KEYPRESS(#F)
         waitms(1)
      END_IF
      IF(pxlcount(1832, 245, 1832, 250, 3390003) = 1)
KEYPRESS(#F)
         waitms(1)
      END_IF
 
      IF(pxlcount(1832, 245, 1832, 250, 3390003) = 1)
  KEYPRESS(#F)
         waitms(1)
      END_IF
 
      IF(pxlcount(1832, 245, 1832, 250, 3390003) = 1)
     KEYPRESS(#F)
         waitms(1)
      END_IF
      IF(pxlcount(1832, 245, 1832, 250, 3390003) = 1)
KEYPRESS(#F)
         waitms(1)
      END_IF
 
      IF(pxlcount(1832, 245, 1832, 250, 3390003) = 1)
  KEYPRESS(#F)
         waitms(1)
      END_IF
 
      IF(pxlcount(1832, 245, 1832, 250, 3390003) = 1)
     KEYPRESS(#F)
         waitms(1)
      END_IF
      waitms(50)
   end_if
end_cyc

Pages: [1]