Автокликер Clickermann :: Форум

Основной раздел => Прочее => Topic started by: mz3fedor on April 18, 2016, 01:25:08 PM

Title: Синтаксис LOAD, его возможность?
Post by: mz3fedor on April 18, 2016, 01:25:08 PM
Цель:
Разделить программы на под файлы, для удобного редактирования нужного процесса.
Запускать основной файл который будет управлять (под файлами) и по завершению (под файла), возвращаться к основному...
---------------------------------------------------------------
Что я имею на данный момент от Синтаксис  LOAD
1. Запускаю основной файл
2. Загружается под файл, и он там повисает до бесконечности циклов.
3. Надеясь на "Halt" не помогает закрыть под файл (выдает ошибку).
---------------------------------------------------------------
Мой Вопрос можно ли данной программе вызвать (под файл) и по завершению его, вернуться обратно к (основному  файлу) для дальнейшей работы программы с того же места от куда был вызван (под файл)?

Code: (clickermann) [Select]
//Основной файл
$var=1
sub(sos)
 LOAD("вызов.cms")
end_sub

print("Начало")
if($var=1)
 sos()
end_if

print("конец")
halt

//Вымазываемый мной под файл "вызов.cms"
$123 = StrReadln("Распределение заданий/bot_01.txt", 2 )//считывает вторую строку

TFWrite("vnesti.txt", $123 )//записывает вторую строку из файла "bot_01.txt" в файл "vnesti.txt"

HALT


Title: Re: Синтаксис LOAD, его возможность?
Post by: mz3fedor on April 18, 2016, 01:34:36 PM
Нашел решение проблемы с помощью #include
Странно, в программе его очень глубоко запрятали  :(, на форуме еле как отрыл.
Но потом уж в программе самой в "ДИРЕКТИВЫ ПРЕПРОЦЕССОРА" обнаружил
Title: Re: Синтаксис LOAD, его возможность?
Post by: Vint on April 18, 2016, 01:36:34 PM
Зачем здесь LOAD?
Почему не используется #include
Title: Re: Синтаксис LOAD, его возможность?
Post by: Vint on April 18, 2016, 01:39:00 PM
Пока писал...
Пора бы в справке выпилить LOAD или хотя бы упомянуть там include со ссылкой на раздел.
Чёт в последнее время все кинулись новой волной на LOAD.
Title: Re: Синтаксис LOAD, его возможность?
Post by: Oraven on April 18, 2016, 01:40:18 PM
LOAD устаревшая функция, более не поддерживается в кликере. В последней 4.12 версии она была полностью выпилена. В предыдущей версии уже работал криво.
Title: Re: Синтаксис LOAD, его возможность?
Post by: Oraven on April 18, 2016, 01:41:04 PM
Пока писал...
Пора бы в справке выпилить LOAD или хотя бы упомянуть там include со ссылкой на раздел.
Чёт в последнее время все кинулись новой волной на LOAD.

Так уже убрана.
Title: Re: Синтаксис LOAD, его возможность?
Post by: Vint on April 18, 2016, 01:42:53 PM
Ну слава богу.
Title: Re: Синтаксис LOAD, его возможность?
Post by: mz3fedor on April 18, 2016, 01:43:32 PM
Надо бы там упомянуть о нем, и описание толковое, а то не сразу понятно что за директива #include, а проект продолжает деятельность или встал пока? а где скачать 4.12 версию, на данном сайте вижу только 4.11
Title: Re: Синтаксис LOAD, его возможность?
Post by: Oraven on April 18, 2016, 01:54:49 PM
4.12 Это бета версия
http://crapware.aidf.org/forum/index.php?topic=356.msg15534#msg15534 (http://crapware.aidf.org/forum/index.php?topic=356.msg15534#msg15534)
Title: Re: Синтаксис LOAD, его возможность?
Post by: mz3fedor on April 18, 2016, 02:24:02 PM
Спасибо, а была ли добавлена функция поиска пикселя наоборот (с правого нижнего угла -> левому верхнему) с права на лево или с низу в верх?
я где то натыкался на форуме на просьбу чтоб ее добавили. так ответа и  не нашел
Title: Re: Синтаксис LOAD, его возможность?
Post by: Vint on April 18, 2016, 02:37:10 PM
Ответ был нет. Джонни не хочет перегружать функции ещё дополнительными аргументами.
Всё это легко реализуется через SCANPXL и нужную сортировку результата. Иногда это не подходит (если искомых пикселей ну ооочень много), но там и не нужен справа/снизу.
Title: Re: Синтаксис LOAD, его возможность?
Post by: mz3fedor on April 18, 2016, 02:48:39 PM
Жалко, просто нужно было определить границы (квадрата). этих квадратов много в одном из них размещена рандомно точка(которую я нахожу по пикселю), ну конечно можно написать с низу в верх и с права на лево, только код длинный получиться...
Title: Re: Синтаксис LOAD, его возможность?
Post by: Vint on April 18, 2016, 03:25:20 PM
Ну да, код вообще длиннющий...  ;D
Code: (clickermann) [Select]
GETSCREEN
SCANPXL($arr, 0,0,$_xmax,$_ymax, 255)

$right_x = -1
$right_y = -1
$down_x = -1
$down_y = -1
FOR($i=0, $i < ARRSIZE($arr), 2)
   $X = $arr[$i]
   $Y = $arr[$i+1]
   IF($X > $right_x)
      $right_x = $X
      $right_y = $Y
   END_IF
   IF($Y > $down_y)
      $down_x = $X
      $down_y = $Y
   END_IF
END_CYC

LOGWRITE("right X/Y  ", $right_x, " / ", $right_y)
LOGWRITE("down X/Y  ", $down_x, " / ", $down_y)

UNDEFINE($ARR_SCAN)
HALT
в результате координаты самой правой и самой нижней
Title: Re: Синтаксис LOAD, его возможность?
Post by: mz3fedor on April 18, 2016, 03:30:04 PM
ага) только написал), и решил сюда выложить а тут уже готово)
Code: (clickermann) [Select]

