Author Topic: Помогите со скриптом  (Read 4254 times)

0 Members and 1 Guest are viewing this topic.

Ramzesia

  • Активный участник
  • ***
  • Posts: 263
    • View Profile
Помогите со скриптом
« on: November 14, 2019, 01:54:33 AM »
прошу помочь со скриптом, никак не могу придумать как реализовать следующее.
Есть окно с клетками 9 клеток по ширине 11 по высоте, от центра одной клетки до центра второй 35 пикселей что по высоте что по ширине, нужно проверить каждую на наличии пикселя каждую если он есть кликнуть 2 раза.

Ramzesia

  • Активный участник
  • ***
  • Posts: 263
    • View Profile
Re: Помогите со скриптом
« Reply #1 on: November 14, 2019, 11:24:35 AM »
зачем тогда кликер тогда уж сам покликаю), ожидал более уную схему, которая сама пробежалась бы по клеткам, без тыканья носом в каждую)

Ramzesia

  • Активный участник
  • ***
  • Posts: 263
    • View Profile
Re: Помогите со скриптом
« Reply #2 on: November 14, 2019, 02:26:38 PM »
Если б я разбирался во всем этом "умно" то не просил бы помощи тут, если ты хорошо разбираешься в скрипте то это не значит что ты не ламер в другом, человек не может знать все. И с чего ты взял что я не искал или не пробовал? Да может это и нубский скрип но я его не смог сделать.
И вообще не понимаю людей которые пишут подобное, если можешь помочь, помоги если нет желания пройди мимо, а раздувай тему бессмысленными ответами, не по теме.
Ничего личного просто высказался.
И да, я всегда сперва пробую найти на форуме, потом пытаюсь сделать сам, и только потом, когда не получилось, создаю тему.
« Last Edit: November 14, 2019, 02:31:21 PM by Ramzesia »

Ramzesia

  • Активный участник
  • ***
  • Posts: 263
    • View Profile
Re: Помогите со скриптом
« Reply #3 on: November 14, 2019, 04:11:32 PM »
Получилось так, проходит девять клеток нижнего ряда, подняться на верх не получается, пробовал цикл в цикле но не сработало.
Важно: скрипт должен проходить с низу в верх и с права налево по строчке.
Прикрутил скрин для теста. 

Code: (clickermann) [Select]
WAIT(1)

$x1=331
$y1=579

MOVE($x1,$y1)

GETSCREEN // Обновлять не нужно хватает одного снимка
FOR($a=0,$a<9)
   IF_PIXEL_IN($_xmouse, $_ymouse, $_xmouse+6, $_ymouse+7, 255)
      DBLCLICK($_xmouse, $_ymouse)
      WAITMS(500)
      LOGWRITE ("Что то получается")
      WAITMS(100)
   END_IF
   MOVE($_xmouse-35, $_ymouse)
END_CYC


halt
« Last Edit: November 14, 2019, 04:46:38 PM by Ramzesia »

Космич

  • Активный участник
  • ***
  • Posts: 265
    • View Profile
Re: Помогите со скриптом
« Reply #4 on: November 14, 2019, 05:40:44 PM »
Code: (clickermann) [Select]
$start_X = 331
$start_Y = 579

$end_X = $start_X  + (9  * 35)
$end_Y = $start_Y  + (11 * 35)

GETSCREEN($start_X, $start_Y, $end_X, $end_Y)
FOR($k = $end_Y, $k > $start_Y, - 35)
   FOR($i = $end_X, $i > $start_X, - 35)     
      IF(PXL($i, $k) = 255)
      // ...
      END_IF
   END_CYC
END_CYC
« Last Edit: November 14, 2019, 05:42:22 PM by Космич »
«Иногда ты ваяешь до тех пор, пока до тебя не дойдёт, что именно ты делаешь.»

Ramzesia

  • Активный участник
  • ***
  • Posts: 263
    • View Profile
Re: Помогите со скриптом
« Reply #5 on: November 14, 2019, 06:01:04 PM »
В место точек поставил даблклик, ничего не делает. Там пиксель в участке 6х7 пикселей искать надо, чисто за 1 цепляться не получится, ну или я не понял как твой скрипт работает.
Раньше проще понимал все, щас что то со мной не то, или примеры умнее стали:(

Code: (clickermann) [Select]
// Как я это понимаю
//коры левый верх
$start_X = 331
$start_Y = 579

//коры правый низ
$end_X = $start_X  + (9  * 35)
$end_Y = $start_Y  + (11 * 35)
 
GETSCREEN($start_X, $start_Y, $end_X, $end_Y) // снимок всех клеток
// Дальше не понимаю
FOR($k = $end_Y, $k > $start_Y, - 35)
   FOR($i = $end_X, $i > $start_X, - 35)     
      IF(PXL($i, $k) = 255)
      // ...
      END_IF
   END_CYC
END_CYC
« Last Edit: November 14, 2019, 06:15:57 PM by Ramzesia »

Ramzesia

  • Активный участник
  • ***
  • Posts: 263
    • View Profile
Re: Помогите со скриптом
« Reply #6 on: November 14, 2019, 07:09:57 PM »
Твой вариант так и не получилось заставить работать.
Доделал свой, вроде работает как надо Во всяком случае спасибо за потраченное время, лучший форум из всех что встречал!

Вот мой вариант, возможно криво но что есть, как говорится)

