[spoiler=вот в чем дело ]черт подери, может Johnny встроил майнер в кликер
на заметку Johnny для новых версий . [/spoiler]
Идея годная, больше 1000 голов уже есть, пора монетизировать!
А ваще Аэро лупе не помеха, одно может помогать другому тормозить.
Ну и майнин в простое -__-
По ходу и задумка с #дефайном неплохое быстрое решения, я уж и забыл про него, хотя перед переходом на новый движок надо малость потестить завтра и оценить все про да контра.
Захотелось ещё вот кратко набросать список нововведённых функций:
[spoiler=Свежие функции Кликермана после релиза 4.13.3b]
$_xmin (эти два для режима привязки? или только для мультимонитора?)
$_ymin ~~~
$_date_str
$_time_str
HGETPID(hwnd)
GETMESSAGE (wParam, lParam, [isnew] )
Tab, Ctrl+Tab, Shift+Tab, Ctrl+S (пользуюсь в редакторе этим хоткеем ещё с 4.13.3 точно)
$_hwnd_self
!= <= >=
and or xor ^
arrsort($array)
#logfile "debug.txt"
\data\default.txt
--httpwork.dll
CHAR(code)[/spoiler]
Для таких как я, которые вечно всё пропускают. Я ожидал, что будет 4 версия, но вот 5-ой и 7-ой я точно не ждал, хорошие у Джона перемены)) Unicode у меня кстати так и не работает, надо б на эту тему написать обзорчег.
Провел эксперименты. Нашёл, что ошибка появляется когда есть файл скрипта по умолчанию default.txt
Не совсем въеду, об чём речь. Что за дефолт и где он лежит? ...А, всё, почитал справку, раздел "История") Дооо, надо эт потестить есчо. Читаю в справке: "Доработка функций граф поиска", думаю: во-о-о, чтот Джонни ввёл для расчёта графов и задачи коммивояжера)
Надумал щас вот побыряку потестить и запустить новые версии кликера да не тут то было. Ни одна из новых версий не пошла, два раза вылетает "Прекращена работа программы" и без всяких опций. С-под админа тож не завелось, завтра надо буит добавить в исключения и перегрузиться. Обычно я не тушу комп, а гибернирую))
Ещё интрэсна, научатся ли когда-нибудь функции getfilelist/getdirlist возвращать и дату изменения файлов/папок, а не только их имена? Допустим даже через несколько скрытых параметров (один ключ = нужны ли пользователю даты или нет, второй = формат возвращаемой даты).
Мои пометки к новой справке:
+ Доработка READMEM(), теперь функция
Теперь функция, а раньше тогда что это было? Или тут недописано?
+ Отказ от библиотеки httpwork.dll
Это ещё зачем? и повлияет ли это на выпил httpGet?
У меня и так обращение по протоколу https: вешает намертво х64-версию КЛМН, то же происходит и от многих других сайтов при работе х32 с этой функцией. А многие http-сайты (не засекьюренные) возвращают увы только пустую строку, несмотря на весь мощный потенциал этой фишки. То есть в большинстве случаев она либо виснет, либо отдаёт "".
+ Исправление ряда проблем с кавычками в возвращаемых строках
+ Исправление ряда багов потоков
+ Предупреждение об отсутствии файла в #include
За это отдельное спасиб, потестим! Не лишним было б и предупреждение о недостающем гетскрине, по аналогии (для любителей искать чёрную кошку на чёрном экране, к коим относится и ваш слуга)).
+ Исправление GETFILELIST()
+ Исправление GETDIRLIST()
А что там было не так?
Еще кажется, из хелпы было удалено, что имя переменной после доллара должно начинаться с буквы, но не цифры. Упростились требования к имени?
RNDFROM
Функция. Возвращает случайно выбранное число из заданного набора.
Разве функция не может возвращать строки из указанного набора?
ARRSORT
Сортирует элементы массива по возрастанию.
Пока не судьба потестить функцию, но уже интересно: сортируются ли значения и по алфавиту или только числа по возрастанию? Соблюдается ли "натуральный порядок" при сортировке? Например: 1,2,3,10,100 вместо 1,10,100,2,3. Будет ли в функции создан ключ для удаления дублей строк/чисел или хотя бы функционал для маркироовки дублей (напр., временный массив с позициями дублирующихся строк)? Ешё мелочь, но спрошу: если будет фильтрация дублей, то будет ли фильтр регистро(не)зависимым или по выбору?
STRPOS
Функция. Возвращает позицию начала искомой подстроки во входной строке.
Та же байда, что и со стринг-реплейсом: работает только с первым элементом вместо того, чтоб создать массив позиций всех найденных строк.
CHAR
Функция. Возвращает символ по его коду.
Работает только с ascii-диапазоном? Или поширее?
SETKBLAYOUT
Устанавливает языка ввода (раскладки) в конкретном окне.
Можно к примеру в справке указать что для русяза код равен 1049.
WHILE ... END_CYC
Цикл с предусловием.
Можно в примеры добавить нечто вроде:
[spoiler=(ожидание) поиска картинки]
$counter=0
$present=0
while($present=0)
getscreen(0,0, $_xmax,$_ymax)
//colormode(8, 0,0, $_xmax,$_ymax)
if_picture_in(0,0, $_xmax,$_ymax, "screen.bmp")
move($_return1,$_return2)
print("Found at (",$_return1,",",$_return2,")")
waitms(1)
$present=1
else
print("Not found!")
inc($counter)
if($counter>10)
beep(800,800)
halt
end_if
end_if
waitms(300)
end_cyc[/spoiler]
SCREENSHOTFIX
По-прежнему, данная команда так и не появилась в гиперссылочном содержании вверху страницы раздела "Анализ экрана". Также у функции в справке неправильно описан синтаксис -- очевидно, он взят из SCREENSHOTEX, а надо так:
SCREENSHOTFIX(x1, y1, x2, y2,
path, [format])
То есть в описании отсутствует обязательный параметр PATH с указанием пути к файлу перезаписываемой картинки, хотя пример к функции предподнесён правильно.
Ещё такой попутный квешн: раз кликер меняет применяемую к jpeg-скринам компрессию только при перезагрузке проги, можно ли его заставить как-либо перечитать настройки из конфига без перезапуска?
$_date_str
$_time_str
Их пока что не нашёл в справке, во "Введении". Типа возвращает строку с наконкатенированными циферками и разделителями?
LOGSHOW (show, [x, y] )
Может, добавить ещё две факультативные координаты в параметры, чтоб можно было задавать и размер лога на экране?
EXECUTE (filename, [param] )
Он больше не переводит самопроизвольно передаваемые в кавычках параметры в верхний регистр?
GETMESSAGE (wParam, lParam, [isnew] )
Для меня это всё тёмный лесъ, как и ридмем/райтмем)) Нужно хотя б с десяток реальных, полезных, насущных примеров применения, самых т. с. не в бровь, а в глаз, с протейшими вещами, которые можно сотворить с этими командами. Но вот идея Драмстера обмениваться ментально флагами состояния с другой копией кликера мне оч понра. А можно например посылая мессидж без привязки к окну, закрывать/ сворачивать/ менять текст элементов? И можно ли менять текст элементов окна путём записи чрез команду writemem?
Кроме всяких туда-сюда снующих и вечно всплывающих жучков (не в последнюю очередь благодаря большому поддерживаемому diversity функций кликера, что несомненно есть немалый плюс), слабым местом является слабая представленность интерфейсеых функций. Вот в 2016-ом, относительно недавно, была добавлена RADIOBOX, как она удобна и как бы я без неё жил! Но вот некоторых элементов для создания элементов
интерфейса кликеру имхо явно не хватает:
1) Создание из скрипта формы произвольной, конфигурируемой формы и размера (простите за тавтологию) + создание на этой форме любого количества кнопок опять же произвольного, задаваемого в скрипте размера
2) Возможность выводить полученную в графическом буфере либо из файла картинку в любом месте экрана и с любой прозрачностью, в том числе использовать выводимые картинки в виде фона для кнопок из пункта 1
То есть по сути нужен пяток простых, но крутых новых функций:
- drawform (name, [x1,y1, x2,y2], [background])
- drawimage (name, targetFormname, [x1,y1, x2,y2], sourceFile/sourceVar, [transparency, buttonname], [effect, effectStrenght])
- drawtext (name, targetFormname, fontfamily, fontsize, [border, bordercolor, bordersize,] [x1,y1, x2,y2], string)
- changeobj (name, newSourceName, targetFormname)
- drawbutton (name, targetFormname, subOnclick, [x1,y1, x2,y2], [background])
Возможно, чтоб не вводить диссонанс в большой список параметров и не путать отсутствующие параметры с имеющимися, можно было б организовать парсинг параметров путём задания их синтаксиса в виде пар, к примеру так:
drawtext(string="MyText", size=18)
Это будет не плохой шажок навстречу АвтоИту по созданию интерфейсов программок -____- Так недалеко и до регекспа.