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

Основной раздел => Общие вопросы => Topic started by: vvvmih on July 15, 2016, 04:57:26 PM

Title: Помогите с выводом в лог
Post by: vvvmih on July 15, 2016, 04:57:26 PM
Поиск из 9 картинок единственной правильной (он ищет идеально).
помогите пожалуйста с выводом в лог

LOGCLEAR
//   1
GETSCREEN (202,39, 400, 135)
COLORMODE(4)
$count = 9 // количество картинок
FOR($1=1,$1<$count+1) // Ищем картинки от начала до конца
   IF_PICTURE_IN (202,39, 400, 135, STRCONCAT("проги1\screens_1\1\",$1,".bmp"), -1, 100)
      WAITMS(10)
      LOGWRITE($1)
   END_IF
END_CYC
IF($1>0)
   $ed=1
   LOGWRITE($1)
   LOGWRITE("1")
ELSE
   LOGWRITE("нет 1")
END_IF

лог отображение (картинок 9 всего)
18:51:00 10
18:51:00 1

и тоже самое когда картинка найдена
Спасибо.
Title: Re: Помогите с выводом в лог
Post by: Oraven on July 15, 2016, 05:27:19 PM
... с выводом в лог чего?

Зачем ограничивать зону GETSCREEN но не ограничивать COLORMODE?
Не рекомендуется использовать в качестве  имен переменных цифры

Из справки
Quote
Имена для переменных могут содержать буквы латинского алфавита, цифры и знак "_" (нижнее подчеркивание). При этом перед именем обязательно должен идти префикс "$", а само имя не должно начинаться с цифры. К примеру, "$my_var1" - вполне допустимое имя для переменной.


Title: Re: Помогите с выводом в лог
Post by: vvvmih on July 15, 2016, 05:51:36 PM
Вот так правильней?

LOGCLEAR
//   1
GETSCREEN (202,39, 400, 135)
COLORMODE(202,39, 400, 135, 4)
$count = 9 // количество картинок
FOR($num_1=1,$num_1<$count+1) // Ищем картинки от начала до конца
   IF_PICTURE_IN (202,39, 400, 135, STRCONCAT("проги1\screens_1\1\",$num_1,".bmp"), -1, 100)
      WAITMS(10)
   END_IF
END_CYC
IF($num_1>0)
   $ed=1
   LOGWRITE($num_1)
   LOGWRITE("1")
ELSE
   LOGWRITE("нет 1")
END_IF

К примеру:
$num_1 не находит картинку но в логе пишет, что картинка найдена
Вот это условие правильно или нет "IF($num_1>0)"
Спасибо
Title: Re: Помогите с выводом в лог
Post by: Oraven on July 15, 2016, 06:35:42 PM
нет, ошибка синтаксиса в COLORMODE.
$num_1 это отсчет номера картинки, к найдено/не найдено никакого отношения не имеет.

Code: (clickermann) [Select]
$count_image = 0
LOGCLEAR
//   1
GETSCREEN (202,39, 400, 135)
COLORMODE(4, 202,39, 400, 135)
$count = 9 // количество картинок
FOR($num_1=1,$num_1<$count+1) // Ищем картинки от начала до конца
   IF_PICTURE_IN (202,39, 400, 135, STRCONCAT("проги1\screens_1\1\",$num_1,".bmp"), -1, 100)
      INC($count_image,1) // счетчик количества найденных картинок
   END_IF
END_CYC
IF($count_image>0)
   $ed=1
   LOGWRITE("Всего найдено картинок: ", $count_image)
   LOGWRITE("1")
ELSE
   LOGWRITE("нет 1")
END_IF
Title: Re: Помогите с выводом в лог
Post by: vvvmih on July 15, 2016, 08:43:06 PM
Спасибо ... завтра проверю
Вопрос?
Это переменая "$count_image = 0" может иметь вид "$count_image_1 = 0" или можно сократить "$kol_1=0".
и наверное нужно поменять "FOR($num_1=1,$num_1<$count+1" на "FOR($num_1=1,$num_1<$kol+1" или нет это разные переменные?
Дошло ...
$count = 9 // количество картинок
FOR($num_1=1,$num_1<$count+1) это для поиска ...
это $count_image = 0 может иметь любой вид... или я неправ....
Спасибо.
Title: Re: Помогите с выводом в лог
Post by: vvvmih on July 16, 2016, 06:52:46 AM
Проверил работает идеально ...
Спасибо
Title: Re: Помогите с выводом в лог
Post by: Oraven on July 16, 2016, 08:47:51 AM
count_image это имя переменной, обзави её как хочешь, главное чтобы имя с цифр не начиналось.
Title: Re: Помогите с выводом в лог
Post by: vvvmih on July 16, 2016, 11:14:30 AM
Спасибо
Я уже понял ;)
Title: Re: Помогите с выводом в лог
Post by: vvvmih on July 16, 2016, 01:50:31 PM
Вопросик еще можно...

Переменная "$ed" может быть передана в другой скрипт?
К примеру переменная "$ed" сработала в скрипте "ном_1.cms",  а в скрипте "результат. cms" ее получить...
Title: Re: Помогите с выводом в лог
Post by: Oraven on July 16, 2016, 04:08:28 PM
Кликер не работает с несколькими скриптами. Если же ты используешь две копии кликера из разных папок то используй запись в INI. Скрипты при этом могут находиться в одной паке.

Code: (clickermann) [Select]
INIWRITE("config.ini", "ed", "1") // 1 кликер записывает параметр


$ed = INT(INIREAD("config.ini", "ed")) // второй считывает параметр в переменную
// функция INT требуется для преобразования строки в число
Title: Re: Помогите с выводом в лог
Post by: vvvmih on July 16, 2016, 04:28:23 PM
Спасибо ... сейчас опробую ...

Прикольно .....  а ведь ... работает  :)
Title: Re: Помогите с выводом в лог
Post by: vvvmih on July 16, 2016, 08:19:08 PM
config.ini ... это тоже переменная?
в ней создается ed=1.... изменил config.ini на ed.ini и в ней создается ed=1 .....
апетиты растут во время еды .... в config.ini и ed.ini создается тока одна строка .... а можно несколько строк с разными переменными ...
например
INIWRITE("config.ini", "ed", "1") // 1 кликер записывает параметр
INIWRITE("config_1.ini", "ed_1", "2") // 2 кликер записывает параметр ed_1=2
INIWRITE("config_2.ini", "ed_2", "3") // 3 кликер записывает параметр ed_2=3
так возможно?
вывод информации работает цифры выводятся 1,2,3
1,2,3 скрипы запускаюся одновременно, а почемуто прописывется только скрипт ed=1 ... остальные два не видит ... если запустить отдельно все идеально только время большое получается работы скриптов ....
или это через запись в блокнот только (пока там еще не понимаю)
Спасибо
Title: Re: Помогите с выводом в лог
Post by: Oraven on July 17, 2016, 07:32:42 AM
Че за бред? Ты не знаешь что такое INI? В такой формат обычно программы свои настройки записывают. Там есть секции и параметры. Зная имя секции и параметра можно получить значение этого параметра. Если не указывать имя секции то она будет иметь имя "default" по умолчанию.

config.ini это файл который появляется рядом со скриптом. Зачем тебе разные файлы, пиши все в один.

INIWRITE("config.ini", "ed", "1") // 1 кликер записывает параметр
INIWRITE("config.ini", "ed_1", "2") // 2 кликер записывает параметр ed_1=2
INIWRITE("config.ini", "ed_2", "3") // 3 кликер записывает параметр ed_2=3

Теперь потрудись открыть этот файл и посмотреть что там.

Вот пример
Code: (clickermann) [Select]
// скрипт кликера 1

GETSCREEN
IF_PIXEL_IN(0,0, $_xmax,$_ymax, 255)
   INIWRITE("config.ini", "ed", "1") // 1 кликер записывает параметр
   INIWRITE("config.ini", "ed_mess", "Нашел")
ELSE
   INIWRITE("config.ini", "ed", "0")
   INIWRITE("config.ini", "ed_mess", "Не нашел")
END_IF
WAITMS(100)


// скрипт кликера 2

$ed = INT(INIREAD("config.ini", "ed")) // читаем
$ed2 = INIREAD("config.ini", "ed_mess")

LOGCLEAR
LOGWRITE ($ed) // выводим в лог
LOGWRITE ($ed2)

WAITMS(500)
Title: Re: Помогите с выводом в лог
Post by: vvvmih on July 18, 2016, 07:37:09 PM
Бред бреду розьн ....
В бреду рождается истина вопроса ...
Чем бредовей вопрос, тем ближе к истине познания данной проблеммы...
Проблемма в понятии работы данной программы в которй есть смысл решения проблеммы ....
Спасибо )
завтра побробую как вы написали...)

Спасибо за помощь ... разобрался ...
надо было в разных скриптах свои переменные
$count_image = 0 - 1 кликер
$count_image_1 = 0 - 2 кликер
так работает...)
Title: Re: Помогите с выводом в лог
Post by: vvvmih on July 19, 2016, 11:36:01 AM
Вот что получилось в .ini
[ed1]
ed1=нет
ed1_cek=2
[ed2]
ed2=нет
ed2_cek=3
[ed3]
ed3=нет
ed3_cek=2
[ed4]
ed4=нет
ed4_cek=3

Спасибо за помощь...)
Title: Re: Помогите с выводом в лог
Post by: Vint on July 19, 2016, 12:26:46 PM
У тебя переменные с разным именем, их можно писать все в одну секцию, чтобы не усложнять.
Title: Re: Помогите с выводом в лог
Post by: vvvmih on July 19, 2016, 01:54:20 PM
Спасибо я уже разобрался.
Это я специально сделал чтобы показать .... )))