Code: (clickermann) [Select]
WAIT(1)

$x1 = 331
$y1 = 579

MOVE($x1, $y1)

GETSCREEN
FOR($a = 0,$a < 11)
   FOR($b = 0,$b < 9)
      IF_PIXEL_IN($_xmouse, $_ymouse, $_xmouse + 6, $_ymouse + 7, 255)
         DBLCLICK($_xmouse, $_ymouse)
         WAITMS(500)
         LOGWRITE ("Что то получается")
         WAITMS(100)
      END_IF
      MOVE($_xmouse - 35, $_ymouse)
   END_CYC
   INC($y1, - 35)
   MOVE($x1, $y1)
END_CYC

halt

Космич

  • Активный участник
  • ***
  • Posts: 265
    • View Profile
Re: Помогите со скриптом
« Reply #7 on: November 14, 2019, 08:10:13 PM »
покажи реальный скрин этой сетки
«Иногда ты ваяешь до тех пор, пока до тебя не дойдёт, что именно ты делаешь.»

Ramzesia

  • Активный участник
  • ***
  • Posts: 263
    • View Profile
Re: Помогите со скриптом
« Reply #8 on: November 15, 2019, 02:12:19 AM »
это скрин эксель файла проверял там, координаты указаные в моем скрипте нижний правый угол

Космич

  • Активный участник
  • ***
  • Posts: 265
    • View Profile
Re: Помогите со скриптом
« Reply #9 on: November 15, 2019, 02:57:03 AM »
тоже самое, но только за место пикселя нужна картинка
Code: (clickermann) [Select]
GETSCREEN
SCANPICTURE($arr, $_xmin, $_ymin, $_xmax, $_ymax, "picture.bmp", -1, 100)
FOR($i = ARRSIZE($arr), $i > 0, - 2)
   DBLCLICK($arr[$i - 2], $arr[$i - 1])
   WAITMS(500)
END_CYC

HALT
«Иногда ты ваяешь до тех пор, пока до тебя не дойдёт, что именно ты делаешь.»

Ramzesia

  • Активный участник
  • ***
  • Posts: 263
    • View Profile
Re: Помогите со скриптом
« Reply #10 on: November 15, 2019, 02:58:42 AM »
Спасибо, но с картинкой не пойдет (содержимое клетки меняется), там именно область 6х7 надо сканировать на наличие пикселя, мой вариант меня устраивает, но в нем есть 2 минуса, первое это курсор после сдвига в лево, делает один шаг в 35 пикселей лишним, второе скрип не стабилен, то есть если мышку сдвинуть все собьется. если убрать эти 2 минуса ну хотя бы второй то было бы супер.

Космич

  • Активный участник
  • ***
  • Posts: 265
    • View Profile
Re: Помогите со скриптом
« Reply #11 on: November 15, 2019, 03:04:41 AM »
ты скрипт делаешь для эксель таблицы или для чего то другого?
«Иногда ты ваяешь до тех пор, пока до тебя не дойдёт, что именно ты делаешь.»

Ramzesia

  • Активный участник
  • ***
  • Posts: 263
    • View Profile
Re: Помогите со скриптом
« Reply #12 on: November 15, 2019, 03:07:58 AM »
для другого, но с картинкой и тут уже не сработает.

Ramzesia

  • Активный участник
  • ***
  • Posts: 263
    • View Profile
Re: Помогите со скриптом
« Reply #13 on: November 15, 2019, 03:17:23 AM »
Поверь пример с эксель файлом идентичен, если заработает тут будет работать и там.
Повторюсь, нужно сканировать участок в клетке 6х7 пикселей, на наличие пикселя.

Космич

  • Активный участник
  • ***
  • Posts: 265
    • View Profile
Re: Помогите со скриптом
« Reply #14 on: November 15, 2019, 03:31:14 AM »
всё работает
https://i.zhyk.ru/image/1sqoM
«Иногда ты ваяешь до тех пор, пока до тебя не дойдёт, что именно ты делаешь.»