Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started 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
и тоже самое когда картинка найдена
Спасибо.
-
... с выводом в лог чего?
Зачем ограничивать зону GETSCREEN но не ограничивать COLORMODE?
Не рекомендуется использовать в качестве имен переменных цифры
Из справки
Имена для переменных могут содержать буквы латинского алфавита, цифры и знак "_" (нижнее подчеркивание). При этом перед именем обязательно должен идти префикс "$", а само имя не должно начинаться с цифры. К примеру, "$my_var1" - вполне допустимое имя для переменной.
-
Вот так правильней?
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)"
Спасибо
-
нет, ошибка синтаксиса в COLORMODE.
$num_1 это отсчет номера картинки, к найдено/не найдено никакого отношения не имеет.
$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
-
Спасибо ... завтра проверю
Вопрос?
Это переменая "$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 может иметь любой вид... или я неправ....
Спасибо.
-
Проверил работает идеально ...
Спасибо
-
count_image это имя переменной, обзави её как хочешь, главное чтобы имя с цифр не начиналось.
-
Спасибо
Я уже понял ;)
-
Вопросик еще можно...
Переменная "$ed" может быть передана в другой скрипт?
К примеру переменная "$ed" сработала в скрипте "ном_1.cms", а в скрипте "результат. cms" ее получить...
-
Кликер не работает с несколькими скриптами. Если же ты используешь две копии кликера из разных папок то используй запись в INI. Скрипты при этом могут находиться в одной паке.
INIWRITE("config.ini", "ed", "1") // 1 кликер записывает параметр
$ed = INT(INIREAD("config.ini", "ed")) // второй считывает параметр в переменную
// функция INT требуется для преобразования строки в число
-
Спасибо ... сейчас опробую ...
Прикольно ..... а ведь ... работает :)
-
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 ... остальные два не видит ... если запустить отдельно все идеально только время большое получается работы скриптов ....
или это через запись в блокнот только (пока там еще не понимаю)
Спасибо
-
Че за бред? Ты не знаешь что такое 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
Теперь потрудись открыть этот файл и посмотреть что там.
Вот пример
// скрипт кликера 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)
-
Бред бреду розьн ....
В бреду рождается истина вопроса ...
Чем бредовей вопрос, тем ближе к истине познания данной проблеммы...
Проблемма в понятии работы данной программы в которй есть смысл решения проблеммы ....
Спасибо )
завтра побробую как вы написали...)
Спасибо за помощь ... разобрался ...
надо было в разных скриптах свои переменные
$count_image = 0 - 1 кликер
$count_image_1 = 0 - 2 кликер
так работает...)
-
Вот что получилось в .ini
[ed1]
ed1=нет
ed1_cek=2
[ed2]
ed2=нет
ed2_cek=3
[ed3]
ed3=нет
ed3_cek=2
[ed4]
ed4=нет
ed4_cek=3
Спасибо за помощь...)
-
У тебя переменные с разным именем, их можно писать все в одну секцию, чтобы не усложнять.
-
Спасибо я уже разобрался.
Это я специально сделал чтобы показать .... )))