$x1 = 495
$y1 = 500
move($x1,$y1)
GETSCREEN
$temp = 1
WHILE ($temp = 1)
move($x1,$y1)

if($poisk_y = 0)
INC($y1,-1)
END_IF

if($poisk_x = 0)
INC($x1,-1)
END_IF

if (PXL($x1,$y1) = 15261649)
$poisk_y = 1
END_IF

if (PXL($x1,$y1) = 15390398)
$poisk_x = 1
HALT
END_IF

END_CYC

HALT

Title: Re: Синтаксис LOAD, его возможность?
Post by: Vint on April 18, 2016, 04:06:01 PM
Уууу. Такой перебор будет медленно работать. Иногда очень медленно.
Title: Re: Синтаксис LOAD, его возможность?
Post by: mz3fedor on April 18, 2016, 06:48:09 PM
К сожалению твой код не то что требовалось, он у тебя показывает начальную точку данного цвета и конечную, т.е. мониторит весь экран.
Может я не правильно выразился, суть в том что на экране сетка из квадратиков(размеры квадрата меняются), и в одном из квадратиков появилась допустим (красная точка), которую я нахожу и имею данные координаты этой точки. далее мне нужно узнать размеры этого квадрата в которой находиться точка  :-\
Title: Re: Синтаксис LOAD, его возможность?
Post by: Oraven on April 18, 2016, 07:18:18 PM
Code: (clickermann) [Select]
GETSCREEN
IF_PIXEL_IN(60,263, 720,867, 1842431)
   $x = $_return1 // записываем координаты точки
   $y = $_return2
   $x0 = $x-5 // отступ от точки
   $y0 = $y
   WHILE(PXL($x0,$y0) = 16777215) // определяем границы
      INC($x0,-1)
   END_CYC
   $x1 = $x0
   
   $x0 = $x+5
   $y0 = $y
   WHILE(PXL($x0,$y0) = 16777215)
      INC($x0,1)
   END_CYC
   $x2 = $x0
   
   $x0 = $x
   $y0 = $y-5
   WHILE(PXL($x0,$y0) = 16777215)
      INC($y0,-1)
   END_CYC
   $y1 = $y0
   
   $x0 = $x
   $y0 = $y+5
   WHILE(PXL($x0,$y0) = 16777215)
      INC($y0,1)
   END_CYC
   $y2 = $y0
END_IF

LOGWRITE ($x1, ",", $y1, " ", $x2,",", $y2) // результат в лог

HALT
Title: Re: Синтаксис LOAD, его возможность?
Post by: Vint on April 19, 2016, 08:37:53 AM
К сожалению твой код не то что требовалось, он у тебя показывает начальную точку данного цвета и конечную, т.е. мониторит весь экран.
Может я не правильно выразился...

Я и не делал решение твоей задачи. Я показал альтернативу другой твоей просьбе:
Спасибо, а была ли добавлена функция поиска пикселя наоборот (с правого нижнего угла -> левому верхнему) с права на лево или с низу в верх?

Вот код и ищет справа налево и/или снизу вверх. А как ты его собирался применять я не знаю.