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

Основной раздел => Предложения => Topic started by: Johnny on November 02, 2013, 08:03:50 AM

Title: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: Johnny on November 02, 2013, 08:03:50 AM
Clickermann v4.14.003 beta x32

Последняя сборка:
http://crapware.aidf.org/forum/index.php?topic=356.msg31199#msg31199

Последний патч к последней сборе:
http://crapware.aidf.org/forum/index.php?topic=356.msg33511#msg33511
Title: Re: Clickermann 4.9+
Post by: Oraven on November 02, 2013, 12:55:14 PM
Подпрограмма тупит,

Code: (clickermann) [Select]
LOGCLEAR

sub(Клик, $x, $y)
   print("x: ", $x, " y: ",$y)
   MOVE($x,$y)
   WAITMS(500)
end_sub

Клик(195,266) // работает
Клик(197,376) // не работает
Клик(213,620) // не работает
HALT

Лог:
Code: [Select]
13:53:20 x: 195 y: 266
То есть отрабатывает только первый Клик(195,266), но если добавить задержку после Клик(195,266), отработает два раза, но не три...

Code: (clickermann) [Select]
LOGCLEAR

sub(Клик, $x, $y)
   print("x: ", $x, " y: ",$y)
   MOVE($x,$y)
   WAITMS(500)
end_sub

Клик(195,266) // работает
WAITMS(100)
Клик(197,376) // работает
WAITMS(100)
Клик(213,620) // не работает
WAITMS(100)
HALT

Лог:
Code: [Select]
13:58:30 x: 195 y: 266
13:58:31 x: 197 y: 376
Title: Re: [Alpha/Beta Testing] Clickermann 4.9+
Post by: Johnny on November 06, 2013, 09:30:22 PM
обновлено. смелее господа.
Title: Re: [Alpha/Beta Testing] Clickermann 4.9+
Post by: ЦИТРИН on November 07, 2013, 12:22:19 AM
обновлено. смелее господа.
Ещё с 4.8 не все освоились)))
Джонни!
Спасибо за труд!
 Есть просьба оформлять посты так , чтобы понятно было о чем идет речь, для широкого кругу.
В твиттере  даже непонятно, что выкладывать о 4.9.
Не буду же я писать о том, что нашли баг.

Второе.
 Давно просил, чтобы  диалоговое окно  могло вылетать поверх окна браузера.
Крайне  неудобно, когда при работе скрипта сначала нужно закрыть  браузер , тыцнуть в диалог, и снова открыть браузер.
Я  просто перестал пользоваться полезной функцией из-за этого.
Title: Re: [Alpha/Beta Testing] Clickermann 4.9+
Post by: Johnny on November 07, 2013, 05:48:34 AM
о 4.9 ничего не нужно выкладывать потому что даже не факт что она будет 4.9, что она выйдет такой и тд.
тут просто проверяем работоспособность будущих версий. до релиза еще далеко.

думаешь я помню кто что просил. я запоминаю только если многие просили :D
какое из диалоговых окон поверх то?
Title: Re: [Alpha/Beta Testing] Clickermann 4.9+
Post by: Vint on November 07, 2013, 06:59:18 AM
о 4.9 ничего не нужно выкладывать потому что даже не факт что она будет 4.9, что она выйдет такой и тд.
тут просто проверяем работоспособность будущих версий. до релиза еще далеко.

думаешь я помню кто что просил. я запоминаю только если многие просили :D
какое из диалоговых окон поверх то?
Я тоже не раз говорил...
Да любое. Хоть INPUTBOX хоть DIALOGBOX.
Title: Re: [Alpha/Beta Testing] Clickermann 4.9+
Post by: Vint on November 07, 2013, 07:47:20 AM
FOR в подпрограмме не работает, если передаются параметры.
Выкидывает или ошибку или переменная не меняется.
Code: (clickermann) [Select]
LOGCLEAR

$a=0
FOR($a, $a<5)
   LOGWRITE ("$a  ",$a)
END_CYC
LOGWRITE (" ")

SUB (smoothly, $b, $c)   
   //$i=0
   $h = "ехали медведи на велосипеде"
   FOR($i, $i<5)
      LOGWRITE ("$i  ",$i)
   END_CYC    
END_SUB

smoothly (10, 10)

HALT
Если перед FOR нет любой строки (кроме комментариев) - ошибка.
Если есть любая строка $h = "ехали медведи на велосипеде"  - переменная не наращивается.
Если в SUB не передаются параметры - всё нормально.
На всякий случай делал использование передаваемых параметров, думал вдруг из-за того что не используются... Мимо, всё по прежнему.
Title: Re: [Alpha/Beta Testing] Clickermann 4.9+
Post by: ЦИТРИН on November 07, 2013, 05:06:17 PM
о 4.9 ничего не нужно выкладывать потому что даже не факт что она будет 4.9, что она выйдет такой и тд.
тут просто проверяем работоспособность будущих версий. до релиза еще далеко.

думаешь я помню кто что просил. я запоминаю только если многие просили :D
какое из диалоговых окон поверх то?
Я тоже не раз говорил...
Да любое. Хоть INPUTBOX хоть DIALOGBOX.
Ну да.
Точно.
Досадное неудобство  проги.
Оно так и идет по новым версиям.
 
Title: Re: [Alpha/Beta Testing] Clickermann 4.9+
Post by: BoJIwE6HuK on November 08, 2013, 07:14:55 PM
 4,9 тоже не видит второй монитор как и 4,8?
Title: Re: [Alpha/Beta Testing] Clickermann 4.9+
Post by: Johnny on November 08, 2013, 07:30:30 PM
yes, im a wizard
да вроде видит. если винда видит то видит и кликер.
Title: Re: [Alpha/Beta Testing] Clickermann 4.9+
Post by: BoJIwE6HuK on November 08, 2013, 08:09:16 PM
у меня не видит, наверное это потому что разрешение второго монитора ниже чем у основного
Title: Re: [Alpha/Beta Testing] Clickermann 4.9+
Post by: R0terD on November 23, 2013, 10:13:56 AM
Quote
Скачать: NO_LINK
Бета тест закончился?)

Поддерживаю на счет - "Окна INPUTBOX и DIALOGBOX, и BREAK поверх всех окон". Ощутимо нужна такая фича, даже если есть 3-4 вызова таких функций в скрипте, очень муторно возиться с окнами (INPUTBOX и DIALOGBOX), которые зарыты под другими "чужими" открытыми окнами. Особенно, когда окно появилось, скрипт стоит, окно зарыто под толстым слоем других окон, пользователь и не догадывается, что скрипт стоит... а скрипт стоит... а пользователь не догадывается... а скрипт стоит...

Хотелось бы добавить еще для этих окон несколько параметров -
0) для (INPUTBOX, DIALOGBOX) включение вывода поверх и отключение вывода поверх всех окон =]
1) координаты места для (INPUTBOX, DIALOGBOX), в котором всплывает такое окно... (а всплывать оно будет поверх почти всегда неожиданно и норовить подставить одну из своих кнопок под "инерционный" клик пользователя, который по инерции кликает/работает в другой программе без кликермэна) (да и обладатели 2ух мониторов оценят по достоинству фичу)
2) для (DIALOGBOX), т.с. для полного счастья и творчества, хотелось бы - пользовательские кнопки... 8,9,10 и тд... с пользовательскими именами... к примеру DIALOGBOX("message", button8="start", button9="continue").
3) для (INPUTBOX, DIALOGBOX) параметр "message" не помешало бы снабдить форматированием "переводом на новую строку" (htmlый Тег <br>)... когда длинный текст с кучей условий и пояснений, его без форматирования тяжело читать... и вникать, особенно когда подзабываешь конкретику...
Title: Re: [Alpha/Beta Testing] Clickermann 4.9+
Post by: ЦИТРИН on November 25, 2013, 08:22:08 PM
yes, im a wizard
да вроде видит. если винда видит то видит и кликер.
Кстати,  при переносе скрипта ,  допустим   на  ноут,  с  другим разрешением экрана.
 Простое пропорциональное деление - умножение пикселей  на коэффициент , -  не помогает.
 Приходится  полностью  переписывать коры в операциях.
Мож я чего-то не понимаю?
Title: Re: [Alpha/Beta Testing] Clickermann 4.9+
Post by: A2Dept on November 29, 2013, 08:08:54 AM
А мне не нравится размер message'a у INPUTBOX("message", "default", [delay])... 10 или 15 символов (остальной текст обрезается), особо не развернешься. К примеру.

Если хотите "тот-то то-то тот-то то-то" нажмите 1. Если хотите "это это-это-это" нажмите 2. Если хотите "туда сюда" нажмите 3. Если хотите "еще большего" нажмите 4.

В сообщение к боксу ваш писательский труд обрезают до следующего, что крайне не удобно:
Если хотите "тот-то то-то т
Title: Re: [Alpha/Beta Testing] Clickermann 4.9+
Post by: aden on December 03, 2013, 08:15:45 AM
может не туда, извиняюсь, но хотел предложить сделать colormode(8) градиент серых тонов
сейчас у меня эта команда сохраняет черный экран
Title: Re: [Alpha/Beta Testing] Clickermann 4.9+
Post by: Johnny on December 30, 2013, 08:38:57 PM
Срочно в нумер. Не успеваю к новому году ничего толком отшлифовать.
Быстренько быстренько тестим версию 4.9 http://rghost.net/51309744 постарался учесть огрехи на которые мне указали, но доделал далеко не все.
справка есть, список изменений есть

ищем вопиющие ошибки, из-за которых может сорваться завтрашний традиционный новогодний апдейт
объективно, основные проверочные скрипты внутри (большой тест Oraven'а (надо допилить в связи с изменениями кстати) + мой на тест новых фич)
Title: Re: [Alpha/Beta Testing] Clickermann 4.9+
Post by: Oraven on December 30, 2013, 11:37:23 PM
sub_name() корежит автовыравнивание (именно из-за  sub вначале)

HALT вырубает кликер с любым числом в параметре
Code: (clickermann) [Select]
HALT(0)
Дополнил и исправил Шаблоны и константы
Title: Re: [Alpha/Beta Testing] Clickermann 4.9+
Post by: Johnny on December 31, 2013, 11:17:16 AM
ну это неприятно но не критично. хальт вообще так и должен работать..
если это все то надо запиливать.
Title: Re: [Alpha/Beta Testing] Clickermann 4.9+
Post by: Vint on December 31, 2013, 11:56:21 AM
Ай яй яй... Как же это в последний день... Совсем нет времени покопаться. Да и родные не поймут если буду сидеть втыкать.
Всех с наступающим Новым Годом! Всем побольше свободного времени, благодаря автоматизации.
Title: Re: [Alpha/Beta Testing] Clickermann 4.9+
Post by: Johnny on December 31, 2013, 03:36:55 PM
просто потом праздники а потом еще всякие штуки и короче не скоро бы я что-то выпустил.
а так починил хотя бы баг 6 параметров на который уже стали люди натыкаться - уже хватит для обновки.
Title: Re: [Alpha/Beta Testing] Clickermann 4.9+
Post by: Oraven on December 31, 2013, 05:41:17 PM
Ну опять не без косяков... яж исправил файл keywords.txt
А у тебя потеряны сейчас
ARRSIZE
ARRPUSH
ARRPOP
SCANPXL
SCANPICTURE

В шаблонах я заключил в скобки
(Ctrl+C).txt
(Ctrl+V).txt
(Ctrl+X).txt
чтобы они были выше всех, но старые то шаблоны, без скобок зачем оставил?

Кароч HAPPY NEW YEAR  ;D
Title: Re: [Alpha/Beta Testing] Clickermann 4.9+
Post by: Oraven on January 01, 2014, 03:39:36 PM
4.9
Не работает IF_PICTURE_IN
Title: Re: [Alpha/Beta Testing] Clickermann 4.9+
Post by: Johnny on January 01, 2014, 07:31:53 PM
hotfixed
Title: Re: [Alpha/Beta Testing] Clickermann 4.9+
Post by: Oraven on January 01, 2014, 09:14:39 PM
4.9.001
В keywords.txt еще HINTPOPUP нехватает, но вот что вытворяет твой хотфикс у меня  :o
Я просто сидел в редакторе дорабатывал Большой тест и вдруг переполнение оперативной.
Потом тоже самое произошло при запуске кликера через скрипт.

Подтверждено, запуск кликера через скрипт вызывает немереное пожирание оперативной!

Title: Re: [Alpha/Beta Testing] Clickermann 4.9+
Post by: Johnny on January 02, 2014, 10:29:30 AM
как это не забавно по похоже пришло время и тебе сказать "покажи уж скрипт" потому что мне воспроизвести ситуацию не удалось на Win7 x64
более того, запуск именно через скрипт вообще ничем особо не отличается

единственный случай когда мне удалось спровоцировать утечку памяти, это некорректная работа с массивами. то есть просто скрипт без задержки тупо добавлял и добавлял элементы в массив. при этом, если корректно подчищать хвосты (через arrpop или undefine) то все впорядке.
единственное место, где я накосячил - это то что при остановке скрипта память, выделенная массиву, не освобождается.
кстати, напоминаю что и scan'ы так же раздувают массив, если его последующая обработка идет без arrpop или финального undefine

так что посмотри (и покажи) еще раз что ты там такое делаешь. такое же поведение кстати должно быть и в 4.8 тогда уж
Title: Re: [Alpha/Beta Testing] Clickermann 4.9+
Post by: Oraven on January 02, 2014, 11:10:33 AM
Хм, действительно пожирание оперативной вызывает только "Большой тест". и похоже после того как я туда добавил "switch"

Действительно дело в "switch". Пожирание происходит в момент загрузки скрипта в кликер.
Пишем два свитча подряд, нажимаем "применить" и кликер отжирает больше гига оперативы.

Code: (clickermann) [Select]
SWITCH($var)
CASE(1)
// случай 1

case(2)
// случай 2

DEFAULT
// случай по умолчанию

END_SWITCH

SWITCH($var)
CASE(1)
// случай 1

case(2)
// случай 2

DEFAULT
// случай по умолчанию

END_SWITCH

halt
Title: Re: [Alpha/Beta Testing] Clickermann 4.9+
Post by: Johnny on January 02, 2014, 04:45:34 PM
был такой момент, да. поправил его и еще пару недочетов
Title: Re: [Alpha/Beta Testing] Clickermann 4.9+
Post by: Vint on January 02, 2014, 05:21:21 PM
 Есть один вопрос не касающийся функционала. Нужно что-то делать с "файл помощи не грузиться у меня" - вот прямо сейчас.
Проблема имеет какие-то совсем не разумные масштабы... Сделать пункт в меню где описать что делать если справка не открывается или там readme какой нибудь.

То же касается и двух справок. Может стоит их слить вместе...(знаю что обсуждалось давно). Или на худой конец сделать ссылки рядом на обе и в редакторе и в основном окне. Или перекрёстные разделы из одной на другую. Если честно, на заре сам так попался. Открыв основную и прочитав мне и в голову не пришло, что это не всё.
Title: Re: [Alpha/Beta Testing] Clickermann 4.9+
Post by: Oraven on January 02, 2014, 05:50:32 PM
Ды онлайн справку надо прикрутить к сайту и проблема решится при том что переделывать то почти ничего не надо. И да справка должна быть в едином файле.
Title: Re: [Alpha/Beta Testing] Clickermann 4.9+
Post by: Johnny on January 09, 2014, 09:54:21 AM
ну вообще-то это описано в справке. описание подпрограммы должно быть выше ее вызова. пока так.

второй пример... нельзя его как то упростить? выкинуть все лишнее, при этом сохранив баг?
Title: Re: [Alpha/Beta Testing] Clickermann 4.9+
Post by: Oraven on January 09, 2014, 12:21:07 PM
Удалось изолировать баг. Оказалось все дело в цикле WHILE и подпрограммы в нем. Переменная изменена но цикл не прерывается. Если же за комментировать  помехи() то все работает нормально.

Code: (clickermann) [Select]
LOGCLEAR

// Помехи
SUB(помехи)
   LOGWRITE ("ПОМЕХИ")
END_SUB

SUB(приглашение)
   LOGWRITE ("Начинаю цикл")
   $a = 0
   WHILE($a = 0)
      помехи()
      WAITMS(500)
      $a = 1
      LOGWRITE ("переменная A: ", $a)
   END_CYC
   LOGWRITE ("заканчиваю цикл")
END_SUB

приглашение()

LOGWRITE ("Конец")

HALT
Title: Re: [Alpha/Beta Testing] Clickermann 4.9+
Post by: Oraven on January 09, 2014, 02:23:24 PM
Еще один багнутый пример с циклом

Code: (clickermann) [Select]
sub(test)   
   $test = 1   
end_sub

$test = 0
while ($test = 0)   
   wait (1)
   test ()
   print ($test)
end_cyc

halt
Title: Re: [Alpha/Beta Testing] Clickermann 4.9+
Post by: Крис Тинка on January 11, 2014, 03:13:46 PM
Дополню: Если задать sub с параметрами, то игнорируется первая строка в цикле, начиная со второго круга.
Code: (clickermann) [Select]
sub(test,$test)
   $a = $test
   print(0)
end_sub

$a = 0
while ($a = 0)
   print(2)
   print(3)
   print(4)
   wait (1)
   test (1)
   print ($a)
end_cyc

halt
Title: Re: [Alpha/Beta Testing] Clickermann 4.9+
Post by: Крис Тинка on January 11, 2014, 05:08:00 PM
Такая же ситуация с циклом FOR
Code: (clickermann) [Select]
$test1 = 1

sub(test,$test)
   $test1 = $test
end_sub

for ($a, $a < $test1)
   print("1 строка")
   print("2 строка")
   print("3 строка")
   waitms (200)
   test (10)
   print ($a, ":" ,$test1)
end_cyc

halt
print("1 строка") - выполняется только 1 раз и цикл не прекращается при не соблюдении условия
Title: Re: [Alpha/Beta Testing] Clickermann 4.9+
Post by: Johnny on January 11, 2014, 06:21:25 PM
с наскоку не решить, увы.
пока воздержитесь от вызова подпрограмм в цикле
Title: Re: [Alpha/Beta Testing] Clickermann 4.9+
Post by: mz3fedor on January 12, 2014, 11:59:30 PM
Дополню: Если поставить задержку в цикле, хоть от 1 мкс то все глюки исчезают(Если задать sub с параметрами, то игнорируется первая строка в цикле, начиная со второго круга.)
Code: (clickermann) [Select]
sub(test,$test)
   $a = $test
   print(0)
end_sub

$a = 0
while ($a = 0)
WAITMS(50)
   print(2)
   print(3)
   print(4)
   wait (1)
   test (1)
   print ($a)
end_cyc

halt
Title: Re: [Alpha/Beta Testing] Clickermann 4.9+
Post by: Oraven on January 13, 2014, 12:37:39 AM
На втором цикле выскакивает ошибка.

Code: (clickermann) [Select]
sub(test,$a1,$a2,$a3)
   print($a1)
   print($a2)
   print($a3)
end_sub

$a = 0
while ($a = 0)
   test (1,2,3)
   WAITMS(500)
   LOGWRITE ("конец")
   $a = 1
end_cyc

halt
Title: Re: [Alpha/Beta Testing] Clickermann 4.9+
Post by: Johnny on January 13, 2014, 10:53:22 AM
да все все. я уже нашел в чем ошибка, но пока понятия не имею как ее решить потмоу что ошибка в самой концепции.
еще раз. вызов подпрограммы из цикла гарантированно приведет к какой либо ошибке. держите это пока в голове.
Title: Re: [Alpha/Beta Testing] Clickermann 4.9+
Post by: Oraven on January 20, 2014, 06:38:45 PM
Обнаружил новую "странность".

Скрипт
Code: (clickermann) [Select]
$a = FROMCLIP()
TOCLIP($a)
HALT

В буфер копируем
Code: [Select]
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
А в логе получаем обрезанную строку у которой в начале от куда то кавычки нарисовались  :o
Code: [Select]
"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Title: Re: [Alpha/Beta Testing] Clickermann 4.9+
Post by: Johnny on January 28, 2014, 05:37:28 PM
Обнаружил новую "странность".
да нет, это как раз описано. начиная с версии 4.8 максимальная длина переменной 255 символов. и числа в том числе (каламбур лол).
приведенная тобой строка-число как раз длинее, отсюда и странность.
Title: Re: [Alpha/Beta Testing] Clickermann 4.9+
Post by: Johnny on January 28, 2014, 05:45:07 PM
далее

Патч 4.9.004

- вроде бы исправляет проблему вызова подпрограмм из цикла
- добавляет screenshotex, позволяющий скриншотить отдельные области

http://rghost.net/52008255

тестим, проверяем
Title: Re: [Alpha/Beta Testing] Clickermann 4.9+
Post by: Крис Тинка on January 28, 2014, 06:49:23 PM
SCREENSHOTEX - супер. Теперь можно делать заготовки картинок таким скриптом.
Code: (clickermann) [Select]
$x1 = $_xmouse
$y1 = $_ymouse
MOVE($x1 + 15, $y1 + 15)
WAITMS(50)
GETSCREEN
SCREENSHOTEX($x1, $y1, $x1 + 10, $y1 + 10, "name", 0)
HALT
Title: Re: [Alpha/Beta Testing] Clickermann 4.9+
Post by: Oraven on January 28, 2014, 07:04:56 PM
Обнаружил новую "странность".
да нет, это как раз описано. начиная с версии 4.8 максимальная длина переменной 255 символов. и числа в том числе (каламбур лол).
приведенная тобой строка-число как раз длинее, отсюда и странность.

Обрезание как раз предсказуемо, я имел ввиду "кавычки" возникающие в начале. В 4.8 такого не происходит.
Title: Re: [Alpha/Beta Testing] Clickermann 4.9+
Post by: Vint on January 29, 2014, 01:12:42 PM
Ура! Заработало, вроде.

Можно переходить на 4.9?
Title: Re: [Alpha/Beta Testing] Clickermann 4.9+
Post by: ЦИТРИН on February 13, 2014, 07:09:33 PM
  Пока старые скрипты 4.8 в 4.9 оживить не удалось.
 Можно ли в шапке к этой теме сделать  сообщение , как  нужно изменить прежний скрипт 4.8, чтобы он заработал в 4.9?
Или рано ?
Title: Re: [Alpha/Beta Testing] Clickermann 4.9+
Post by: Крис Тинка on February 13, 2014, 07:35:20 PM
  Пока старые скрипты 4.8 в 4.9 оживить не удалось.
 Можно ли в шапке к этой теме сделать  сообщение , как  нужно изменить прежний скрипт 4.8, чтобы он заработал в 4.9?
Или рано ?
Вроде изменения коснулись только сабов
SUB(MYSUB)
END_SUB
Вместо GOSUB(MYSUB) писать MYSUB() и описание подпрограммы должно быть выше её вызова, потому что подпрограммы теперь работают как функции.
P.S. И FOR с нуля теперь
Title: Re: [Alpha/Beta Testing] Clickermann 4.9+
Post by: ЦИТРИН on February 16, 2014, 01:20:31 AM
Вместо GOSUB(MYSUB) писать MYSUB() и описание подпрограммы должно быть выше её вызова, потому что подпрограммы теперь работают как функции.
P.S. И FOR с нуля теперь

 Спасибо)
Но нельзя ли показать это же самое на простеньком, НО рабочем скрипте, чтобы не было лишних ошибок и вопросов.
Title: Re: [Alpha/Beta Testing] Clickermann 4.9+
Post by: Крис Тинка on February 16, 2014, 06:40:06 AM
FOR:
Code: (clickermann) [Select]
FOR($a, $a < 5)
   PRINT($a)
END_CYC
HALT
В 4.9 версии результат (0,1,2,3,4). В предыдущих (1,2,3,4,5)
Code: (clickermann) [Select]
//--------------------------------
//--------------------------------
SUB(mysub1)
   print(1)
END_SUB
//--------------------------------
SUB(mysub2)
   print(2)
END_SUB
//--------------------------------
mysub2() //Вызов подпрограммы
mysub1() //Вызов подпрограммы
//--------------------------------
SUB(summa, $a, $b, $c)
   $summa = $a + $b + $c
   print($a," + ", $b," + ", $c ," = ", $summa)
END_SUB
//--------------------------------
summa(5,6,7)
summa(10,20,30)
//--------------------------------
SUB(name, $str)
   PRINT($str , $name, "!")
END_SUB
$name = INPUTBOX("Введите имя", "", 10)
name("Привет ")
name("Пока ")
HALT
P.S.  Вот еще пример вызов функции факториал:
Code: (clickermann) [Select]
//--------------------------------
SUB(mysub,$n)
   $f = 1
   FOR($a, $a < $n)
      $f = $f*($a + 1)
   END_CYC
   print($n, "! = ", $f)
END_SUB
//--------------------------------
mysub(5)
HALT
Title: Re: [Alpha/Beta Testing] Clickermann 4.9+
Post by: ЦИТРИН on February 16, 2014, 01:09:05 PM
Спасибо )
 Так понятнее.
Вопрос по старым скриптам остался.
Сейчас масса сабов  из версии 4.8 должна быть как-то переделана?
Как?
Пример небольшого саба версии  4.8,  переделанный в  4.9 , если можно.
 
Title: Re: [Alpha/Beta Testing] Clickermann 4.9+
Post by: Крис Тинка on February 16, 2014, 01:15:49 PM
Code: (clickermann) [Select]
//--------------------------------
SUB(mysub1)
   print(1)
END_SUB
//--------------------------------
SUB(mysub2)
   print(2)
END_SUB
//--------------------------------
mysub2() //Вызов подпрограммы в 4.9
GOSUB(mysub2)//Вызов подпрограммы в 4.8
//--------------------------------
mysub1() //Вызов подпрограммы в 4.9
GOSUB(mysub1)//Вызов подпрограммы в 4.8
HALT
Title: Re: [Alpha/Beta Testing] Clickermann 4.9+
Post by: ЦИТРИН on February 16, 2014, 01:27:04 PM
Теперь понял.
 GOSUB вообще  отсутствует.
 Там где раньше был GOSUB  теперь нужно писать просто название саба .
 Например, mysub ().
  А что в скобках и зачем они?
Title: Re: [Alpha/Beta Testing] Clickermann 4.9+
Post by: Oraven on February 16, 2014, 02:19:57 PM
Теперь понял.
 GOSUB вообще  отсутствует.
 Там где раньше был GOSUB  теперь нужно писать просто название саба .
 Например, mysub ().
  А что в скобках и зачем они?

В скобках пишут параметры для переменных но если их нет то скобки тоже нужны но пустые. Сколько параметров столько должно быть и переменных.

Code: (clickermann) [Select]
// подпрограмма
SUB(клик,$x,$y)
   MOVE($x,$y)
   WAITMS(100)
   LDOWN($x,$y)
   WAITMS(100)
   LUP($x,$y)
   WAITMS(100)
END_SUB


// вызов подпрограммы (обязательно ниже подпрограммы) передает параметры в переменные
клик(200,350)
клик(400,350)
клик(570,350)
Title: Re: [Alpha/Beta Testing] Clickermann 4.9+
Post by: ЦИТРИН on February 16, 2014, 02:51:00 PM
Спасибо )
Есть ли особые примечания к 4.9?
Речь  багах , или командах,  которые новичкам ( или простым юзерам )  пока не стоит применять ?
Title: Re: [Alpha/Beta Testing] Clickermann 4.9+
Post by: Oraven on February 16, 2014, 03:34:16 PM
Спасибо )
Есть ли особые примечания к 4.9?
Речь  багах , или командах,  которые новичкам ( или простым юзерам )  пока не стоит применять ?

С инклудами пока проблема
http://crapware.aidf.org/forum/index.php?topic=1054.0 (http://crapware.aidf.org/forum/index.php?topic=1054.0)
Title: Re: [Alpha/Beta Testing] Clickermann 4.9+
Post by: aden on February 24, 2014, 09:38:10 AM
ограничение в 5 значений функции пока нерешаемо? я про print(раз,два,три,четыре,пять, шесть_нерабочий)
Title: Re: [Alpha/Beta Testing] Clickermann 4.9+
Post by: Крис Тинка on February 24, 2014, 09:55:39 AM
ограничение в 5 значений функции пока нерешаемо? я про print(раз,два,три,четыре,пять, шесть_нерабочий)
print работал и в ранних версиях. Вот проверь
Code: (clickermann) [Select]
$a = "Однажды, "
$b = "в студеную "
$c = "зимнюю "
$d = "пору, "
$e = "Я из лесу "
$f = "вышел; "
$g = "был сильный "
$h = "мороз."
PRINT($a,$b,$c,$d,$e,$f,$g,$h)
halt
Title: Re: [Alpha/Beta Testing] Clickermann 4.9+
Post by: Oraven on February 24, 2014, 11:56:36 AM
ограничение в 5 значений функции пока нерешаемо? я про print(раз,два,три,четыре,пять, шесть_нерабочий)

Давно уже исправлено
Title: Re: [Alpha/Beta Testing] Clickermann 4.9+
Post by: Vint on February 27, 2014, 09:30:38 AM
Можно ли добавить поддержку относительных путей для include?
Неудобно все инклюды за собой по проектам таскать дублируя.
Чтобы поддержка была переместиться на уровень вверх и войти в другую папку:
#include "..\lib\mylib.cms"

Или хотя бы жёстко от папки projects... как сделано в LOAD.
Title: Re: [Alpha/Beta Testing] Clickermann 4.9+
Post by: Johnny on February 27, 2014, 01:10:33 PM
так оно как бы работает.
ты чет с путями перемудрил или за текущей папкой не уследил (выводится в заголовке редактора)
Title: Re: [Alpha/Beta Testing] Clickermann 4.9+
Post by: Vint on February 27, 2014, 03:52:12 PM
так оно как бы работает.
ты чет с путями перемудрил или за текущей папкой не уследил (выводится в заголовке редактора)
Да, что-то намудрил. Попробовал написать с нуля - заработало.
Title: Re: [Alpha/Beta Testing] Clickermann 4.9+
Post by: K7321 on March 02, 2014, 12:28:45 PM
А, плагины работают? Ни как не получается

CALL("plugin.dll", 1, 2, 3)
print("result: ", $_return1)

plugin.dll брал из Clickermann v4.5 В дугих версиях примеров не встречал. Пользую v4.9005
Хотетелось бы менюшку в начале скрипта наворакать
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on March 19, 2014, 06:23:50 PM
Clickermann v4.10

http://rghost.net/53359219

В этом номере
* Размер данных хранимых переменной больше не ограничен 255 символами
* Добавлен восьмой фильтр для colormode, приводящий изображение к черно-белому
* Добавлена поддержка приоритетных скобок для логических выражений [spoiler]На самом деле все переписано целиком. Теперь есть поддержка битовых и логических операций в контексте общих вычислений.
К примеру $var = 5 > 3 вернет "1" а $var = 5 < 3 вернет "0"
$var = 170 & 15 вернет "10" (битовое произведение 170 и 15)
В общем случае условие считается истинно, когда оно не равно нулю
// истинно всегда
if(10)
  print("ad")
end_if

// ваш любимый бесконечный цикл
while(1)
  // smthn
end_cyc

А вот поддержка альтернативного набора написания "and", "or", "xor" пока не реализована а возможно будет свернута
[/spoiler]
* На радость самым маленьким, полностью переписан механизм записи. Он стал точнее и вероятность что ему что-то помешает записать уменшилась в разы
* Для цикла for добавилась возможность задать начальное значение параметра (*)
[spoiler]
// можно и так
for($i, $i<5)
   print($i)
end_cyc

// и так
for($i=5, $i<10)
   print($i)
end_cyc

// и даже так
for($i=(5-10), $i<0)
   print($i)
end_cyc[/spoiler]
* Поддержка расширенного рабочего стола
* Прочие мелкие исправления, общая оптимизация быстродействия
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on March 19, 2014, 07:33:00 PM
Quote
А вот поддержка альтернативного набора написания "and", "or", "xor" пока не реализована а возможно будет свернута

Не понял о чем это?

Code: (clickermann) [Select]
$a = 2
$b = 2

IF(($a = 2) and ($b = 2))
   LOGWRITE ("Верно")
ELSE
   LOGWRITE ("Не верно")
END_IF

IF(($a = 2) & ($b = 2))
   LOGWRITE ("Верно")
ELSE
   LOGWRITE ("Не верно")
END_IF

HALT
все работает?!


При записи записываются два нажатия с разными кодами.

Нажимаю Левый Ctrl
Code: (clickermann) [Select]
keyDown(17) // Нажать Ctrl
waitms(0)
keyDown(162) // Нажать Левый Ctrl
waitms(533)
keyUp(17)
waitms(0)
keyUp(162)


Ошибка если в CASE указывается минусовое число

Code: (clickermann) [Select]
$a = 10

SWITCH($a)
CASE(-1)
LOGWRITE ("-1")
CASE(0)
LOGWRITE ("0")
DEFAULT
LOGWRITE ("нет")
END_SWITCH

HALT


Выдает ошибку
Code: (clickermann) [Select]
GETSCREEN
IF((PXL(83,529) = 32768) and (PXL(1107,149) = 9925458))
   LOGWRITE ("ДА")
ELSE
   LOGWRITE ("НЕТ")
END_IF
HALT
Title: Re: [Alpha/Beta Testing]
Post by: aden on March 19, 2014, 07:33:17 PM
Clickermann v4.10

* Добавлен восьмой фильтр для colormode, приводящий изображение к черно-белому
* Добавлена поддержка приоритетных скобок для логических выражений

очень вкусно протестим
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on March 20, 2014, 07:16:54 PM
Quote
А вот поддержка альтернативного набора написания "and", "or", "xor" пока не реализована а возможно будет свернута
Не понял о чем это?
уже не имеет значения, доработано.

Title: Re: [Alpha/Beta Testing]
Post by: Atas on March 23, 2014, 03:20:33 PM
Неожиданно наткнулся на небольшие грабли при создании скриншотов в тестовой версии Clickermann v4.10.
Не получилось создать скриншот с именем вида "colormode_2 - 0000.bmp", как это можно сделать в версии Clickermann v4.9 (build 005).
Тестировалось в Windows 7 SP1 x64.

Code: (clickermann) [Select]
$colormode = 2 // Режим 2 просто для примера

SCREENSHOT("colormode - ") // Работает
WAITMS(50)
SCREENSHOT("colormode - colormode - ") // Работает
WAITMS(50)
SCREENSHOT($colormode) // Работает
WAITMS(50)
SCREENSHOT(STRCONCAT("Колормод_", $colormode, " - ")) // Работает
WAITMS(50)
SCREENSHOT(STRCONCAT("colormode_", $colormode, " - ")) // НЕ работает
WAITMS(50)
SCREENSHOT(STRCONCAT("colormode блаблабла colormode")) // НЕ работает
WAITMS(50)
SCREENSHOT(STRCONCAT("colormodeблаблаблаcolormode")) // НЕ работает

Получается, что при использовании функции STRCONCAT(), для создания имени скриншота, нельзя дважды использовать сочетание букв "colormode". Мелочь конечно, но может прервать работу скрипта, если это не учитывать.
Title: Re: [Alpha/Beta Testing]
Post by: Vint on March 23, 2014, 07:47:13 PM
Неожиданно наткнулся на небольшие грабли при создании скриншотов в тестовой версии Clickermann v4.10.
Не получилось создать скриншот с именем вида "colormode_2 - 0000.bmp", как это можно сделать в версии Clickermann v4.9 (build 005).
Тестировалось в Windows 7 SP1 x64.

Code: (clickermann) [Select]
$colormode = 2 // Режим 2 просто для примера

SCREENSHOT("colormode - ") // Работает
WAITMS(50)
SCREENSHOT("colormode - colormode - ") // Работает
WAITMS(50)
SCREENSHOT($colormode) // Работает
WAITMS(50)
SCREENSHOT(STRCONCAT("Колормод_", $colormode, " - ")) // Работает
WAITMS(50)
SCREENSHOT(STRCONCAT("colormode_", $colormode, " - ")) // НЕ работает
WAITMS(50)
SCREENSHOT(STRCONCAT("colormode блаблабла colormode")) // НЕ работает
WAITMS(50)
SCREENSHOT(STRCONCAT("colormodeблаблаблаcolormode")) // НЕ работает

Получается, что при использовании функции STRCONCAT(), для создания имени скриншота, нельзя дважды использовать сочетание букв "colormode". Мелочь конечно, но может прервать работу скрипта, если это не учитывать.

Дело не в скриншоте. Проблема в STRCONCAT.
Он неправильно реагирует на or внутри слова интерпретируя его как логический оператор

Code: (clickermann) [Select]
print (STRCONCAT("colormode"))
Выдаёт:  col|mode

А
Code: (clickermann) [Select]
print (STRCONCAT("colandmode"))col&mode

Короче проблема альтернативного задания логических. Или случайный парсинг строки.
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on March 26, 2014, 09:17:23 AM
Очередная обновка
http://rghost.net/53359219

Помимо вышеупомянутого (http://crapware.aidf.org/forum/index.php?topic=356.msg4960#msg4960), добавлена поддержка неск.мониторов (расширенный рабочий стол)

Так же написал сумбурную статью про битовые операции и логику (условия) для версии 4.10
http://crapware.aidf.org/forum/index.php?topic=1134.0
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on March 26, 2014, 03:45:55 PM
Дополнил Шаблоны функцией "SCREENSHOTEX", а еще в "keywords.txt" упорно в последних версиях, не хватает "HINTPOPUP"

Новый функционал это хорошо, но не ужели так сложно сделать "Сохранить" и "Сохранить как..."

Зачем делить загруженные скрипты на history.txt и history_editor.txt?
Не мешало бы сделать проверку на существование скриптов и автоматически удалять устаревшие ссылки при запуске кликера.
Title: Re: [Alpha/Beta Testing]
Post by: Torari on March 27, 2014, 04:42:49 AM
добавлена поддержка неск.мониторов (расширенный рабочий стол)
У меня два монитора. Версия кликермана 4,9. Работает alt + Q во втором мониторе, клики кликаются по второму монитору. Не понятно, что включает в себя новая поддержка неск.мониторов для новой версии?
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on March 27, 2014, 07:46:15 AM
Не понятно, что включает в себя новая поддержка неск.мониторов для новой версии?
графон
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on March 27, 2014, 10:43:26 AM
Новая 4.10 версия лезет в интеренет хотя проверка обновлений выключена.
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on March 30, 2014, 06:30:21 AM
так это вы мне главное ответьте. ваши скрипты нормально выпонляются на новой версии то?
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on March 30, 2014, 08:40:41 AM
так это вы мне главное ответьте. ваши скрипты нормально выпонляются на новой версии то?

Гоняю бота на последней версии, проблем нет. А то я уже написал бы :)
Title: Re: [Alpha/Beta Testing]
Post by: Vint on March 31, 2014, 01:24:26 PM
У меня спотыкается на одном скрипте. Вот он переделанный под 4.9. Всё работает, на 4.10 встаёт.
В инклюде лежит саб. В сабе условие проверяет один из принятых сабом параметров.
Ошибка интерпретации строки...
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on March 31, 2014, 03:28:27 PM
ммм.. есть проблема с проверкой условия с участием строк (вообще забыл про них). попробуем поковырять.
Title: Re: [Alpha/Beta Testing]
Post by: Vint on March 31, 2014, 04:20:37 PM
Может так же, как и везде. Пустая строка False  0... 
Ну и сравнение... хм. Ну равно/не равно понятно, а больше/меньше - длина? А булевы? Нах?
Да, и тогда уж в булевы not для полного счастья, а то как то неполноценно выходит.
Title: Re: [Alpha/Beta Testing]
Post by: Крис Тинка on April 12, 2014, 06:17:21 PM
а больше/меньше - длина?
Больше/меньше - алфавитный порядок
Title: Re: [Alpha/Beta Testing]
Post by: Vint on April 14, 2014, 08:02:00 AM
а больше/меньше - длина?
Больше/меньше - алфавитный порядок
Это самое очевидное. Но практического применения в таком виде практически не видел. Мёртвый груз. Разве что для цифр.
Title: Re: [Alpha/Beta Testing]
Post by: Крис Тинка on April 14, 2014, 02:22:53 PM
а больше/меньше - длина?
Больше/меньше - алфавитный порядок
Это самое очевидное. Но практического применения в таком виде практически не видел. Мёртвый груз. Разве что для цифр.
Только для упорядочивания в алфавитном порядке и используется наверное)))
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on August 18, 2014, 02:45:00 PM
лето прошло и надо снова возвращаться к станку

Clickermann v4.11 (18.08.14)
промежуточная сборка

http://rghost.net/57532953 (exe)


tfwritearr("filename", $arr) - записывает массив в текстовый файл, каждый элемент в новую строку
filename - выходной файл
$arr - входной массив


tfreadarr("filename", $arr) - считывает массив из файла, каждую строку в отдельный элемент
filename - входной файл
$arr - выходной массив


[spoiler=Пример]
Code: (clickermann) [Select]
// generate primary array
for($i, $i<30)
  $arr_out[$i] = rnd(1,99)
end_cyc

// save primary array
tfwritearr("arr_save.txt", $arr_out)

// load to second array
tfreadarr("arr_save.txt", $arr_in)

// print second array
for($i, $i<30)
  print($arr_in[$i])
end_cyc

halt
[/spoiler]


strseparate("str_in", "divider", $arr) - разбивает строку на отдельные подстроки, помещаемые в массив
str_in - входная строка
divider - подстрока-разделитель
$arr - выходной массив


[spoiler=Пример]
Code: (clickermann) [Select]
strseparate("login:pass:email", ":", $arr)

for($i, $i<arrsize($arr))
  print($arr[$i])
end_cyc

halt
[/spoiler]


getscreen обзавелся четырьмя необязательными параметрами, позволяющими очертить область экрана, которая попадет в буфер. действительно, кусочек экрана берется быстрее чем целый экран, однако выигрыш составляет всего несколько милисекунд. но все же. getscreen без параметров работает как и ранее

ну и традиционные очередной виток борьбы с динамической типизацией и некоторые прочие мелкие фиксы

все важные фиксы у меня выписаны в todo, некоторые темы я читаю периодически, поэтому про свич в свиче например можете не напоминать :)
Title: Re: [Alpha/Beta Testing]
Post by: Vint on August 18, 2014, 04:21:21 PM
Не плохо бы увидеть todo, что бы не дёргаться  :)
Title: Re: [Alpha/Beta Testing]
Post by: Atas on August 19, 2014, 01:05:11 PM
 :) Спасибо! :)
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on August 28, 2014, 01:02:32 PM
Почему бы не вынести некоторые настройки в "Директивы препроцессора"
Например задержка в кликах для некоторых скриптов вообще не нужна, для других требуется большая задержка чем 30 мс

Code: (clickermann) [Select]
#smart_delay "0"


Запускаю кликер, загружаю скрипт не заходя в редактор
Code: (clickermann) [Select]
GETSCREEN
SCREENSHOT
HALT

В результате черная картинка. Первый GETSCREEN не работает. Только после второго GETSCREEN или повторонго запуска скрипта появляется картинка.
Возникает всегда один раз после запуска кликера.



Хоть и заявлено что кликер работает с полными путями, однако это не работает. Например записать значение в INI находящийся совершенно в другой папке вызывает ошибку.

Title: Re: [Alpha/Beta Testing]
Post by: Vint on September 15, 2014, 10:16:37 AM
strseparate вещь, спасибо. Костылик заполнения теперь в урну.

getscreen обзавелся четырьмя необязательными параметрами, позволяющими очертить область экрана, которая попадет в буфер. действительно, кусочек экрана берется быстрее чем целый экран, однако выигрыш составляет всего несколько милисекунд. но все же. getscreen без параметров работает как и ранее

У меня тесты показали значительный прирост скорости. Странно, что у тебя всего несколько мс.
Поиск картинки 18х17 без колормода прозрачности и процентов. Экран 1280х1024.

Сначала делал тесты в цикле на 10-30 повторов, результат впечатлил.
И то это на новом рабочем компе где сейчас GETSCREEN 60-70 мс, а на старом у меня GETSCREEN был 250-300 мс вот где была засада. При ожидании картинки часто один цикл лишний и много времени терялось.
Дома на экране 1920х1080 думаю выгода от GETSCREEN будет ещё больше.

В 4.10 вот такой код
Code: (clickermann) [Select]
$a = "abc"
LOGWRITE ($a)
$b = $a+" cde"
LOGWRITE ($b)
выдавал
Code: [Select]
11:19:53 abc
11:19:53 "abc"+" cde"

В 4.11 уже лучше
Code: [Select]
11:18:32 abc
11:18:32 abc+ cde
ещё бы от плючиков избавится и STRCONCAT пойдёт лесом.
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on October 03, 2014, 06:19:21 PM
Многопоточность! Макросы! Исправление надоевших ошибок! Безудержное веселье!

Все это в Clickermann v4.11

http://rghost.net/58335471 (full zip)

Подробнее напишу позже как протрезвею, если возникнет необходимость (что вряд ли учитывая что эту тему посещяет только цвет нации)

Макросы - тема двухлетней давности http://crapware.aidf.org/forum/index.php?topic=65.0, на стадии реализации, пока имеет то что имеем
Многопоточность так же упоминалась тут http://crapware.aidf.org/forum/index.php?topic=329.0
Title: Re: [Alpha/Beta Testing]
Post by: aden on October 03, 2014, 06:49:34 PM
потоки мегавкусняшка, а вот макросы не нашел описания как их использовать

ps. еще компиляцию в exe и я откажусь от затеи кодить свой преферанс с поэтессами ::)
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on October 03, 2014, 08:45:23 PM
потоки мегавкусняшка, а вот макросы не нашел описания как их использовать

Это чуть ниже "ДИРЕКТИВЫ ПРЕПРОЦЕССОРА"

Вот пример.
Code: (clickermann) [Select]
WAIT(2)
#define #A:RNDFROM("#Q","#W","#E")
KEYPRESS(#A)

Так можно создать мутационный код
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on October 03, 2014, 08:54:32 PM
Приостанавливать поток хорошо, но необходимо также перезапускать поток, начинать выполнение с начала..
Дополнил "Команды и Шаблоны" новыми функциями. Добавил подписи к каждому пункту, для новичков будет полезно.



А вот и баги...
Кнопка "Сохранить" поломалась. Выскакивает "Сохранить как" причем в коренной папке кликера.
Upd..
Оказалось дело не в Сохранить а в Применить. Именно после нажатия или запуска скрипта происходит сброс папки.



Ошибка в справке.
ARRPUSH ссылка "на официальном форуме." распространяется и на параметры и примеры.


Баг
Если скрипт состоит из одних только потоков, то кликер после запуска невозможно остановить, только пауза работает.
Code: (clickermann) [Select]
thread(Поток1)
   print("Поток 1")
   wait(5)
end_thread

thread(Поток2)
   print("Поток 2")
   wait(1)
end_thread


Нестабильность
Устойчивость понизилась. Тестирую час а уже полно зависаний. Использую многопоточность. Причем виснит как то беспорядочно, то работает отлично а то на ровном месте "программа не отвечает".

Вот что пишет в errorlog.txt
Code: [Select]
03.10.2014 23:04:25 Access violation at address 004A7150 in module 'Clickermann.exe'. Read of address 0000000A
03.10.2014 23:05:02 Access violation at address 01CA4D53. Write of address 57A0A1ED
03.10.2014 23:05:38 Invalid pointer operation



BREAK не работает, как и в 4.10  :-\
Title: Re: [Alpha/Beta Testing]
Post by: Atas on October 03, 2014, 09:04:38 PM
Открыл файл Справки > Основные конструкции > THREAD (потоки), читаю...
Code: (clickermann) [Select]
Поток представляет собой независимую цепочку действий, выполняющихся одновременно с основным телом скрипта (он же родительский поток) и другими потоками. ... ВСЁ! БАШНЮ СОРВАЛО!!! АААААААААА!!!! Урааа!!!
Это ПРАЗДНИК, со слезами на глазах! Вот СПАСИБО! :) Вот ЭТО ПОДАРОК! Да с ЭТИМ мы БОГИ!!!!

Спасибо Johnny! :)

P.S. Завтра тестить буду, сегодня голова несможет вместить такое. Так об этом мечтал, что теперь даже боюсь спугнуть эту радость!
Всё, я курить и в WoW, всех уделаю релизной v4.10 (build 003) напоследок! :) А уж завтра!... 8)
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on October 05, 2014, 04:11:34 PM
ладно разберемся. новшество сильно новое видимо.
с рандомными зависаниями еще интереснее.. есть какой нить скрипт чтоб погонять?

но "разберемся с вашей помощью" будет по-быстрее. погоняйте глючную версию, посмотрите на предметы зависаний, закономерностей. если повис, смотрите что пишет errorlog.txt (он очищается при каждом запуске имейте ввиду).
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on October 05, 2014, 05:25:51 PM
Точно установлено что в errorlog.txt пишутся ошибки при нажатии кнопки "Стоп" если скрипт не запущен.
Удалось добиться зависаний  8)

Игра Clicker Heroes
http://www.clickerheroes.com/ (http://www.clickerheroes.com/)
Играю в Мазилле. Кликер подключается к флешке через оконный режим.
Далее запускаю, останавливаю,запускаю, останавливаю,запускаю, останавливаю и бац программа не отвечает.
Иногда выскакивает ошибка интерпретации IF($time2 < $_time_t). После этого кликер невозможно остановить а в логе ошибок пишет "Thread Error: Отказано в доступе (5)"

Code: [Select]
05.10.2014 18:27:21 Access violation at address 004A7150 in module 'Clickermann.exe'. Read of address 0000000A
05.10.2014 18:27:21 Access violation at address 004C6CBA in module 'Clickermann.exe'. Read of address FFFFFFFC
05.10.2014 18:27:21 Access violation at address 004A7150 in module 'Clickermann.exe'. Read of address 0000000A
05.10.2014 18:27:22 Access violation at address 004A7150 in module 'Clickermann.exe'. Read of address 0000000A
05.10.2014 18:29:48 Access violation at address 004A7150 in module 'Clickermann.exe'. Read of address 0000000A
05.10.2014 18:29:48 Access violation at address 004A7150 in module 'Clickermann.exe'. Read of address 0000000A
05.10.2014 18:29:48 Access violation at address 004A7150 in module 'Clickermann.exe'. Read of address 0000000A
05.10.2014 18:29:49 Access violation at address 004A7150 in module 'Clickermann.exe'. Read of address 0000000A
05.10.2014 18:29:51 Access violation at address 004A7150 in module 'Clickermann.exe'. Read of address 0000000A
05.10.2014 18:29:51 Access violation at address 004A7150 in module 'Clickermann.exe'. Read of address 0000000A
05.10.2014 18:31:05 Access violation at address 004A7150 in module 'Clickermann.exe'. Read of address 0000000A
05.10.2014 18:31:07 Access violation at address 004A7150 in module 'Clickermann.exe'. Read of address 0000000A
05.10.2014 18:31:20 Access violation at address 004A7150 in module 'Clickermann.exe'. Read of address 0000000F
05.10.2014 18:45:41 Invalid pointer operation
05.10.2014 18:45:44 Thread Error: Отказано в доступе (5)
05.10.2014 18:45:45 Thread Error: Отказано в доступе (5)
05.10.2014 18:45:47 Thread Error: Отказано в доступе (5)
05.10.2014 18:45:49 Thread Error: Отказано в доступе (5)
05.10.2014 18:45:50 Thread Error: Отказано в доступе (5)
05.10.2014 18:45:51 Thread Error: Отказано в доступе (5)
05.10.2014 18:45:51 Thread Error: Отказано в доступе (5)
05.10.2014 18:45:53 Thread Error: Отказано в доступе (5)
05.10.2014 18:45:53 Thread Error: Отказано в доступе (5)
05.10.2014 18:45:54 Thread Error: Отказано в доступе (5)
05.10.2014 18:45:54 Thread Error: Отказано в доступе (5)
05.10.2014 18:45:54 Thread Error: Отказано в доступе (5)
05.10.2014 18:45:54 Thread Error: Отказано в доступе (5)
05.10.2014 18:45:57 Thread Error: Отказано в доступе (5)
05.10.2014 18:45:57 Thread Error: Отказано в доступе (5)
05.10.2014 18:45:57 Thread Error: Отказано в доступе (5)
05.10.2014 18:45:57 Thread Error: Отказано в доступе (5)
05.10.2014 18:45:59 Thread Error: Отказано в доступе (5)
05.10.2014 18:45:59 Thread Error: Отказано в доступе (5)
05.10.2014 18:45:59 Thread Error: Отказано в доступе (5)
05.10.2014 18:45:59 Thread Error: Отказано в доступе (5)
05.10.2014 18:46:01 Thread Error: Отказано в доступе (5)
05.10.2014 18:46:01 Thread Error: Отказано в доступе (5)
05.10.2014 18:46:02 Thread Error: Отказано в доступе (5)
05.10.2014 18:46:02 Thread Error: Отказано в доступе (5)
05.10.2014 18:46:02 Thread Error: Отказано в доступе (5)
05.10.2014 18:46:03 Thread Error: Отказано в доступе (5)
05.10.2014 18:46:12 Thread Error: Отказано в доступе (5)
05.10.2014 18:46:13 Thread Error: Отказано в доступе (5)
05.10.2014 18:46:13 Thread Error: Отказано в доступе (5)
05.10.2014 18:46:13 Thread Error: Отказано в доступе (5)
05.10.2014 18:46:13 Thread Error: Отказано в доступе (5)
05.10.2014 18:46:14 Thread Error: Отказано в доступе (5)
05.10.2014 18:46:15 Thread Error: Отказано в доступе (5)
05.10.2014 18:46:15 Thread Error: Отказано в доступе (5)
05.10.2014 18:46:17 Thread Error: Отказано в доступе (5)
05.10.2014 18:46:18 Thread Error: Отказано в доступе (5)
05.10.2014 18:46:18 Thread Error: Отказано в доступе (5)
05.10.2014 18:46:18 Thread Error: Отказано в доступе (5)
05.10.2014 18:46:19 Thread Error: Отказано в доступе (5)
05.10.2014 18:49:48 Invalid pointer operation
05.10.2014 18:49:50 Invalid pointer operation
05.10.2014 18:49:51 Invalid pointer operation
05.10.2014 18:49:51 Invalid pointer operation
05.10.2014 18:49:52 Invalid pointer operation
05.10.2014 18:49:53 Invalid pointer operation
05.10.2014 18:49:54 Invalid pointer operation
05.10.2014 18:49:54 Invalid pointer operation

Там приложен скрипт и файл сохранения


Title: Re: [Alpha/Beta Testing]
Post by: i0 on October 05, 2014, 08:13:08 PM
ммм.. есть проблема с проверкой условия с участием строк (вообще забыл про них). попробуем поковырять.
Code: [Select]
if ( $sString = "" )в Clickermann v4.11 вызывает ошибку интерпретации (в 4.10.003 всё норм.)
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on October 06, 2014, 02:18:57 PM
Включаю-выключаю это все понятно и впринципе примерно ясно где баг. Там то что называется есть риск остановить в неправильное время (и судя по всему в неправильном месте).
А вот в процессе работы оно не висло? То есть просто запустил, нажал плей и она крутится?
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on October 06, 2014, 03:16:06 PM
Да виснит, вот еще пример. На втором проходе скрипта кликер виснит
Upd..
Понял почему виснит. Переменная в for теперь не сбрасывается, в результате на втором проходе цикл пропускается и функция tfwritearr пытается записать несуществующий массив. Все дело в tfwritearr

Code: (clickermann) [Select]
THREAD(name1, 0)
   for($b, $b<1000)
      ARRPUSH($arr_out, rnd(1,99))
   end_cyc
   $check1 = 1
   SETTHREAD (name1, 0)
END_THREAD

THREAD(name2, 0)
   for($с, $с<1000)
      ARRPUSH($arr_out, rnd(1,99))
   end_cyc
   $check2 = 1
   SETTHREAD (name2, 0)
END_THREAD

//=============================================

$ms = $_ms
for($a, $a<2000)
   ARRPUSH($arr_out, rnd(1,99))
end_cyc
tfwritearr("arr_save_1.txt", $arr_out)
LOGWRITE ("Тест 1: ",$_ms-$ms)
UNDEFINE($arr_out)

$ms = $_ms
SETTHREAD (name1, 1)
SETTHREAD (name2, 1)

WHILE(($check1 = 0) | ($check2 = 0))
   WAITMS(20)
END_CYC
$check1 = 0
$check2 = 0

tfwritearr("arr_save_2.txt", $arr_out)
LOGWRITE ("Тест 2: ",$_ms-$ms)
UNDEFINE($arr_out)

//HALT // Без хальта на втором проходе висяк
Title: Re: [Alpha/Beta Testing]
Post by: Vint on October 06, 2014, 03:32:47 PM
Сколько не включал/выключал явного сбоя не добился xp sp3
Хотя мне кажется какой-то поток не останавливался.
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on October 07, 2014, 02:43:09 PM
Там в Командах и шаблонах что я написал есть ошибка
Файл qinsert_menu.txt стока 237 не хватает точки с запятой в конце
Code: [Select]
Define - Объявляет макрос; #define find:replace;Надо исправить, иначе этот пункт работать не будет.
Title: Re: [Alpha/Beta Testing]
Post by: Vint on October 07, 2014, 03:16:45 PM
Там в Командах и шаблонах что я написал есть ошибка
Файл qinsert_menu.txt стока 237 не хватает точки с запятой в конце
Code: [Select]
Define - Объявляет макрос; #define find:replace;Надо исправить, иначе этот пункт работать не будет.
91 наверно хотел так?:
Code: [Select]
IF( ); IF($a = $b);
И почему вот это в вычислениях дублируется вместе с работой с файлами?
Code: [Select]
   TFREADARR - Считывает массив из файла; TFREADARR("file.txt", $arr);
   TFWRITEARR - Записывает массив в текстовый файл; TFWRITEARR("file.txt", $arr);

И это в вычислениях, вместо строковых функций:
Code: [Select]
   STRSEPARATE - Разбивает строку на подстроки; STRSEPARATE("1:2:3:4", ":", $arr);
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on October 07, 2014, 03:50:25 PM
91 наверно хотел так?:
Code: [Select]
IF( ); IF($a = $b);
Нет там пример, опять же зачем вставлять в скрипт какие то $a = $b? Чтоб потом тратить время на удаление.

Пункты дублируются для удобства, там три пункта массивов дополнились еще тремя. Хочешь что то с массивами написать, вот они все в кучке. Лучше больше чем меньше.
STRSEPARATE надо бы тоже сдублироть к строкам.

Про удобство
Можно ли сделать так чтобы после клика по пункту, менюшка не скрывалась?
Например я хочу вставить LDOWN LUP, приходится два раза лезть в Команды.
Или может использовать правую клавишу для серийной вставки команд?

Вот последний исправленный вариант.
Title: Re: [Alpha/Beta Testing]
Post by: Vint on October 07, 2014, 04:49:15 PM
Насчёт лишних, да.
Я просто смотрю по аналогии. Ведь в
FOR($a, $a < 5)
у тебя вставлено, то что потом придётся удалять.  И не только там.

Я давно там всё правлю в упрощённую сторону и без вставки комментов.
А, например подпрограммы сразу с оформлением разделителями.
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on October 07, 2014, 05:19:49 PM
Развлекаетесь?
Я патч принес. Вроде более менее удалось синхронизировать потоки, глючить должно меньше. Или вообще не должно.
Так же вроде решил все (почти все) упомянутые тут ранее проблемы.

http://rghost.net/58397900 (exe)

[spoiler=Пример]Скрипт с двумя параллельными потоками для игры The Escapists. При зажатой R, тыкает попеременно Q и E. В игре это нужно для качалочки.
Обратите внимание, что все потоки, как и основной, должны иметь паузу что бы процессор смог перевести дух. Подбирается индивидуально под ваш CPU.
Code: (clickermann) [Select]
thread(hr1)
   if($flag = 1)
      keypress(#q)
      waitms(20)
      keypress(#e)
      waitms(20)
   end_if
   waitms(10)
end_thread

thread(hr2)
   if(iskeydown(#w) = 1)
      $flag = 1
   else
      $flag = 0
   end_if
   waitms(10)
end_thread
[/spoiler]

Quote
Про удобство
Можно ли сделать так чтобы после клика по пункту, менюшка не скрывалась?
Например я хочу вставить LDOWN LUP, приходится два раза лезть в Команды.
Или может использовать правую клавишу для серийной вставки команд?
возможно и можно, но довольно трудозатратно. это стандартная менюшка винды. так придется изобретать свой велосипед.
хочешь вставлять больше одной строки? милости прошу в шаблоны

Quote
Понял почему виснит. Переменная в for теперь не сбрасывается
очередное дисциплинирующее нововведение, да. с другой стороны в ряде случаев позволяет сэкономить костыли и не портить изящество кода
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on October 07, 2014, 06:29:44 PM
[spoiler=Пример использования потока в боте]Слежение за мышью в потоке. Если курсор не двигается заданное количество секунд то можно предположить что бот застрял.

Code: (clickermann) [Select]
THREAD(name, 1)
   IF(($sx = $_xmouse)|($sy = $_ymouse))
      IF($moustime < $_time_t)
         HALT
      END_IF
      WAITMS(50)
   ELSE
      $moustime = $_time_t + 60
      $sx = $_xmouse
      $sy = $_ymouse
      WAITMS(50)
   END_IF
END_THREAD

WAIT(1)
[/spoiler]

Quote
Понял почему виснит. Переменная в for теперь не сбрасывается
очередное дисциплинирующее нововведение, да. с другой стороны в ряде случаев позволяет сэкономить костыли и не портить изящество кода

Дело не в FOR а в TFWRITEARR. Попытка записать отсутствующий массив приводит к зависанию. И этот патч это все еще не исправляет.
Code: (clickermann) [Select]
TFWRITEARR("file.txt", $arr)
HALT


Баг
Если в ходе выполнения скрипта (любого) в редакторе нажать Применить то кликер невозможно остановить.


Title: Re: [Alpha/Beta Testing]
Post by: Johnny on October 09, 2014, 01:03:45 PM
Дело не в FOR а в TFWRITEARR. Попытка записать отсутствующий массив приводит к зависанию. И этот патч это все еще не исправляет.
минутка занимательного программирования
посмотрел, там оказывается очень забавный баг. там расчитывается максимальный индекс как размер_массива-1. При нулевом массиве получаем 0-1. Однако сама переменная беззнаковая. Следовательно вместо -1 мы получаем четыре миллиарда (итераций по добавлению пустоты, которые вешают по).
похожая ошибка, известная как Сумасшедший Ганди, была в игре Цивилизация
почитать на лурке http://lurkmore.to/Civilization#.D0.A1.D1.83.D0.BC.D0.B0.D1.81.D1.88.D0.B5.D0.B4.D1.88.D0.B8.D0.B9_.D0.93.D0.B0.D0.BD.D0.B4.D0.B8

Quote
Если в ходе выполнения скрипта (любого) в редакторе нажать Применить то кликер невозможно остановить.
ну вы совсем уже... к таким же примерно результатам приведет попытка открыть другой сценарий в момент выполенния первого.
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on October 09, 2014, 01:28:28 PM
ну вы совсем уже... к таким же примерно результатам приведет попытка открыть другой сценарий в момент выполенния первого.
Однако в 4.10.003 нажатие Применить останавливает скрипт.
Юзеры своими рученками куда только не тыкнут, надо учитывать все.
Title: Re: [Alpha/Beta Testing]
Post by: Vint on October 09, 2014, 02:27:50 PM
Ко всем запрещённым кнопкам подвести напряжение  :D ;D
Title: Re: [Alpha/Beta Testing]
Post by: aden on October 09, 2014, 02:49:10 PM
да нет, всеголишь требовать ввести 20 значный пароль с разными регистрами знаками и разными раскладками
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on October 15, 2014, 10:20:40 AM
И опять справка.

HGETTEXT
Устаревший пример
Code: (clickermann) [Select]
// Пример 2 (через строковую переменную)
$h = hget(44,1010)
%text = hgettext($h)

print( %text )
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on October 16, 2014, 04:00:10 PM
На счет функционала
В редакторе есть кнопка "Очистить", на самом деле когда мы хотим создать новый скрипт, мы жмем эту кнопку, и редактор очищается но связь с сохраненным файлом все еще остается. Теперь нажав "Сохранить" можно легко испортить предыдущий скрипт.

Нужно чтобы эта кнопка работала как "Новый скрипт", с очисткой редактора и потерей связи с предыдущем файлом.

А то пользователи все еще теряют скрипты по невнимательности
http://vk.com/topic-14410794_21900056?post=21129 (http://vk.com/topic-14410794_21900056?post=21129)
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on October 17, 2014, 06:48:06 PM
Ну что господа, надо заканчивать.

Релиз кандидат
http://rghost.net/58574248 (full distr)

Добавил чуток новых команд по заявкам трудящихся. Подправил те да се файлы. Даже удалось снизить уровень агрессии вирустотала.
За всеми подробностями в хистори.
Title: Re: [Alpha/Beta Testing]
Post by: i0 on October 18, 2014, 09:19:18 AM
    + WNDGETINFO
    + WNDSETINFO
    + WNDBUMP
спасибо огромное, не хватало

Johnny, огромная просьба в главном окне рядом с копирайтом показывать версию
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on October 18, 2014, 09:57:56 AM
Держишь кучу версий? Зачем? Последняя настолько хороша что там даже не надо ARRPOP в INT() оборачивать.
Ну, надпись то поправить недолго. Или вон, в строку состояния вывести.
Title: Re: [Alpha/Beta Testing]
Post by: quant13 on October 18, 2014, 11:39:35 AM
$htxtnew=STRCUT2($htxt,1, STRLEN($htxt)-STRLEN($hname)

пропущенная последняя скобка насмерть вешает программу
справедливо для 4.10 и 4.11. в других не пробовал.

И, если уже в этой версии не будет изменен интерфейс особо, добавьте кнопочку "поверх всех окон" для главного окна, и запоминание размеров+положения для окна редактора, хотя бы, будет хорошее начало на будущее.
Title: Re: [Alpha/Beta Testing]
Post by: i0 on October 18, 2014, 12:23:11 PM
Держишь кучу версий? Зачем?
у себя на компе я разберусь ещё, какая версия работает
а вот у игроков, пользующихся моими скриптами - гораздо сложнее

з.ы. спору нет – хороша
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on October 19, 2014, 06:52:33 PM
Баг
Причем и в 4.10 тоже

Функция EXECUTE не вызывает файл "Тест.txt" если скрипт был загружен из списка "ранее использованных скриптов"

Запускаем кликер, нажимаем загрузить скрипт "Тест запуска файла.cms", запускаем и открывается файл "Тест.txt", все работает.
Теперь закрываем кликер.
Запускаем снова но теперь загружаем скрипт из списка ранее использованных, запускаем... тишина, файл "Тест.txt" не запускается.
Title: Re: [Alpha/Beta Testing]
Post by: Vint on October 21, 2014, 10:52:21 AM
Баг
Причем и в 4.10 тоже
Не подгружается путь до скрипта и соответственно рабочий каталог где находится скрипт не учитывается, остаётся корень самого кликера.
Если текстовик перенести туда всё работает.
Значит и изображения и другие файлы из папки со скриптом находить не будет.
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on October 21, 2014, 12:05:11 PM
Значит и изображения и другие файлы из папки со скриптом находить не будет.
Нет, картинки он подхватывает, из текстовика считывает, проблема именно в EXECUTE.
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on October 21, 2014, 07:47:16 PM
Просто очередной частный случай о которых упоминается изредка в хистори...

http://rghost.net/58645560

надо уже публиковать в среду четверг ли
Title: Re: [Alpha/Beta Testing]
Post by: quant13 on October 22, 2014, 12:10:57 AM
Справка:
Quote
Плагины
...
В стандартную поставку дистрибутива включены три исходника-примера плагинов. Один дл Delphi, другой для C++ Builder, третий для Visual Studio 2005.
...

Я уже и забыл в какой последней версии были эти примеры  :)
надо бы их вернуть, или удалить из справки
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on October 22, 2014, 01:15:43 AM
Я думаю их совершенно не нужно пихать в сборку, а прикрутить отдельным архивом в разделе загрузка на главном сайте. При том что образцы совершенно не меняются.
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on October 22, 2014, 01:28:26 PM
Баг?

Если поток изначально не был запущен, то потом его нельзя запустить.
Code: (clickermann) [Select]
THREAD(potok,0) // изначально выключен
   LOGWRITE ("Поток")
   SETTHREAD(potok, 0) // отработает и отключится
   WAITMS(20)
END_THREAD

IF(iskeydown(1) = 1) // клик
   LOGWRITE ("Клик")
   WHILE(iskeydown(1) = 1)
      WAITMS(20)
   END_CYC
   SETTHREAD (potok, 1) // должен запуститься поток
END_IF
WAITMS(20)

Если поставить THREAD(potok,1) то все работает нормально.
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on October 22, 2014, 07:32:56 PM
Quote
Баг?
Ну уж точно не фича
http://rghost.net/58661219

кому не сложно, повыдумывайте адекватных примеров для статейки про потоки
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on October 23, 2014, 02:39:44 PM
Многим просто необходимо жать разные клавиши в разное время

Code: (clickermann) [Select]
// Нажатия клавиш с разными задержками не тормозящие друг друга
THREAD(Поток A, 1)
   KEYPRESS(#A) // клавиша нажимается раз в секунду
   WAIT(1)
END_THREAD

THREAD(Поток B, 1)
   KEYPRESS(#B) // клавиша нажимается раз в 5 секунд
   WAIT(5)
END_THREAD

THREAD(Поток C, 1)
   KEYPRESS(#C) // клавиша нажимается раз в минуту
   WAIT(60)
END_THREAD

THREAD(Поток D, 1)
   KEYPRESS(#D) // клавиша нажимается раз в 5 минут
   WAIT(300)
END_THREAD

WAIT(1)
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on October 25, 2014, 10:41:28 AM
Зарелизил с последней опубликованной тут сборкой. В добрый путь епта.
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on October 25, 2014, 11:02:20 AM
А интересно, можно сделать отдельную привязку к окнам на каждый поток?
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on October 25, 2014, 11:20:43 AM
да можно даже буффер графический отдельный на каждый поток.
"но это уже совсем другая история"
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on October 27, 2014, 03:01:00 PM
Не верный код клавиши

Тут напомнили про PrintScreen в константах да и в справке написан код 154 хотя рабочим является код 44

#PRINTSCREEN 154
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on October 28, 2014, 10:33:01 PM
Странный баг
Ноль и точка в свитче определяется как одно и тоже. Оказалось что и в подпрограмму точка передается как 0 но при этом срабатывает секция CASE(".") :o

Code: (clickermann) [Select]
SUB(свитч,$l)
   LOGWRITE ("Символ: ", $l)
   
   SWITCH($l)     
   CASE(".")
      LOGWRITE ("Точка")
   CASE("0")
      LOGWRITE ("Ноль")
   DEFAULT
      LOGWRITE ("Другое")
   END_SWITCH
   
END_SUB


свитч("0")
свитч(".")

HALT

Лог:
Code: [Select]
23:29:59 Символ: 0
23:29:59 Точка
23:29:59 Символ: 0
23:29:59 Точка

Баг
Вложенный свитч работает нестабильно
http://crapware.aidf.org/forum/index.php?topic=1504.0 (http://crapware.aidf.org/forum/index.php?topic=1504.0)
Title: Re: [Alpha/Beta Testing]
Post by: Vint on October 29, 2014, 09:40:15 AM
Странный баг
Ноль и точка в свитче определяется как одно и тоже. Оказалось что и в подпрограмму точка передается как 0 но при этом срабатывает секция CASE(".") :o
Предсказуемо. Просто при отделении мух от котлет (числовых переменных от текстовых) наверно идёт фильтр по цифрам+точка как разделитель и возможно там же "минус". Если осталось что-то лишнее - это не число и обрабатывается как строка.
В "." ничего лишнего нет, вот и определяется как число, которое 0 (или булево 0).

Нужно при фильтрации учитывать: есть хотя бы одна цифра, тогда уже причислять к числам.
Нужно только смотреть не поломаются ли булевые значения при этом.
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on October 31, 2014, 12:01:34 AM
Баг

При чтении из файла функцией TFREAD вот такой строки "100|200" получаем в логе "236".
При этом функция STRREADLN читает строку правильно.

Code: (clickermann) [Select]
$a = TFREAD("тест.txt", 1)
LOGWRITE ($a)

$a = STRREADLN("тест.txt", 1)
LOGWRITE ($a)

HALT



Title: Re: [Alpha/Beta Testing]
Post by: Vint on October 31, 2014, 09:31:49 AM
Почему то упорно пытается то там то сям высчитывать текстовые строки.
Вот теперь битовая операция
  1100100 = 100
11001000 = 200
---------------------------
11101100 = 236
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on November 01, 2014, 12:28:12 AM
оказывается эта проблема есть и в 4.10
версии ниже такого бага не имеют.
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on November 03, 2014, 01:24:24 AM
Баг

Перестали запускаться программы, работает только если указать полный путь

Code: (clickermann) [Select]
EXECUTE("Notepad.exe")
WAITMS(100)

EXECUTE("firefox.exe")
WAITMS(100)

HALT
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on November 03, 2014, 09:44:50 AM
Исправление некоторых ошибок
(список составим потом)

http://rghost.net/58857130
Title: Re: [Alpha/Beta Testing]
Post by: quant13 on November 04, 2014, 10:33:11 AM
Странность.
Code: (Clickermann) [Select]
HSET(-1,0)
$h = hget(740,400)
HSET($h,1) // *
WNDPOS($h,-2,252) //**
halt
* при попытке привязать к окну игры, защищенной HackShield(игра Silkroad), выдает ошибку интерпретации с предложением прервать выполнение, при этом в главном окне привязки не показывает(статус:выкл), а в окне редактора привязка есть(причем к нужному окну).
** с окном манипуляции выполняет, никаких ошибок.

Убедительная просьба.
Сделайте уже запоминание положения и размера окна редактора, даже после выхода из программы.
Сейчас все очень плохо, окно редактора привязано относительно главного окна, и если главное окно поднять на верх экрана к краю, или к правому краю, окно редактора откроется выходя за границы экрана, так что не видно даже крестика закрыть, и прочего, помогает только альт+ф4
И сворачивается("_"минимизировать) окно редактора не как все нормальные окна, а в огрызок окошка в левый нижний угол экрана, восстанавливать его неудобно

Спасибо, за терпение и что продолжаете улучшать проект.
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on November 04, 2014, 11:24:25 AM
Скорее всего проблема в 64 битной винде, привязывайся в ручную.
Title: Re: [Alpha/Beta Testing]
Post by: quant13 on November 04, 2014, 12:25:19 PM
Скорее всего проблема в 64 битной винде, привязывайся в ручную.
Не. винды обычные 7 х86
Попробовал сейчас, вручную то же самое, для главного окна кликера окно невидимо, его будто нет под курсором вообще. Видно только из окна редактора, там только и можно привязать, в итоге как я и писал, в окне редактора привязка есть, а в главном - нет. Это все не спроста.
HackShield шифрует процесс каким-то образом, даже в Task Manager процесс есть, а информация о нем отсутствует вся.
Хотя кликер в самом окне прекрасно работает, смущает только описанная выше странность.
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on November 21, 2014, 07:39:27 AM
Баг
Если сделать запись в режиме редактора, кликер сворачивается в трей а потом не разворачивается.
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on November 22, 2014, 11:13:15 AM
Кликер сворачивается штатными средствами, скажем так. Я вообще практически руку к этому механизму не прикладывал.
Кстати, напоминаю, что в конфиге есть параметр only_tray, если его обнулить то кликер останется на таскбаре в любом своем состоянии
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on November 22, 2014, 01:03:33 PM
Кликер сворачивается штатными средствами, скажем так. Я вообще практически руку к этому механизму не прикладывал.
Кстати, напоминаю, что в конфиге есть параметр only_tray, если его обнулить то кликер останется на таскбаре в любом своем состоянии

Нет, даже если only_tray = 0 в режиме редактора комбинация Alt+R свернет кликер в трей и больше от туда его не достать. Нужно либо это исправлять, либо блокировать запись в режиме редактора.

На счет параметров, нуб использующий запись полезет копаться в конфиг файлах? Для большинства это вообще темный лес.
Давно стоит, как у людей, все это вынести в настройки.
Title: Re: [Alpha/Beta Testing]
Post by: Vint on November 22, 2014, 10:14:20 PM
У меня тут куча предложений. Стоит ли описывать? Так мешают жить некоторые вещи..., а некоторых не хватает. Особенно вспомагательных функций при создании скриптов.

Как пример, тут даже на другой проге накалякал пробный образец удобного задания области, правда я его использую в специальном вспомогательном скрипте при создании.

P.S. Версия 2 заодно копирует результат в буфер обмена в виде: x1,y1,x2,y2
Можно сразу вставлять в IF_PICTURE_IN()
Title: Re: [Alpha/Beta Testing]
Post by: quant13 on November 23, 2014, 03:53:18 AM
не доверяю я всяким "калякам" в виде EXE-файла.
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on November 23, 2014, 09:01:09 AM
не доверяю я всяким "калякам" в виде EXE-файла.
Это программка написанная на AutoIt3. Визуально выделяет область и скидывает координаты в INI

Title: Re: [Alpha/Beta Testing]
Post by: Johnny on November 23, 2014, 10:08:27 AM
У меня тут куча предложений. Стоит ли описывать? Так мешают жить некоторые вещи..., а некоторых не хватает. Особенно вспомагательных функций при создании скриптов.
ну напиши уж, посмотрим обсудим
Title: Re: [Alpha/Beta Testing]
Post by: Vint on November 24, 2014, 09:35:45 AM
не доверяю я всяким "калякам" в виде EXE-файла.
А, не вопрос
[spoiler]
Code: (php) [Select]
#include <WindowsConstants.au3>
#include <WinAPIEx.au3>

HotKeySet("{F1}", "Pause")
HotKeySet("{F2}", "Quit")

Global $draw = True, $stage = 0, $Select, $Lab, $x1, $y1
Global $trans = 150        ; прозрачность 192
Global $color1 = 0x0000FF   ; перекрестие
Global $color2 = 0xFF0000   ; выделение
$sPath_ini = @ScriptDir & "\coord.ini"

$pos = MouseGetPos() ; получить текущие координыты указателя мыши

$Horz = GUICreate("", @DesktopWidth, 1, 0, $pos[1], $WS_POPUP, BitOR($WS_EX_TOPMOST, $WS_EX_TOOLWINDOW))
GUISetBkColor($color1)
WinSetTrans($Horz, '', $trans)
GUISetState(@SW_SHOWNOACTIVATE)

$Vert = GUICreate("", 1, @DesktopHeight, $pos[0], 0, $WS_POPUP, BitOR($WS_EX_TOPMOST, $WS_EX_TOOLWINDOW))
GUISetBkColor($color1)
WinSetTrans($Vert, '', $trans)
GUISetState(@SW_SHOWNOACTIVATE)

$Select = GUICreate("", 1, 1, $x1, $y1, $WS_POPUP, BitOR($WS_EX_TOPMOST, $WS_EX_TOOLWINDOW))
GUISetBkColor($color2)
WinSetTrans($Select, '', 50)
;~ $Lab = GUICtrlCreateLabel('', $x1+1, $y1+1, 0, 0) ; фон
;~ GUICtrlSetBkColor(-1, 0xFF0000)
;~ WinSetTrans($Lab, '', 50)
GUISetState(@SW_HIDE, $Select)

; пауза
Do
$pos = MouseGetPos() ; получить текущие координыты указателя мыши
WinMove($Horz, '', 0, $pos[1])  ;Default
WinMove($Vert, '', $pos[0], 0)

;~ If $draw Then
;~ WinSetOnTop($Horz, "", 1)
;~ WinSetOnTop($Vert, "", 1)
;~ EndIf

If $stage = 1 Then
WinMove($Select, '', $x1, $y1, $pos[0]-$x1, $pos[1]-$y1)
;~ GUICtrlSetPos($Lab, $x1+1, $y1+1, $pos[0]-1, $pos[1]-1)
EndIf

; проверяем нажатие
If _WinAPI_GetAsyncKeyState(0x01) = True And $stage = 0 Then        ; Нажата левая кнопка мыши первый раз
$x1 = $pos[0]
$y1 = $pos[1]
$stage = 1
WinMove($Select, '', $x1, $y1, $pos[0]-$x1, $pos[1]-$y1)
GUISetState(@SW_SHOWNOACTIVATE, $Select)
EndIf
If _WinAPI_GetAsyncKeyState(0x01) = False And $stage = 1 Then        ; Отпущена левая кнопка мыши
IniWrite($sPath_ini, "coord", "x1", $x1)
IniWrite($sPath_ini, "coord", "y1", $y1)
IniWrite($sPath_ini, "coord", "x2", $pos[0])
IniWrite($sPath_ini, "coord", "y2", $pos[1])
IniWrite($sPath_ini, "coord", "state", '1')
Quit()
EndIf
If _WinAPI_GetAsyncKeyState(0x02) = True Then Quit() ; Нажата правая кнопка мыши - выход
Until Not Sleep(10)

Func Pause()
$draw = Not $draw
If $draw Then
GUISetState(@SW_SHOW, $Horz)
GUISetState(@SW_SHOW, $Vert)
        GUISetState(@SW_SHOW, $Select)
Else
GUISetState(@SW_HIDE, $Horz)
GUISetState(@SW_HIDE, $Vert)
        GUISetState(@SW_HIDE, $Select)
EndIf
EndFunc

Func Quit()
Exit
EndFunc


;~ #include <Misc.au3>
;~ If _IsPressed('01') Then ToolTip('ЛКМ' & @LF & MouseGetPos(0) & 'x' & MouseGetPos(1), 0, 0)
;~ If _IsPressed('02') Then ToolTip('ПКМ' & @LF & MouseGetPos(0) & 'x' & MouseGetPos(1), 0, 0)
[/spoiler]
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on November 30, 2014, 12:33:45 PM
Баг с LOAD

В скрипте  загруженным через LOAD выскакивает ошибка на строке HALT после чего кликер невозможно остановить, он зависает на паузе.

1.cms
Code: (clickermann) [Select]
LOAD("bot.cms")
bot.cms
Code: (clickermann) [Select]
LOGWRITE ("Load")

WAIT(1)
HALT
Title: Re: [Alpha/Beta Testing]
Post by: Vint on December 01, 2014, 11:53:56 AM
Я вообще не смог загрузить LOAD(bot.cms)  пока не положил bot.cms в папку projects

А HALT выдаёт в errors
Code: [Select]
01.12.2014 11:52:07 Thread _MAIN(0) raise exception
01.12.2014 11:52:13 Access violation at address 004D2EF2 in module 'Clickermann v4.11 build 001.exe'. Write of address 0000004B
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on December 01, 2014, 12:02:41 PM
Ну конечно же скрипты для устаревшей LOAD должны быть projects, факт в том что теперь здесь идут глюки.
Title: Re: [Alpha/Beta Testing]
Post by: Vint on December 01, 2014, 12:34:54 PM
Да и чёрт с ней. Кому этот LOAD нужен. Может кто-то привести внятный пример где без него никак?
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on December 01, 2014, 12:47:17 PM
Да и чёрт с ней. Кому этот LOAD нужен. Может кто-то привести внятный пример где без него никак?
Существует видимо клуб любителей GOTO, LOAD и конечно же INCLUDE.
http://vk.com/topic-14410794_21900056?post=22511 (http://vk.com/topic-14410794_21900056?post=22511)
http://vk.com/topic-14410794_26211333?post=22517 (http://vk.com/topic-14410794_26211333?post=22517)
Там просто не мыслят жизни без LOAD.
Title: Re: [Alpha/Beta Testing]
Post by: Vint on December 01, 2014, 01:08:08 PM
Да и чёрт с ней. Кому этот LOAD нужен. Может кто-то привести внятный пример где без него никак?
Существует видимо клуб любителей GOTO, LOAD и конечно же INCLUDE.
http://vk.com/topic-14410794_21900056?post=22511 (http://vk.com/topic-14410794_21900056?post=22511)
http://vk.com/topic-14410794_26211333?post=22517 (http://vk.com/topic-14410794_26211333?post=22517)
Там просто не мыслят жизни без LOAD.

Аааа.... Ну include очень даже полезная вещь. Пользуюсь часто. Но не так конечно, как некоторые, к месту и не к месту.
Title: Re: [Alpha/Beta Testing]
Post by: Vint on December 03, 2014, 07:04:12 PM
ну напиши уж, посмотрим обсудим
Сначала мелочи, о которых может и писали, но они конкретно мешают жить.

1. Пусть редактор сворачивается на панель задач, а не в значок. Плюс туда же сворачивается программа при автозапуске по #autorun.

2. Сделать наконец запоминание размеров/положения окна редактора.

3. При вставке команд из шаблонов/команд, а так же взятие цвета по Alt+Q  вставлять текст в ту позицию где стоит курсор и без последующего сдвига строки. Сейчас вставляется в начало строки+переход на новую пустую строку со сдвигом существующей вниз.
Сейчас ввод строк типа:
MCLICK($_xmouse,INT($_ymouse/2))
HINTPOPUP(STRCONCAT("А вот и оно: ", $_ms),  "Внимание!")
превращается в увлекательное жонглирование копипастом и backspase, которое отнимает уйму времени. Ну или всё писать руками с нуля.

4. Может можно организовать альтернативу для устаревшего STRCONCAT научив парсер складывать строки сразу. Вида:
«первая» + «вторая»    результат – перваявторая
И
«первая» ++ «вторая»    результат – первая вторая        (с автоматическим добавлением пробела)

Только чтобы он не пытался вычислять. Т.е. если один из слагаемых "строка" все переводятся в строки и после уже коннектятся.

4.1.  Добавить команду явного преобразования в строку типа str($num)   - результат "100"

4.2. Починить наличие служебных символов в строках  $ ( ) "   - не знаю как с кавычками быть. Может как в питоне?

5.  Дать возможность задавать начальный текст пустого скрипта, вместо существующего
Code: (clickermann) [Select]
// New Script
// Author: Anonymous
// Version: 1.0 (03.12.2014)
#name "New Script"
// begin your script here
print("Hello, world!")
halt // for single run
Понятно, что можно создать свой шаблон и открывать его в начале… но там не будет автовставки даты + можно добавить автовставку версии кликера.

6. При закрытии редактора спрашивать о сохранении скрипта если были изменения. Не только «применить». Кнопка «применить « при закрытии редактора  может пусть нажимается автоматически? Здесь вопрос спорный нужно обсуждать. Но в реальности я почти всегда нажимаю дуплет «применить+сохранить»

7. При сохранении настроек в окне настроек кликера – автоматически закрывать это окно.

8. Добавить параметр команде SetThread (thread_name, state) для запуска потока с начала
SetThread (thread_name, 3) (СТОП+ ПУСК с начала)
Тогда на потоках можно будет делать отлов ошибок работы или сбоев приложений, да много чего.
Например одноразовые куски скрипта работающие параллельно.
Code: (clickermann) [Select]
thread(t1)
   // скрипт отрабатывающий разово параллельно с основным
   SetThread (t1, 0)
end_thread
// основная прога

SetThread (thread_name, 3)


SetThread (thread_name, 3)

Для написания и отладки

У нас не так много инструментов для удобного создания скриптов, предлагаю обсудить на добавление

9. Вылечить неработающий параметр из конфига delay_between_lines и сделать команду для изменения его программно «на лету». Это позволит при отладке  управлять скоростью выполнения участков кода. Очень поможет.

10. Всё таки придумать как выводить номер работающей строки, если получится. Может какой снимок скрипта в памяти до парсинга, не знаю. Пусть будет отключаемой по toggle кнопке, если тяжёлое. Реально иногда невозможно понять куда нас занесло и зависло. Расстановка в рассыпуху десятков принтов с номерами вариант так себе…

11.  Добавить дополнительную команду наподобие Alt+Q   которая получает строку вида
LCLICK(478,462)  // 16777215
Новое сочетание пусть вставляет только координаты в виде 478,462 прямо на место курсора. Удобно будет вписывать в Nclick-и и функции поиска.

12. Добавить кнопку (реальную, в редакторе + сочетание клавиш) по которой будем визуально задавать область со вставкой на место курсора координат области вида:  125,130,750,1020
Можно как в примере выше.

13. Добавить в редактор пару-тройку блоков которые будут хранить координаты точки. Объясняю см. вложение.
Это как ячейки памяти в калькуляторе навёл на точку нажал Alt+1 и в ячейке 1 сохранились координаты точки.
Эти  координаты вписались в поле, рядом отображаются динамически высчитываемые смещения от точки до курсора.
Точек можно задать несколько,  Alt+1, Alt+2, Alt+3… (фиксированное число)
Разместить рядом с полем где выводятся сейчас координаты под курсором.
Удобно можно будет запоминать ключевые точки и всегда видеть и вставлять смещение от них (shift+2 вставляет смещение от точки 2 до курсора).

14. вместо постоянного клепания проверочных находилок картинок, сделать блок/поле
где будут инпут поля куда вносим параметры как в IF_PICTURE_IN 
Code: [Select]
Достаточно имени файла, прозрачности, процента и  колормода
             file.bmp        -1         90          7
можно даже без .bmp (кстати его можно убрать и из функций, пусть .bmp по умолчанию добавляется)
И рядом кнопочка маленькая.
Вписали, нажали, и на экране подсветились прицелами все места где IF_PICTURE_IN нашёл совпадение. Даже, скорее это SCANPICTURE. Можно и список координат вывести, хотя бы десяток, можно  в выпадающем поле. И одновременно скопированные в буфер обмена через запятую...
И такой же блок/поле для поиска цвета
Цвет   колормод
255          0


…  сразу всё и не вспомню, добавлю позже.


Title: Re: [Alpha/Beta Testing]
Post by: quant13 on December 04, 2014, 07:59:06 AM
1. незнаю куда у тебя сворачивается окно редактора, но у меня это вообще проблема, сворачивает в огрызок около Пуска, и ни из трея ни из панели задач его не вызвать, приходится кликать на "развернуть" в этом огрызке.(см.вложение)
...
3. Лучше ненадо, я привык работать как есть(и многие), и чаще нужно чтоб оно так и работало, а в тех редких случаях, когда надо будет вставить строку в другую, не лень сделать это руками.
...
6. Тоже не проблема, не стоит менять.
...
11. Ни в коем случае. Эта строка работает как надо, иногда нужны координаты, иногда цвет.
12-15 вообще непонятно что это и зачем.
 от себя
16. Добавить DEBUG/Watch окно, где вводим переменные и они там высвечиваются в реальном времени, раньше так было в редакторах языков (как сейчас, незнаю). (см вложение)
Существующая система не удобная, для отладки код заполнять принтами(их ведь еще и описывать надо, чтоб понять что к чему и не напутать print("Х= ", х$) ), или в паузе пкм по переменной для выяснения значения, это просто кошмар.

Title: Re: [Alpha/Beta Testing]
Post by: Kedrick on December 04, 2014, 09:44:56 AM
Поддерживаю все пункты, с их реализацией кликерман приблизится к положению элитной оболочки для написания скриптов :)

3. Лучше ненадо, я привык работать как есть(и многие), и чаще нужно чтоб оно так и работало, а в тех редких случаях, когда надо будет вставить строку в другую, не лень сделать это руками.
6. Тоже не проблема, не стоит менять.
11. Ни в коем случае. Эта строка работает как надо, иногда нужны координаты, иногда цвет.
12-15 вообще непонятно что это и зачем.
3. Если не понимаешь зачем это, то тебе это не нужно. Он просил не сломать, а дополнить.
6. Огромная проблема когда пишешь скрипты на сотни строк и постоянно их правишь и редактируешь, и если один раз не нажал сохранить по запарке, потом кучу времени теряешь на поиск где оно там не сохранило чтобы снова поправить. Для трехстрочных скриптов с двумя кликами это конечно не проблема.
11. Похоже ты даже не прочитал этот пункт. Там просят не изменить это, там просят добавить новое наподобие того.
12-14. Для трехстрочных скриптов с двумя кликами это бесполезно, потому и непонятно.

В перечисленных пунктах ты либо не понял о чем речь, либо не внимательно прочитал что просит Винт, либо совсем не понимаешь где и как это можно использовать.

Твой 16 пункт я тоже поддерживаю, это уже из разряда роскоши, но оно полезным будет.
Title: Re: [Alpha/Beta Testing]
Post by: Vint on December 04, 2014, 11:58:17 AM
1. незнаю куда у тебя сворачивается окно редактора, но у меня это вообще проблема, сворачивает в огрызок около Пуска, и ни из трея ни из панели задач его не вызвать, приходится кликать на "развернуть" в этом огрызке.(см.вложение)
...
3. Лучше ненадо, я привык работать как есть(и многие), и чаще нужно чтоб оно так и работало, а в тех редких случаях, когда надо будет вставить строку в другую, не лень сделать это руками.
...
6. Тоже не проблема, не стоит менять.
...
11. Ни в коем случае. Эта строка работает как надо, иногда нужны координаты, иногда цвет.
12-15 вообще непонятно что это и зачем.
 от себя
16. Добавить DEBUG/Watch окно, где вводим переменные и они там высвечиваются в реальном времени, раньше так было в редакторах языков (как сейчас, незнаю). (см вложение)
Существующая система не удобная, для отладки код заполнять принтами(их ведь еще и описывать надо, чтоб понять что к чему и не напутать print("Х= ", х$) ), или в паузе пкм по переменной для выяснения значения, это просто кошмар.
1. Про это и речь. Бесит жутко.

3. Ну если пользоваться не активно и только шаблонами... гораздо проще нажать один раз ENTER ведь правда?
Чем, вставить команду - выделить вставленную строку - скопировать - вставить в нужное место - удалить две пустые строки образовавшиеся при этом. И эта котовасия происходит ПОСТОЯННО!
Ты разве не вставляешь в уже существующие команды системные переменные? А INT... а RND... а практически все команды работы со строками. Я понимаю что многие в строки и не суются, а о системных переменных не помнят... Но давайте ориентироваться на тех кто скрипт всё таки пишет. Новички которые вставят 1 шаблон в сборе и больше им ничего не нужно... ну разве можно на такое ориентироваться? (Я не конкретно о ком-то, я вообще имею ввиду).
Поторюсь, даже такие простые строки как
Code: (clickermann) [Select]
MCLICK($_xmouse,INT($_ymax/2))Как вы вводите? Не напряжно? Не говоря уж о
Code: (clickermann) [Select]
$cena_t = STRFILTER(STRCUT2($str, 1, STRPOS($str, "руб")-1), "0123456789", 1)
$post = STRCUT2($str, $ver+STRLEN($cena_t), STRPOS($str, "цвет")-2)

6. ну тут обсуждаемо, не знаю как лучше. Но постоянное жонглирование двумя кнопками часто сбивает. То сохранил, а не применил и думаешь, почему не так работает. То применил, а не сохранил и вышел - потерял скрипт (такое случается у людей и крику полно).
Может достаточно будет полумер. Типа применение автоматом при сохранении... и автоматом при попытке запуска.

11. ты не так понял. Это остаётся как и было, добавляется похожая команда вставляющая по ГК только координаты без всяких Лкликов и цветов.

12-13. Для повышения автоматизации при написании скриптов. Особенно больших и сложных. Сейчас, даже тупо померить расстояние между точками, нужно сделать скриншот и в сторонней программе померить. Либо считать на калькуляторе глядя на координаты в редакторе.
Очень часто и этого мало, т.к. нужны расстояния и смещения от определённых точек и очень точно. Например от уже найденных изображений. Тут и вьювера мало, приходится в фотошопе ковырять. Напряжно это, а многим и не по зубам.

14. Почитай группу ВК, там у каждого второго что-то где-то не находит. Этот пункт позволит легко проверять заготовленные ресурсы. Там проблем помимо простой проверки выше крыши может быть. И простую проверку обычно пропускают.
Не нужно запускать отдельный скрипт типа
Code: (clickermann) [Select]
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN (0,0,$_xmax,$_ymax, "file.bmp",-1,85)
   LOGWRITE ("Нашли ", $_return1, " / ", $_return2)
ELSE
   LOGWRITE ("Не нашл")
END_IF
HALT
Или писать его сверху основного, т.к. жалко закрывать редактируемый.

Вот недавно писали. Графика простейшая, сглаживания нет совсем. Ничего не плывёт, всё фиксированно. Наразных окнах разное сочетание однотипных кнопок. Результат - нерегулярные сбои и ненахождения.
Понаделал скринов одних и тех же кнопок в разных окнах и на разной стадии сдвига в пределах окна. Начал накладывать в ФШ слоями. На части кнопок текст сдвигается вверх на 1 пиксель! Пипец. Процент не помогал, потому что фон градиентный. Пришлось искать 2-3 варианта каждой кнопки. Насколько бы быстрее мы это поняли просто запустив визуальные проверки где что находит.

16. да, забыл. Я об этом уже писал раньше.
http://crapware.aidf.org/forum/index.php?topic=50.msg8887#msg8887
http://crapware.aidf.org/forum/index.php?topic=50.msg8889#msg8889
Title: Re: [Alpha/Beta Testing]
Post by: quant13 on December 04, 2014, 05:10:51 PM
6. Ну тогда ведь проще избавится от кнопки Применить вообще, автоматически применять при закрытии окна редактора или при запуске сценария, а автосейв/запрос при выходе добавить в опции.

11. добавлять почти дублирующие функции так быстрые клавиши превратятся в пианино, а со временем вообще никакой клавиатуры не хватит ))
Title: Re: [Alpha/Beta Testing]
Post by: Vint on December 04, 2014, 05:24:49 PM
6. Ну тогда ведь проще избавится от кнопки Применить вообще, автоматически применять при закрытии окна редактора или при запуске сценария, а автосейв/запрос при выходе добавить в опции.

11. добавлять почти дублирующие функции так быстрые клавиши превратятся в пианино, а со временем вообще никакой клавиатуры не хватит ))
Только предложения. Понятно что кому то и так хорошо.
6. Можно и совсем. Т.к. вопрос не критичный но навязчивый, думал хоть на полумеры согласятся.
11. Сейчас пять - это разве много? Я из них пользуюсь тремя, четвёртой-привязкой только для тестов иногда. Запись-для тестов ещё реже, единичные случаи. Добавив 3 команды в пианино не превратится.

Ну, как хотите. Моё дело предложить. Это ещё "писями по воде виляно" т.к. от Джони зависит. Ему это писать.
Я вот уже задумался часть реализовать сторонней программой, что возможно. Хоть и неудобно, не интегрировано, дольше выполнение, а некоторое я даже не представляю пока как, но хоть что-то. Не хотелось бы. Хочется всё в одном флаконе.
Аскетизма мне уже не хватает. Очень тяжело для каждого чиха держать открытым ФШ, скриншотер, вьювер, бубен, набор ключей, амулет...
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on December 04, 2014, 09:09:21 PM
Все ваши писули будут изучены и приняты к сведению. Как должен выглядить более менее приличный редактор я вижу каждый день, открывая радочую IDE.
Вот пока для самых нервных патчец, исправляющий невозвращающийся из трея редактор, отделяющий графические буфера редактора и скрипта, а так же исправление багов для TFReadArr

P 05.12.14
http://rghost.net/59424333
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on December 05, 2014, 07:46:36 PM
Заметил тут баг.

Если в названии папки есть первая "n" то заголовок косит, видать как перенос строки считается (\n).
(http://savepic.net/6237200.png)
Title: Re: [Alpha/Beta Testing]
Post by: Vint on December 08, 2014, 12:07:21 PM
Ещё одна "писуля"...
Просьба сделать, чтобы при работе с текстовыми файлами не спотыкался на пустых строках.
Пусть читается как пустая строка.
Title: Re: [Alpha/Beta Testing]
Post by: quant13 on December 08, 2014, 02:02:34 PM
кликер спотыкается потому как получив из файла строку без данных (0A 0D за данные не считаются) он не знает что с этим делать. Я уже предлагал ввести константу #null с кодом 00 например, и заменять ею все пустышки
Title: Re: [Alpha/Beta Testing]
Post by: Vint on December 08, 2014, 02:05:08 PM
Кликер знает что такое пустые строки. В условиях они работают.
Вон и при чтении массива в новом исправлении тоже.
Просто при чтении из файла это не учтено.
Title: Re: [Alpha/Beta Testing]
Post by: Vint on December 16, 2014, 04:47:30 PM
14. вместо постоянного клепания проверочных находилок картинок, сделать блок/поле
где будут инпут поля куда вносим параметры как в IF_PICTURE_IN 
Code: [Select]
Достаточно имени файла, прозрачности, процента и  колормода
             file.bmp        -1         90          7
можно даже без .bmp (кстати его можно убрать и из функций, пусть .bmp по умолчанию добавляется)
И рядом кнопочка маленькая.
Вписали, нажали, и на экране подсветились прицелами все места где IF_PICTURE_IN нашёл совпадение. Даже, скорее это SCANPICTURE. Можно и список координат вывести, хотя бы десяток, можно  в выпадающем поле. И одновременно скопированные в буфер обмена через запятую...

О чём мечтали большевики... Сам попросил сам написал. Правда отдельно от кликера (надеюсь пока).
http://crapware.aidf.org/forum/index.php?topic=42.msg9427#msg9427
Раньше Кликермэн вызывал Автоит, теперь наши победили и вызываю Автоитом Кликермэн.
Ну хоть можно новичкам дать, а то: "ищет но глючит", "буфер переполняется" и тому подобная лабуда...
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on December 16, 2014, 05:43:49 PM
Вот именно такой визуализации и недостает кликеру. Неужто вот также нельзя сделать кнопку, которая покажет таблицу со всеми участвующими переменными и их значения в реальном времени при выполнении?
Title: Re: [Alpha/Beta Testing]
Post by: quant13 on December 27, 2014, 07:36:21 PM
Ошибка
После нескольких часов работы (сколько не знаю, я спал), привязанный к окну кликер (тыкал в одну точку с интервалом в минуту), зависает и не отвечает. Никаких потоков, простейший скрипт.
В версии 4,10 все было норм
Title: Re: [Alpha/Beta Testing]
Post by: Луций on December 27, 2014, 09:19:55 PM
если тыкал в браузер - за пару часов там память перегружается и все виснет
Title: Re: [Alpha/Beta Testing]
Post by: quant13 on December 27, 2014, 09:57:08 PM
тыкал не в браузер. в игру. игра не повисла. повис только кликер. 4,10 не вис раньше
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on December 28, 2014, 06:43:51 PM
всяко бывает. добьешься стабильного воспроизведения ошибки, тогда и приходи
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on February 01, 2015, 10:38:03 PM
На счет предложений, может уже стоит поработать над функционалом KEYSTRING?

Есть такая программка "KeePass 2" и в ней есть авто-набор логинов и паролей, так вот она как то умудряется набирать абсолютно любые символы, даже непечатные!
(http://savepic.net/6419721.gif)
Title: Re: [Alpha/Beta Testing]
Post by: Vint on February 01, 2015, 10:52:52 PM
Стоит конечно. Давно при чём. Но только не нужно трогать кейстринг. Это же агрегатор кейпрессов. Просто нужна новая функция эмулирующая набор текстовой переменной именно в том виде как она задана. С теми же символами и в той же раскладке. Идеальное название print но оно занято хоть и не документированно.
Последнее время прямо наплыв с этим кейстрингом.
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on March 04, 2015, 11:17:16 AM
Многократно повторял у себя, результат один, пока не будет полного снимка функция возвращает абы что. Графический буфер должен быть чист! Редактор открывать нельзя. Кроме того при использовании GETSCREEN() + PXLCOUNT изображение, скорее всего, не обновляется.

Это вылезло после разбора этого скрипта
http://vk.com/topic-14410794_21900056?post=25879 (http://vk.com/topic-14410794_21900056?post=25879)

Может функция PXLCOUNT не правильно определяет положение этого вырезанного скрина?
Title: Re: [Alpha/Beta Testing]
Post by: Vint on March 04, 2015, 03:11:19 PM
Я проверял и с закрытым редактором и с открытым. Но до теста GETSCREEN уже отрабатывал поэтому было всё правильно.
 
Сейчас проблему удалось поймать. Стало заметно если первый GETSCREEN с областью и сразу после открытия скрипта GETSCREEN не прогонялся. В не зависимости открыт редактор или нет, ведь буферы разделены.

Вставил заделку скриншотов и понял что PXLCOUNT не при чём. Хотя и не сразу. PXLCOUNT считает правильно, но данные у него не те.
Короче GETSCREEN берёт область на 1 меньше по горизонтали и вертикали. Ошибка здесь.
Кто хочет может попробовать на белом фоне запустить
Code: (clickermann) [Select]
GETSCREEN(500,500,509,509)
SCREENSHOTEX(500,500,509,509)

Размер области 10х10 но GETSCREEN с областью берёт на 1 меньше (см. скрин). Но заметить это легче только если GETSCREEN(...) идёт первым в скрипте, тогда там чернота. А если не первым, тогда там мусор от преведущих GETSCREEN, что тоже приводит к ошибкам, но заметить их труднее.

У всех остальных функций область считается правильно.
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on March 04, 2015, 03:44:23 PM
Проблема

Короче, проблема в несовпадении области GETSCREEN с областями в функциях
Code: (clickermann) [Select]
GETSCREEN(500,500,509+1,509+1) // чтобы было правильно приходится прибавить по 1 <<== Проблема ==
SCREENSHOTEX(500,500,509,509)
Title: Re: [Alpha/Beta Testing]
Post by: Vint on March 04, 2015, 03:52:39 PM
В функциях всё правильно, неправильно в GETSCREEN
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on May 01, 2015, 08:41:16 AM
Memory Leak

Друзья мои, как выяснилось наш кликер имеет классические утечки памяти, которые при длительном его использовании приводят к активному поглощению памяти и в конечном итоге краше (от обжорства). Скорость прямопропорциональна задержкам в скрипте.

Я сделал над собой усилие, вышел из прокрастинации и подправил ряд базисных функций. Теперь вроде все хорошо. Однако дело нуждается в проверке.
Затестите пожалуйста не сломал ли я чего и не ушло ли что от моего взора В ПЛАНЕ УТЕЧЕК. Все прочие фиксы и предложения позже. Это первостепенная задача.
Тренд: http://crapware.aidf.org/forum/index.php?topic=1811.0

fix http://rghost.net/92nSY8Gmd
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on May 24, 2015, 09:00:11 AM
Баг
Нашел тут странный баг с "Не равно". Он есть и в старых версиях.
Смысл в том что условие в цикле сравнивает два элемента массива с переменными. Когда используется "равно" то все нормально, но если используется "не равно", то оператор "И" почему то работает как "ИЛИ"

Code: (clickermann) [Select]
LOGCLEAR

FOR($a=0,$a<400)
   ARRPUSH($arr, $a)
END_CYC

$x = 356
$y = 359
LOGWRITE ("X:", $x," Y:", $y)

LOGWRITE ("РАВНО")
FOR($a=0,$a<ARRSIZE($arr),2)
   
   IF(($arr[$a]=$x)&($arr[$a+1]=$y))
      LOGWRITE ("Совпадает X:", $arr[$a]," Y:", $arr[$a+1])
   END_IF
   
END_CYC

LOGWRITE ("НЕ РАВНО")
FOR($a=0,$a<ARRSIZE($arr),2)
   
   IF(($arr[$a]!$x)&($arr[$a+1]!$y))
   ELSE
      LOGWRITE ("Совпадает X:", $arr[$a]," Y:", $arr[$a+1])
   END_IF
   
END_CYC

HALT

Лог:
Quote
9:51:33 X:356 Y:359
9:51:33 РАВНО
9:51:33 НЕ РАВНО
9:51:33 Совпадает X:356 Y:357
9:51:33 Совпадает X:358 Y:359
Title: Re: [Alpha/Beta Testing]
Post by: Vint on May 25, 2015, 11:45:01 AM
Баг
Нашел тут странный баг с "Не равно". Он есть и в старых версиях.
Смысл в том что условие в цикле сравнивает два элемента массива с переменными. Когда используется "равно" то все нормально, но если используется "не равно", то оператор "И" почему то работает как "ИЛИ"
[spoiler]
Code: (clickermann) [Select]
LOGCLEAR

FOR($a=0,$a<400)
   ARRPUSH($arr, $a)
END_CYC

$x = 356
$y = 359
LOGWRITE ("X:", $x," Y:", $y)

LOGWRITE ("РАВНО")
FOR($a=0,$a<ARRSIZE($arr),2)
   
   IF(($arr[$a]=$x)&($arr[$a+1]=$y))
      LOGWRITE ("Совпадает X:", $arr[$a]," Y:", $arr[$a+1])
   END_IF
   
END_CYC

LOGWRITE ("НЕ РАВНО")
FOR($a=0,$a<ARRSIZE($arr),2)
   
   IF(($arr[$a]!$x)&($arr[$a+1]!$y))
   ELSE
      LOGWRITE ("Совпадает X:", $arr[$a]," Y:", $arr[$a+1])
   END_IF
   
END_CYC

HALT

Лог:
Quote
9:51:33 X:356 Y:359
9:51:33 РАВНО
9:51:33 НЕ РАВНО
9:51:33 Совпадает X:356 Y:357
9:51:33 Совпадает X:358 Y:359
[/spoiler]

Бага нет. Ты наступил на логические грабли. Кстати ты именно на эти уже наступал. Я кстати тоже  ;D
Если коротко, то с участниками НЕ, для получения нужного тебе результата нужно ставить не И, а ИЛИ
Code: (clickermann) [Select]
IF(($arr[$a] ! $x) | ($arr[$a+1] ! $y))

При использовании НЕ в операндах
Code: (clickermann) [Select]
IF(($arr[$a] ! $x) & ($arr[$a+1] ! $y))условие так же выполнится если оба операнда не совпадают.
Если совпадёт хоть один или не одного будет работать ELSE. Всё правильно.

В строке 25 LOGWRITE правильно должен быть написан
Code: (clickermann) [Select]
LOGWRITE ("Совпадает или X:", $arr[$a]," или Y:", $arr[$a+1])тогда ты поймёшь, что всё правильно.
Title: Re: [Alpha/Beta Testing]
Post by: АНТИКЛАН on October 25, 2015, 11:08:52 AM
Memory Leak

Друзья мои, как выяснилось наш кликер имеет классические утечки памяти, которые при длительном его использовании приводят к активному поглощению памяти и в конечном итоге краше (от обжорства). Скорость прямопропорциональна задержкам в скрипте.

Я сделал над собой усилие, вышел из прокрастинации и подправил ряд базисных функций. Теперь вроде все хорошо. Однако дело нуждается в проверке.
Затестите пожалуйста не сломал ли я чего и не ушло ли что от моего взора В ПЛАНЕ УТЕЧЕК. Все прочие фиксы и предложения позже. Это первостепенная задача.
Тренд: http://crapware.aidf.org/forum/index.php?topic=1811.0

fix http://rghost.net/92nSY8Gmd

У меня ничего не поменялось. С запуском простого скрипта с потоком на нажатие одной кнопки с интервалом в 3 минуты. Быстро отъедается около полутора гигабайт памяти и потом со временем целевое приложение вылетает с ошибкой нехватки памяти.
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on October 25, 2015, 12:41:57 PM
У меня ничего не поменялось. С запуском простого скрипта с потоком на нажатие одной кнопки с интервалом в 3 минуты. Быстро отъедается около полутора гигабайт памяти и потом со временем целевое приложение вылетает с ошибкой нехватки памяти.

Покажи свой скрипт.
Уверен что скачал последнюю версию 4.11.003?
На оф страничке не написано что это 003 но на самом деле там самая последняя версия.
http://crapware.aidf.org/page/clickermann (http://crapware.aidf.org/page/clickermann)
Title: Re: [Alpha/Beta Testing]
Post by: АНТИКЛАН on October 27, 2015, 01:36:39 AM
Покажи свой скрипт.
Уверен что скачал последнюю версию 4.11.003?
На оф страничке не написано что это 003 но на самом деле там самая последняя версия.
http://crapware.aidf.org/page/clickermann (http://crapware.aidf.org/page/clickermann)

Code: (clickermann) [Select]
// СКРИПТ
// Author: АНТИКЛАН
// Version: 1.0 (25.10.2015)

#name "NAME"   // Имя скрипта

//#include "subs.cms"

#ps2_mouse   // Включаем режим PS/2 мыши
#ps2_keyboard   // Включаем режим PS/2 клавиатуры

$HWND = WNDFIND("WINDOW", 1)   // Присвоение переменной окна значения и привязка к окну
HSET($HWND, 1)

// ПОТОК
THREAD(THREAD_1)
   KEYPRESS(#F5)
   WAIT(RND(175,185))
END_THREAD
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on October 27, 2015, 08:47:28 AM
Потестил, действительно память утекает. Дело в HSET($HWND, 1).
У тебя в главном потоке снова и снова каждую миллисекунду происходит привязка HSET($HWND, 1)

Если это пример части скрипта то пиши так
Code: (clickermann) [Select]
// СКРИПТ
// Author: АНТИКЛАН
// Version: 1.0 (25.10.2015)

#name "NAME"   // Имя скрипта

//#include "subs.cms"

#ps2_mouse   // Включаем режим PS/2 мыши
#ps2_keyboard   // Включаем режим PS/2 клавиатуры

IF($_hwnd = 0) // условие перестанет срабатывать после привязки
   $HWND = WNDFIND("Блокнот", 0)   // Присвоение переменной окна значения и привязка к окну
   IF($HWND > 0)
      HSET($HWND, 1) // если найдено привязываемся
      SETTHREAD (THREAD_1, 1) // запускаем поток       
   ELSE
      HINTPOPUP("Окно не найдено")
      HALT // если нет, останавливаем выполнение
   END_IF
END_IF

WAIT(1) // в главном потоке хорошо бы написать задержку

// ПОТОК
THREAD(THREAD_1,0)
   KEYPRESS(#F5)
   WAIT(RND(175,185))
END_THREAD

Если это весь скрипт то куда проще привязаться горячими клавишами Alt+W наведя мышь на окно.
Code: (clickermann) [Select]
#ps2_mouse
#ps2_keyboard

KEYPRESS(#F5)
WAIT(RND(175,185))
Title: Re: [Alpha/Beta Testing]
Post by: АНТИКЛАН on October 27, 2015, 05:32:00 PM
Потестил, действительно память утекает. Дело в HSET($HWND, 1).
У тебя в главном потоке снова и снова каждую миллисекунду происходит привязка HSET($HWND, 1)

Если это пример части скрипта то пиши так
Code: (clickermann) [Select]
// СКРИПТ
// Author: АНТИКЛАН
// Version: 1.0 (25.10.2015)

#name "NAME"   // Имя скрипта

//#include "subs.cms"

#ps2_mouse   // Включаем режим PS/2 мыши
#ps2_keyboard   // Включаем режим PS/2 клавиатуры

IF($_hwnd = 0) // условие перестанет срабатывать после привязки
   $HWND = WNDFIND("Блокнот", 0)   // Присвоение переменной окна значения и привязка к окну
   IF($HWND > 0)
      HSET($HWND, 1) // если найдено привязываемся
      SETTHREAD (THREAD_1, 1) // запускаем поток       
   ELSE
      HINTPOPUP("Окно не найдено")
      HALT // если нет, останавливаем выполнение
   END_IF
END_IF

WAIT(1) // в главном потоке хорошо бы написать задержку

// ПОТОК
THREAD(THREAD_1,0)
   KEYPRESS(#F5)
   WAIT(RND(175,185))
END_THREAD

Если это весь скрипт то куда проще привязаться горячими клавишами Alt+W наведя мышь на окно.
Code: (clickermann) [Select]
#ps2_mouse
#ps2_keyboard

KEYPRESS(#F5)
WAIT(RND(175,185))

Вот как! Спасибо за полезное усовершенствование. Все таки нехватка опыта у меня на лицо. ;D Надо больше общаться с программистами опытными. ;D
Скажите вот эта задержка WAIT(1) в основном потоке не будет тормозить поток THREAD_1?
Title: Re: [Alpha/Beta Testing]
Post by: Vint on October 27, 2015, 05:39:07 PM
Не будет. Весь смысл потоков в этом.

Если это весь скрипт, то потоки тебе вообще не нужны.
Title: Re: [Alpha/Beta Testing]
Post by: АНТИКЛАН on October 27, 2015, 07:14:38 PM
А вот интересно. Почему функция HSET пожирает память? И постоянно ли она ее пожирает, или только при частом использовании...
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on October 27, 2015, 10:27:53 PM
А вот интересно. Почему функция HSET пожирает память? И постоянно ли она ее пожирает, или только при частом использовании...
Ну это к Джонни вопрос, где то он не докодил. Пожирание происходит каждый раз при вызове, это видно в диспетчере задач.
Title: Re: [Alpha/Beta Testing]
Post by: АНТИКЛАН on October 28, 2015, 03:13:46 AM
Ну это к Джонни вопрос, где то он не докодил. Пожирание происходит каждый раз при вызове, это видно в диспетчере задач.

А как вы это там увидели? Я тоже хочу посмотреть. :)
Title: Re: [Alpha/Beta Testing]
Post by: Vint on October 28, 2015, 02:10:50 PM
А вот интересно. Почему функция HSET пожирает память? И постоянно ли она ее пожирает, или только при частом использовании...
У меня не жрёт. Винда XP 32.
Добиться жора так и не смог хоть потоками хоть бесконечным HSET
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on October 28, 2015, 02:43:38 PM
А вот интересно. Почему функция HSET пожирает память? И постоянно ли она ее пожирает, или только при частом использовании...
У меня не жрёт. Винда XP 32.
Добиться жора так и не смог хоть потоками хоть бесконечным HSET

Вот как это выглядит.
В скрипте одна строка
Code: (clickermann) [Select]
HSET(2166928,1)
Title: Re: [Alpha/Beta Testing]
Post by: Vint on October 28, 2015, 03:02:40 PM
 ;D Я на данные процесса смотрел. При прошлой утечке всё было видно на процессе и там утекала оперативка. А здесь прямо сразу (ну так кажется) файл подкачки.
При чём данные по процессу: память и виртуальная память, стоят на месте (колеблятся туда-сюда в малых пределах).
Title: Re: [Alpha/Beta Testing]
Post by: АНТИКЛАН on October 29, 2015, 09:26:47 AM
включи диспетчер,  вкладка быстродействие, наблюдай онлайн Хронология использования физической памяти.   ::)

Не ну так то я тоже умею я думал там что-то более конкретное использовалось, что видно что и сколько пожирает))
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on January 31, 2016, 10:40:01 AM
Clickermann v4.12b

[spoiler=WhatsNew]v4.12.000 (13.01.16)
+ Интерпретатор:
  + Добавлены инструкции:
    + RADIOBOX
    + GETKEYSDOWN
    + GETDIRLIST
    + GETFILELIST
    + SETVAR
    + GETVAR
    + SCREENSHOTFIX
  + Изменены инструкции:
    + SETTHREAD
+ Прочее:
  + Исправлена ошибка со строками, содержащими символ "$"
  + Прочие оптимизации и исправления
[/spoiler]

http://rghost.net/8s6JSBVrP

Игрушечку вам принес. Самого ценного в апдейте наверное то что [возможно] удалось починить баг с символом того, что щас продают по 75 рублей.
Справка еще криво собралась, пересобрать смогу тока через неделю увы. Ну или сами как нибудь.

А ну и еще Ctrl+S прикрутил в редактор
Title: Re: [Alpha/Beta Testing]
Post by: i0 on January 31, 2016, 12:04:54 PM
Спасибище :)
всё вроде понятно кроме SCREENSHOTFIX

вкурил. скриншот в файл с фиксированным именем
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on January 31, 2016, 12:33:50 PM
Обновил меню команд и шаблонов.

Почему бы не добавить в константы NUM клавиши? Ну и в справку конечно.

Code: [Select]
#NUM0  96
#NUM1  97
#NUM2  98
#NUM3  99
#NUM4  100
#NUM5  101
#NUM6  102
#NUM7  103
#NUM8  104
#NUM9  105

В справке недостает указателей новых функций и пример GETKEYSDOWN не дописан.

И что на счет не задокументированных функций ABS и PXLREPLACE по моему они вполне рабочие.
Code: (clickermann) [Select]
$c = -12
$a = ABS($c)
LOGWRITE ($a)

HALT

GETSCREEN
PXLREPLACE(0,0, $_xmax,$_ymax, 255, 16777215) // заменяет красный цвет на белый
SCREENSHOT
HALT
Title: Re: [Alpha/Beta Testing]
Post by: Золотой on January 31, 2016, 06:54:19 PM

пример использования GETKEYSDOWN
Code: (clickermann) [Select]
// только для Clickermann v4.12b
GETKEYSDOWN($arr)
IF($arr[0]!0) // проверяем значение первого элемента
   $var=ARRSIZE($arr)//
   FOR($a=0,$a<$var)
      logwrite($arr[$a]) // печатаем, что нажато
   END_CYC
   $b= $arr[0]
   WHILE(ISKEYDOWN($b)=1)//  задержка пока клавиши ещё нажаты
      WAITMS(10)
   END_CYC
   //LOGWRITE (" ") // разделитель
ELSE
   WAITMS(150)// регулируемая задержка,при сильном увеличении возможны пропуски быстрых нажатий, при сильном уменьшении пропускается часть клавиш из сочетаний.
END_IF
Коды клавиш в буквенный вид не переводятся, вывод результата только в лог, чтоб не облегчать жизнь ламерам. ;)
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on January 31, 2016, 08:07:19 PM
Тоже пример
Code: (clickermann) [Select]
// только для Clickermann v4.12b
GETKEYSDOWN($arr)
IF(ARRSIZE($arr)>0)
   FOR($a=0,$a<ARRSIZE($arr))
      LOGWRITE($arr[$a]) // вывод в лог нажатых клавиш
   END_CYC
   WHILE(ARRSIZE($arr) > 0)
      WAITMS(20)
      GETKEYSDOWN($arr)
   END_CYC
ELSE
   WAITMS(20)
END_IF
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on January 31, 2016, 08:37:33 PM
Пример из БАГОВ
Code: (clickermann) [Select]
print ("Строки в переменных")
$str1 = "/SomeString 123"
$str2 = "/SomeString -123"

print ($str1)
print ($str2)
print ("")

print ("Строки в массиве")
arrpush ($mystr, "/SomeString 123")
arrpush ($mystr, "/SomeString -123") // <<< проблема здесь

for($i = 0, $i < 2)
   print ($mystr[$i])
end_cyc

halt

Лог:
Code: [Select]
21:35:10 Строки в переменных
21:35:10 /SomeString 123
21:35:10 /SomeString -123
21:35:10
21:35:10 Строки в массиве
21:35:10 /SomeString 123
21:35:11 -123
Title: Re: [Alpha/Beta Testing]
Post by: Vint on February 01, 2016, 10:43:01 AM
Просто покажу скрины
Title: Re: [Alpha/Beta Testing]
Post by: Vint on February 01, 2016, 11:06:30 AM
И что на счет не задокументированных функций ... PXLREPLACE по моему они вполне рабочие.
Code: (clickermann) [Select]
GETSCREEN
PXLREPLACE(0,0, $_xmax,$_ymax, 255, 16777215) // заменяет красный цвет на белый
SCREENSHOT
HALT

Я придумал более полезную команду, которая будет закрашивать определённую область в буфере в заданный цвет. Нужно это для "затирания" определённых областей.
Я могу объяснить в каких случаях это нужно. Сейчас приходится городить трёхэтажный огород на основе старого скрипта по поиску нескольких изображений, попутно заполняя массивы уже проверенных областей для их дальнейшего исключения.
Слишком много кода и циклов на один поиск. Всё медленно.
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on February 01, 2016, 03:52:28 PM
Просто покажу скрины
тут кароче все больно хитро, влияют параметры всякие типа системный, скрытый и т.п.
вообще эти функции были сделаны для простого поиска файла в проекте
Title: Re: [Alpha/Beta Testing]
Post by: Vint on February 01, 2016, 04:20:02 PM
Просто покажу скрины
тут кароче все больно хитро, влияют параметры всякие типа системный, скрытый и т.п.
вообще эти функции были сделаны для простого поиска файла в проекте

Ну так он и однотипные не выводит. MSDOS.SYS ведь не единственный скрытый и системный.
Да ладно, хрен с ними со скрытыми. При поиске
*.reg или *.xls он ничего не находит. Ни на русском ни на английском.

Думаю косяк есть, что-то забыли включить или выключить.
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on February 01, 2016, 04:55:01 PM
Будем думать...
Там багов критических нашли нет? А то я не читал ни форум ни группу.
Хорошо было пять лет назад. Постов 5 в неделю. На почту писали 2 человека.
А щас вся личка засрана, я уже не то что не отвечаю, не читаю.
Title: Re: [Alpha/Beta Testing]
Post by: Vint on February 01, 2016, 05:21:04 PM
Из критических, наверно только жёр памяти по HSET()
http://crapware.aidf.org/forum/index.php?topic=356.msg13132#msg13132



А с некритическими будешь что-то делать? Там их вагон и тележка. Понятно что неохота, но они портят общее впечатление и мешают жить людям.
Самая вредная считаю, пропадание кода скрипта при жонглировании сворачиванием/разворачиванием основного окна и редактора в каких то там последовательностях (не вникал) если не была нажата "применить/сохранить".

Ну хотя-бы постоянная попытка высчитать строки как числа там где это не нужно. И как бороться не ясно.
Неработа COLORMODE с заданной областью, если область выходит за пределы экрана (все другие функции автоматом корректируют) и т.д.
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on February 01, 2016, 06:56:15 PM
Чево. Первый раз слышу. Можно списочек все же
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on February 01, 2016, 07:05:05 PM
К списку багов.
Если в ручную поставить кликер на паузу а потом запустить, все потоки которые стояли на паузе запускаются.
Title: Re: [Alpha/Beta Testing]
Post by: Shonkhor on February 09, 2016, 06:54:50 AM
Здрасте.
 >:( на второй день использования бета версии кликер перестал запускаться. Вернее он запустился, в процессах он отображается, а воспользоваться им нельзя. Да и в диспетчере задач его не было видно. Помогла лишь утилита от Sysinternals под названием ProcessExplorer. Но и это ещё не вся беда! Обладая правами админа не одна из софтин не может убить процесс Clickermann. Помогает лишь полная перезагрузка.
Бета версию использовал на Windows 8.1, предыдущая версия кликера работает отлично на данной системе.
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on February 09, 2016, 07:36:03 AM
LOAD надо выпилить из справки если она больше не поддерживается.
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on February 12, 2016, 01:43:43 PM
Вот еще баг. Тестировал тут опцию "delay_between_lines" так оказалась она воздействует только на задержки от 2 миллисекунд  :o
Выставил в параметрах delay_between_lines = 100
Code: (clickermann) [Select]
LOGCLEAR

$m = $_ms
INC($var,1)
WAITMS(2)
LOGWRITE ("2 мс ", $_ms-$m)

$m = $_ms
INC($var,1)
WAITMS(1)
LOGWRITE ("1 мс ", $_ms-$m)

$m = $_ms
INC($var,1)
LOGWRITE ("без ", $_ms-$m)

HALT

Code: [Select]
14:42:54 2 мс 100
14:42:54 1 мс 0
14:42:54 без 0
Title: Re: [Alpha/Beta Testing]
Post by: Vint on February 12, 2016, 02:04:09 PM
Я уже не раз говорил что этот параметр не работает. Хотел ещё на его основе отладку сделать выставив 300-1000. Никакой реакции.
Вот оказывается она работает только на WAIT, а не на любую строку. И то не на все.
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on February 13, 2016, 03:03:55 PM
Я уже не раз говорил
вопрос только кому? завели бы уже давно тему со всеми имеющимися ньюансами и багами елки.


Bugfixes fur 4.12b & help: http://rghost.net/8ttkKls59
Починено почти все что упоминалось до пятницы (на этой неделе лол)
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on February 13, 2016, 03:31:29 PM
GETDIRLIST и GETFILELIST так и не работают. И в справке в содержании на них нет ссылок.
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on February 13, 2016, 05:11:17 PM
GETDIRLIST и GETFILELIST так и не работают. И в справке в содержании на них нет ссылок.
совпадение? не думаю!
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on February 15, 2016, 09:50:36 AM
у кого нить еще возникли проблемы с запуском беты? там чет один в группе беспокоит какими то небылицами.
https://vk.com/topic-14410794_26211333?post=38636
Title: Re: [Alpha/Beta Testing]
Post by: Золотой on February 15, 2016, 11:42:00 PM
 баг с символом того, что щас продают по 77 рублей починить удалось.   :)
было бы просто замечательно если удастся починить баг с нечитаймостью  в строках такого часто встречающегося символа, как  " кавычки ".
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on February 20, 2016, 05:20:03 PM
Баг с #autorun
После запуска через скрипт с директивой #autorun кликер (после разворачивания) перестает сворачиваться в трей.
Title: Re: [Alpha/Beta Testing]
Post by: i0 on February 21, 2016, 12:31:14 PM
Баг "кликерман не видит второй монитор слева" так и не исправлен :(

мелочь в сравнении с мировой революцией, приспособился, только вот к стоящей слева чашке кофе я уже тянусь вправо  :o
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on February 22, 2016, 07:34:44 AM
По чему бы не убрать этот скрипт возникающий каждый раз при запуске, а лучше добавить опцию в настройках "Загружать последний сохраненный скрипт" или пустое окно.

Потому как не редки случаи когда нубы, не стирая его, просто вставляют, данный им в группе код, а потом искренне недоумевают почему он выполняется однократно. Да и вообще каждый раз приходится стирать это, нафиг он нужен??

Code: (clickermann) [Select]
// New Script
// Author: Anonymous
// Version: 1.0 (22.02.2016)

#name "New Script"

// begin your script here

print("Hello, world!")



halt // for single run
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on February 24, 2016, 06:09:06 PM
Баг
При попытке чтения строки из файла содержащей имя функции (любой) в скобках, кликер виснет.

Code: (clickermann) [Select]
$str = TFREAD("Text.txt", 1)
LOGWRITE ($str)
HALT

В файле Text.txt 1 строка
Code: [Select]
тест тест (RND) тест.
Title: Re: [Alpha/Beta Testing]
Post by: АНТИКЛАН on March 05, 2016, 11:20:58 AM
По чему бы не убрать этот скрипт возникающий каждый раз при запуске, а лучше добавить опцию в настройках "Загружать последний сохраненный скрипт" или пустое окно.

Потому как не редки случаи когда нубы, не стирая его, просто вставляют, данный им в группе код, а потом искренне недоумевают почему он выполняется однократно. Да и вообще каждый раз приходится стирать это, нафиг он нужен??

Code: (clickermann) [Select]
// New Script
// Author: Anonymous
// Version: 1.0 (22.02.2016)

#name "New Script"

// begin your script here

print("Hello, world!")



halt // for single run

Было бы разумно завести это как опцию, чтобы каждый для себя мог выбрать что ему удобнее.
Title: Re: [Alpha/Beta Testing]
Post by: Vint on March 07, 2016, 02:50:07 PM
По чему бы не убрать этот скрипт возникающий каждый раз при запуске, а лучше добавить опцию в настройках "Загружать последний сохраненный скрипт" или пустое окно.

Потому как не редки случаи когда нубы, не стирая его, просто вставляют, данный им в группе код, а потом искренне недоумевают почему он выполняется однократно. Да и вообще каждый раз приходится стирать это, нафиг он нужен??

Code: (clickermann) [Select]
// New Script
// Author: Anonymous
// Version: 1.0 (22.02.2016)

#name "New Script"

// begin your script here

print("Hello, world!")



halt // for single run
Я давно уже предлагал дать возможность задавать свой. Кто хочет сделает пустой, а кому нужно свой шаблон.
Title: Re: [Alpha/Beta Testing]
Post by: alexenin on March 10, 2016, 02:53:58 AM
<удалено> из-за кирилла
Title: Re: [Alpha/Beta Testing]
Post by: alexenin on March 10, 2016, 03:14:27 AM
если вам не нравиться, что я сообщаю об ошибках, это не повод язвить.
можете просто попросить и я уйду.
если хотите могу выслать то, что я написал, чтобы не было таких мыслей, у меня сценарий выполняется несколько дней, даже когда я сплю. Повторять до момента ошибки иногда просто долго.

П.С. я нашел тему, где поднимался тот же вопрос http://crapware.aidf.org/forum/index.php?topic=2108.0
вроде цель проекта правильная, но с таким отношением вы всех программеров распиночите.
удачи тролль Кирилл
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on March 19, 2016, 10:56:26 AM
4.12.001

Убраны старые баги, добавлены новые.
В основном убраны (наверное) критические баги вроде утечки памяти в hset, паузы потоков, inc(), имен функций в строках вещающих кликер и еще чето, я не помню честно говоря.
Многие баги, в основном интерфейсные еще остались

http://rghost.net/7qHl4dssB
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on March 19, 2016, 01:30:51 PM
Гляжу delay_between_lines починили.

И вот результат
Code: (clickermann) [Select]
$ms = $_ms

FOR($a=0,$a<1000)
   ARRPUSH($arr, $a)
END_CYC

LOGWRITE ($_ms-$ms)
HALT

4.11
Code: [Select]
14:19:17 595
14:19:21 626
14:19:22 589
14:19:24 582
14:19:25 582
14:19:26 587
14:19:28 585
14:19:29 585

4.12.001
Code: [Select]
14:20:01 9828
14:20:14 9832
14:20:25 9832
14:20:35 9821
14:20:45 9871

В место полсекунды почти 9  :o  Кликер превратился в слоупока...
Если выставить delay_between_lines = 0 конечно все нормально будет.

А нужны ли эти задержки вообще? Почему бы не вывести в настройки thread_priority у кого там кликер сильно напрягает можно снизить приоритет. Да и вообще не удобно все это править через файл а потом еще и народу объяснять где там что можно настроить.
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on March 19, 2016, 06:15:17 PM
delay_between_lines и не ломался
суть в том что без него ЦП серьезно нагружается если верить диспетчеру.
раньше "сломаный" delay срабатывал только на wait, сейчас он срабатывает для каждой строки.

я не знаю насколько он нужен и насколько поможет настройка приоритетов, тут надо пробовать.
впринципе снова "сломать" delay дело пяти минут.

все должно работать из коробки и в файл тонкой настройки обывателю вообще лазать не надо.

вот теперь у нас есть две версии. если кто то добрый проведет анализ о том как влияют различные задержки на работоспособность какой нить пухлой игры - будет здорово
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on April 21, 2016, 08:24:29 PM
за месяц вижу ниче радикального не выявлено?
тогда заливаю эту версию в релиз (с откаченым делеем) иначе тянуть так можно долго.
времени взяться глобально пока нет, выложу что есть.
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on April 21, 2016, 09:39:14 PM
за месяц вижу ниче радикального не выявлено?
тогда заливаю эту версию в релиз (с откаченым делеем) иначе тянуть так можно долго.
времени взяться глобально пока нет, выложу что есть.

Из багов только некоторые сообщения о пропадающем коде из редактора
http://crapware.aidf.org/forum/index.php?topic=2522.0 (http://crapware.aidf.org/forum/index.php?topic=2522.0)

и SWITCH без CASE вешает кликер пока тот не сожрет всю оперативу  ;D
http://crapware.aidf.org/forum/index.php?topic=2512.0 (http://crapware.aidf.org/forum/index.php?topic=2512.0)
Title: Re: [Alpha/Beta Testing]
Post by: i0 on April 25, 2016, 04:28:22 PM
а вот это (http://crapware.aidf.org/forum/index.php?topic=2487.0) не является ошибкой, подлежащей устранению?
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on April 27, 2016, 06:57:45 PM
По части досадных мелочей, окошко RADIOBOX появляется без параметра "Выше всех" из за чего, если кликер не в фокусе, оно появляется под другими окнами.
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on May 02, 2016, 10:50:40 AM
Ошибка в справке
(http://savepic.net/8072298.png)

Не верная ссылка, ведет к несуществующей более странице "help/what.html"
Title: Re: [Alpha/Beta Testing]
Post by: SilentCat on May 03, 2016, 04:53:43 AM
GETDIRLIST и GETFILELIST так и не работают. И в справке в содержании на них нет ссылок.
совпадение? не думаю!

Функции так до конца и не работают или я что-то делаю неправильно?

getfilelist($arr, "C:\*.*") - работает
getfilelist($arr, "C:\test\*.*") - не работает

Title: Re: [Alpha/Beta Testing]
Post by: Oraven on May 08, 2016, 10:25:16 AM
Второй раз уже возникает вот такое
(http://savepic.net/8081233.png)

Загружен скрипт, кликер свернут в трей. При разворачивании появляется сразу редактор вот с этим скриптом. Редактор можно закрыть и при разворачивании он снова откроется. Главная форма больше вообще не появляется. Спасает только перезагрузка кликера.
Title: Re: [Alpha/Beta Testing]
Post by: Золотой on May 24, 2016, 09:05:19 AM
По части досадных мелочей, окошко RADIOBOX появляется без параметра "Выше всех" из за чего, если кликер не в фокусе, оно появляется под другими окнами.
не только это окно, но и основное рабочее окно "Clickermann", может появиться под другими окнами в случаях повторного открытия с открытым окном лога и открытия повторных экземпляров программы, но это полбеды; зная, что они открыты можно покопаться и вытащить их наверх, а вот то что СООБШЕНИЕ ОБ ОШИБКЕ появляется под окнами с которыми "Clickermann" работает - это неприятно, программа просто зависает и сидишь тренеруешь наблюдательность, а когда останавливаешь программу, то сообщение, как положено выводится поверх всех окон.
Title: Re: [Alpha/Beta Testing]
Post by: Золотой on May 24, 2016, 11:28:25 AM
Существует возможность сделать отдельный графический буфер для каждого потока?
Title: Re: [Alpha/Beta Testing]
Post by: АНТИКЛАН on May 28, 2016, 09:26:57 PM
С новым релизом товарищи! :D Если еще появится компилятор для скриптов кликермана, то я забуду про иностранный AHK так как кликерман на голову выше удобнее и красивее.
Title: Re: [Alpha/Beta Testing]
Post by: АНТИКЛАН on May 29, 2016, 01:15:23 AM
Что я жду от следующей версии Кликермана:
Если это будет, то Кликерман уйдет в лидеры далеко и надолго.
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on July 24, 2016, 10:10:46 AM
Good news everyone

На следующей неделе скорее всего дам поиграться бета версии КМ с долгожданной поддержкой юникода (читать: без секса с кодировкой при копировании) а так же х64 версию, которая как ожидается будет адекватнее себя вести при взаимодействии с х64 приложениями.

Надеюсь еще не все тестеры разбежались.
Title: Re: [Alpha/Beta Testing]
Post by: i0 on July 25, 2016, 12:19:48 AM
а новые свистелки для народа будут?
Title: Re: [Alpha/Beta Testing]
Post by: dramster on July 25, 2016, 12:35:46 AM
очень хочется вот это , прям плак плак http://crapware.aidf.org/forum/index.php?topic=2399.0       



Title: Re: [Alpha/Beta Testing]
Post by: Johnny on August 14, 2016, 10:28:46 AM
свестелки мб. но пока небольшие трудности с созданием х64 версии
но юникод уже прикрутили. изза этого теперь две версии функции md5 будет. одна привычная обычная, вторая для юникода
и еще изменился алгоритм расчета pxlcrc, потому что при анализе выяснилось что старая версия его расчитывает не очень корректно)))))
Title: Re: [Alpha/Beta Testing]
Post by: Vint on August 14, 2016, 04:03:28 PM
... прикрутили...
Вас стало несколько?
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on August 21, 2016, 08:44:08 PM
Нет, я еще пока не мистер робот.

Никто не подскажет варезную утилиту чтобы запаковать от школяров экзешник x64?
Title: Re: [Alpha/Beta Testing]
Post by: АНТИКЛАН on September 28, 2016, 10:24:45 PM
Johnny, есть новости? :) Что то поводу предложений из сообщения #233 (http://crapware.aidf.org/forum/index.php?topic=356.msg16281#msg16281)?
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on September 29, 2016, 06:58:44 PM
Johnny, есть новости? :) Что то поводу предложений из сообщения #233 (http://crapware.aidf.org/forum/index.php?topic=356.msg16281#msg16281)?
1. nope
2. это можно
3. это можно, но уже сложнее
4. впервые слышу
5. см. http://crapware.aidf.org/forum/index.php?topic=1716.0

пока выйдет в ближайшие дни только небольшой патч, реализующий юникод и исправляющий древний баг с поиском картинок
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on October 19, 2016, 08:24:31 AM
Вот подсобрал кое чего на счет багов и пожеланий.

Баги потоков версии 4.12.001
http://crapware.aidf.org/forum/index.php?topic=2680.0 (http://crapware.aidf.org/forum/index.php?topic=2680.0)

Запись в версии 4.12 (проблема с хоткеями)
http://crapware.aidf.org/forum/index.php?topic=2653.0 (http://crapware.aidf.org/forum/index.php?topic=2653.0)

баг в приложение к версии 4.12
http://crapware.aidf.org/forum/index.php?topic=2632.0 (http://crapware.aidf.org/forum/index.php?topic=2632.0)

Ошибка во всех функциях поиска.
http://crapware.aidf.org/forum/index.php?topic=2582.0 (http://crapware.aidf.org/forum/index.php?topic=2582.0)

Справка.
В разделе Анализ экрана отсутствует ссылка на SCREENSHOTFIX
В указателях отсутствует RADIOBOX

открытие окна лога
http://crapware.aidf.org/forum/index.php?topic=2771.0 (http://crapware.aidf.org/forum/index.php?topic=2771.0)

сворачивание программы
http://crapware.aidf.org/forum/index.php?topic=2760.0 (http://crapware.aidf.org/forum/index.php?topic=2760.0)

Еще обнаружены парочка ошибок в правописании меню команд.
Title: Re: [Alpha/Beta Testing]
Post by: Vint on October 20, 2016, 09:56:09 AM
Ещё была просьба добавить системную переменную с версией кликера
Code: (clickermann) [Select]
$_verhttp://crapware.aidf.org/forum/index.php?topic=1339.0
Title: Re: [Alpha/Beta Testing]
Post by: i0 on October 20, 2016, 11:48:55 AM
и ещё была просьба починить второй монитор слева (ввиду полной потери ориентации в реальном пространстве)

P.S. это просьба к Johnny - исправить, или написать что мол "извините, некогда, ставьте второй всегда справа и забудьте",
а не к комментаторам, знающим, как правильно
Title: Re: [Alpha/Beta Testing]
Post by: Золотой on October 20, 2016, 12:04:21 PM
и ещё была просьба починить второй монитор слева (ввиду полной потери ориентации в реальном пространстве)
ага и треттий сверху, неужели сложно СВОИ мониторы ПРАВИЛЬНО расположить?
Title: Re: [Alpha/Beta Testing]
Post by: i0 on October 20, 2016, 12:07:10 PM
т.е. вторичный слева - это неправильно?
Title: Re: [Alpha/Beta Testing]
Post by: Золотой on October 20, 2016, 12:14:09 PM
т.е. вторичный слева - это неправильно?
однозначно, должен быть справа, даже если, Вы левша.  ;) монитор не из права - неисправный!
слабыми взаимодействиями и спиралью ДНК заложено, что всё в этой вселенной делается слева на право  и сверху вниз, а кто против, тот ....  :o
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on October 24, 2016, 08:09:26 PM
не, заступлюсь за буржуев. конфигурация например когда основной монитор в центре а сателиты по бокам вполне себе обычная картина.
ну когда нить руки да дойдут. все упирается в сложность отладки и изначально неориентированность на такие задачи WinAPI поэтому многие программы и игры не очень дружат с расширенными рабочми столами

все прочие замечания, указанные Андреем, в большинстве своем исправлены
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on November 11, 2016, 08:46:19 PM
Clickermann v4.13b
http://rgho.st/6xNP79T6m

Исправлено (надеюсь):
- хоткей записи
- баг функциий графического поиска
- большинство багов сворачивания разворачивания
- автораскомментирование с отступами
- некоторые баги потоков

а так же:
- улучшено быстродействие лупы редактора на слабых системах
- поддержка юникода
- отказ от библиотеки httpwork.dll
- задание (или нет) скрипта по умолачинию /data/default.txt

в обозримом будущем:
- x64 версия
- устранение недоразумений с типами данных и символом "
Title: Re: [Alpha/Beta Testing]
Post by: quant13 on November 11, 2016, 09:32:29 PM
Quote from: FireFox
Поддельный сайт!
Имеется информация о том, что веб-страница на meson.rghost.ru является поддельным сайтом. В соответствии с вашими настройками безопасности она была заблокирована.

Поддельные сайты разработаны, чтобы обманным путем заставить вас сделать что-либо опасное, например установить программу или раскрыть свою личную информацию, такую как пароли, телефонные номера или данные кредитных карт.

Ввод на этой веб-странице любой информации может привести к краже личности или мошенничеству.
Перезалей на ченить другое. Лучше на яндекс-диск
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on November 12, 2016, 10:45:20 AM
Создал пустой файл "\data\default.txt". Наконец то пустой редактор при старте  :D
в errorlog.txt пишет.
Code: [Select]
12.11.2016 11:43:30 List index out of bounds (0)Видимо ему не нравится что файл пуст.

Функция SCREENSHOTFIX(100,100,500,500,"Картинка.bmp", 0) сохраняет, как положено, файл в папку скрипта, и создает рядом, за чем то, пустую папку "screens\".

Из "скрытых" настроек перестала работать опция "Только в системном трее"

Все еще не исправлена проблема "Выше всех", когда, например, поднятый выше всех редактор загораживает окно "Сохранить".
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on November 14, 2016, 01:15:08 PM
Баги 4.13

Какая то хрень с текстом при отправке в буфер обмена
Code: (clickermann) [Select]
$a = "Привет"
TOCLIP($a)
WAITMS(50)
LOGWRITE (FROMCLIP())

$a = "Test Привет"
TOCLIP($a)
WAIT(1)WAITMS(50)
LOGWRITE (FROMCLIP())

$a = "New"
TOCLIP($a)
WAITMS(50)
LOGWRITE (FROMCLIP())

HALT

Лог:
Code: [Select]
14:10:14 При
14:10:15 Test 
14:10:15 NeƐ

На самом деле если полученное вставлять в блокнот то вместо "Привет" в буфере @8
а от английских букв остается только первая.
Title: Re: [Alpha/Beta Testing]
Post by: АНТИКЛАН on November 15, 2016, 07:13:06 PM
На следующей неделе скорее всего дам поиграться бета версии КМ с долгожданной поддержкой юникода (читать: без секса с кодировкой при копировании)

Уже есть в этой версии или еще нет?
Библиотеку httpwork.dll можно теперь удалить?
Title: Re: [Alpha/Beta Testing]
Post by: 3333333333 on November 16, 2016, 12:30:56 AM
 win10 x64 запуск
[spoiler](http://savepic.net/8566902.jpg)[/spoiler]

сравнение с версией 4.12
[spoiler](http://savepic.net/8565878.png)
(http://savepic.net/8554614.png)[/spoiler]

жёстко виснет на 2 сутки, тест: vituall pc vmware WS 12 pro win 32 xp sp3 framework last, win 7 32 framework last, причина неизвестна ( в процессе разбора журналов)
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on November 18, 2016, 01:01:29 PM
Или баг или синтаксис изменился. Тестирую скрипт
Code: (clickermann) [Select]
SETTHREAD (potok, 1)
LOGWRITE ("Вкл")
WAITMS(50)
SETTHREAD (potok, 2)
LOGWRITE ("Выкл")
WAIT(1)

THREAD(potok, 0)
   LOGWRITE ("Строка 1")
   LOGWRITE ("Строка 2")
   LOGWRITE ("Строка 3")
   WAIT(5)
   LOGWRITE ("Строка 5")
END_THREAD

Ошибка интерпретации выскакивает на  SETTHREAD (potok, 2)

Title: Re: [Alpha/Beta Testing]
Post by: Vint on November 18, 2016, 03:36:42 PM
Да, сломалось.

Но мне с самого начала непонятна такая реализация перезапуска.

Сейчас так:
Quote
0 - поток ставится на паузу
1 - поток продолжает выполнение с места, где был остановлен
2 - поток ставится на паузу, при этом при повторной его активации он начинает выполняться с начала, независимо от того, на каком этапе он был остановлен

Когда все просили сделать, и я в том числе, мне кажется предполагали именно новую команду перезапуска.
Так гораздо логичнее.
Quote
0 - поток ставится на паузу
1 - поток продолжает выполнение с места, где был остановлен
2 - поток начинает выполняться с начала (остановленный). Если поток запущен пусть там у себя внутри ставится на паузу и начинает выполняться с начала.

Самый частый случай, когда нужен перезапуск потока с начала наступает внезапно.
Вот выполнилось условие (программа выпала в ошибку). Сейчас для перезапуска нужны команды
SETTHREAD (potok, 2) стоп (с последующим пуском с начала)
SETTHREAD (potok, 1) пуск

Получается мы с Тамарой ходим парой. В любом случае мы заранее, обычно, не знаем что будет нужен именно перезапуск.
И ситуация, когда скрипт приостанавливает поток, а потом позже решает продолжить его или перезапустить, гораздо вероятнее, чем когда мы знаем заранее.

Code: (clickermann) [Select]
SETTHREAD (potok, 1)  // пуск
...
SETTHREAD (potok, 0)  // пауза
...
...
SETTHREAD (potok, 1)  // пуск
...
SETTHREAD (potok, 2)  // перезапуск
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on November 18, 2016, 07:48:33 PM
ну етить можно вообще убрать (или нет) этот сет и ввести что то типа threadpause, threadresume, threadreset
Title: Re: [Alpha/Beta Testing]
Post by: АНТИКЛАН on November 19, 2016, 04:06:07 AM
Чёт у меня на новой бете вообще рабочий код не стартует и ошибок не пишет. На текущей все норм.
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on November 19, 2016, 10:27:46 AM
Quote
Чёт у меня на новой бете вообще рабочий код не стартует и ошибок не пишет. На текущей все норм.
ну ты же догадался что этот экзешник надо кинуть в папку к последней рабочей версии?
Title: Re: [Alpha/Beta Testing]
Post by: АНТИКЛАН on November 19, 2016, 10:18:00 PM
ну ты же догадался что этот экзешник надо кинуть в папку к последней рабочей версии?

Да. Там и лежит. Еще пробовал делать отдельную папку с переносом папки data и библиотек. Имя экзешника можно же не менять?
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on November 30, 2016, 10:43:14 AM
Баг

Заметил тут, что в режиме привязки лупа показывает с большим смещением
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on December 06, 2016, 09:51:27 PM
Clickermann 4.13 b2 + x64

Исправление багов а так же 64 битная версия. Для каждой реализации требуется своя
версия библиотеки работы с ps2, поэтому разбил по папкам.

http://rgho.st/8xzBfRYtC
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on December 07, 2016, 10:40:49 AM
Вот эти меню стали появляться не из центра курсора а немного выше.
(http://savepic.net/8585271.png)
Title: Re: [Alpha/Beta Testing]
Post by: Vint on December 07, 2016, 11:09:29 AM
Ну так это спецом сделано. Фиксированное место появления, в 13b уже так было.
Кстати удобнее.

Ошибка с первой невыполняемой строкой потока так и осталась.
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on December 07, 2016, 12:31:15 PM
Спецом? Сомневаюсь. И ничего удобного здесь нет.

Вот как было раньше. Кликаешь и меню появляется от курсора правее и на том же уровне. Можно без проблем кликать по кнопкам.
А теперь это меню полностью перегораживает кнопки и приходится кликать в другое место чтобы от него избавиться и кликнуть по другой кнопке.
(http://savepic.net/8634435.png)
Title: Re: [Alpha/Beta Testing]
Post by: Vint on December 07, 2016, 03:12:49 PM
Удобней. Неудобно когда 3 вложенных меню съезжают всё правее и ниже.
Иногда, когда редактор в правом нижнем углу, кликнув по правой части кнопки можно было до пунктов и "не достать".
Так хоть как-то по компактней.

Открыл меню - выбирай пункт, зачем по кнопкам кликать?
Я в любом случее не закрываю кликом по кнопкам. Или по полю редактора или ниже по полю лупы.

P.S. Если по "командам" кликнуть далеко в левой части - до шаблонов было всё равно не добраться.
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on December 07, 2016, 06:42:47 PM
Ошибка с первой невыполняемой строкой потока так и осталась.
да что такое, это как с двумя ногами, одну вытащишь, другая увязнет.
можно пример когда который гарантированно ошибку воспроизведет?

по поводу меню всплывающих, я честно говоря не помню. определитесь там уж как удобнее.
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on December 07, 2016, 06:45:27 PM
так все тот же мой пример
Code: (clickermann) [Select]
SETTHREAD (potok, 1)
LOGWRITE ("Вкл")
WAIT(1)

THREAD(potok, 0)
   LOGWRITE ("Строка 1")
   LOGWRITE ("Строка 2")
   LOGWRITE ("Строка 3")
   SETTHREAD (potok, 2)
   LOGWRITE ("Строка 5")
END_THREAD

Лог:
Code: [Select]
19:44:02 Вкл
19:44:02 Строка 1
19:44:02 Строка 2
19:44:02 Строка 3
19:44:03 Вкл
19:44:03 Строка 2
19:44:03 Строка 3
19:44:04 Вкл
19:44:04 Строка 2
19:44:04 Строка 3
19:44:05 Вкл
19:44:05 Строка 2
19:44:05 Строка 3
19:44:06 Вкл
19:44:06 Строка 2
19:44:06 Строка 3

Title: Re: [Alpha/Beta Testing]
Post by: Oraven on December 07, 2016, 06:48:30 PM
Кстати это у меня одного почему то цитирование не работает?
То есть нажатие кнопки "Цитировать" на сообщении не приводит ни к каким результатам. Это началось вроде когда на сайте что то с кодировкой было.
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on December 07, 2016, 07:00:55 PM
Если включить лупу то при приближении к краю экрана или окна (в оконном режиме) файл errorlog.txt начинает стремительно наполняться вот этим. 

Code: [Select]
07.12.2016 19:58:20 Access violation at address 005952A9 in module 'Clickermann.exe'. Write of address 0247D8FE
07.12.2016 19:58:20 Access violation at address 005952A9 in module 'Clickermann.exe'. Write of address F90381AA
07.12.2016 19:58:20 Access violation at address 005952A9 in module 'Clickermann.exe'. Write of address F904E276
07.12.2016 19:58:22 Access violation at address 005952A9 in module 'Clickermann.exe'. Write of address F903812A
07.12.2016 19:58:23 Access violation at address 005952A9 in module 'Clickermann.exe'. Write of address F903815E
07.12.2016 19:58:23 Access violation at address 005952A9 in module 'Clickermann.exe'. Write of address F903A65E
07.12.2016 19:58:24 Access violation at address 005952A9 in module 'Clickermann.exe'. Write of address F90443DE
07.12.2016 19:58:24 Access violation at address 005952A9 in module 'Clickermann.exe'. Write of address F904565A
07.12.2016 19:58:24 Access violation at address 005952A9 in module 'Clickermann.exe'. Write of address F903F9F2
07.12.2016 19:58:25 Access violation at address 005952A9 in module 'Clickermann.exe'. Write of address F9048F12
07.12.2016 19:58:25 Access violation at address 005952A9 in module 'Clickermann.exe'. Write of address F9048F12
07.12.2016 19:58:26 Access violation at address 005952A9 in module 'Clickermann.exe'. Write of address F90394A2
07.12.2016 19:58:26 Access violation at address 005952A9 in module 'Clickermann.exe'. Write of address F9043172
07.12.2016 19:58:26 Access violation at address 005952A9 in module 'Clickermann.exe'. Write of address F907D482
07.12.2016 19:58:27 Access violation at address 005952A9 in module 'Clickermann.exe'. Write of address F9040CE2
07.12.2016 19:58:27 Access violation at address 005952A9 in module 'Clickermann.exe'. Write of address F903E80E
07.12.2016 19:58:28 Access violation at address 005952A9 in module 'Clickermann.exe'. Write of address F903CC2E
07.12.2016 19:58:28 Access violation at address 005952A9 in module 'Clickermann.exe'. Write of address F903D56E
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on December 07, 2016, 07:02:24 PM
А еще кое кто тут утверждает что последняя бетта на 10ке не работает.
https://vk.com/topic-14410794_23383620?post=50777 (https://vk.com/topic-14410794_23383620?post=50777)
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on December 07, 2016, 07:18:03 PM
Quote
по поводу меню всплывающих, я честно говоря не помню. определитесь там уж как удобнее.
Удобнее так как было, потому что не вижу большого эффекта в том что оно появится чуть левее. А вот то что оно теперь напрочь перекрывает кнопки, это меня начало бесить еще с предыдущей бетты.
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on December 07, 2016, 07:24:13 PM
Кстати это у меня одного почему то цитирование не работает?
То есть нажатие кнопки "Цитировать" на сообщении не приводит ни к каким результатам. Это началось вроде когда на сайте что то с кодировкой было.
все норм. огнелис.
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on December 07, 2016, 08:23:52 PM
Кстати это у меня одного почему то цитирование не работает?
То есть нажатие кнопки "Цитировать" на сообщении не приводит ни к каким результатам. Это началось вроде когда на сайте что то с кодировкой было.
все норм. огнелис.

Да нет, не норм. Стал разбираться, оказалось частично все же работает.
Если "Быстрый ответ" свернут, то при нажатии на цитирование перебросит в редактор с захватом сообщения в цитату. Но если быстрый ответ открыт то ничего не работает. Раньше все было норм.
(http://savepic.net/8587145m.png) (http://savepic.net/8587145.htm)
(http://savepic.net/8650632m.png) (http://savepic.net/8650632.htm)
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on December 08, 2016, 06:41:52 PM
Функция HGETTEXT возвращает порченный текст
Code: (clickermann) [Select]
LOGWRITE (HGETTEXT($_hwnd))
HALT

Собственно как и HSETTEXT записывает неправильно
Code: (clickermann) [Select]
HSETTEXT($_hwnd, "text")
HALT

Тот же эффект что был раньше с TOCLIP FROMCLIP()
Title: Re: [Alpha/Beta Testing]
Post by: Vint on December 09, 2016, 02:02:48 PM
А еще кое кто тут утверждает что последняя бетта на 10ке не работает.
https://vk.com/topic-14410794_23383620?post=50777 (https://vk.com/topic-14410794_23383620?post=50777)
Так он сто пудов положил отдельно экзешник и запускает его, хотя ему два раза сказали, что "обязательно положить в папку действующего кликера".
Это к бабке не ходи, судя по тому что не открываются шаблоны и команды


Функция HGETTEXT возвращает порченный текст
Собственно как и HSETTEXT записывает неправильно

Так в окнах то винды 1251 а не юникод.
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on December 09, 2016, 07:03:27 PM
Так в окнах то винды 1251 а не юникод.
спорно и индивидуально. большинство WinAPI функций иимеют Ansi и Unicode версии функций одновременно, которые в свою очеред вызываются третей функцией которая определяет какую из версий нужно запустить. но можно вызывать нужную версию без этой обертки. некоторые функции кликер как раз так и вызывает.
надо просто проверить все функции кликера для работы с окнами будет.

вообще наблюдается некоторый прирост аудитории, поэтому хотелось бы разобраться со всеми багами побыстрее и до нового года выкатить обновление. если у кого что есть, пишите сразу.
Title: Re: [Alpha/Beta Testing]
Post by: Vint on December 10, 2016, 11:57:46 AM

Вот выкладывал неправильные вычисления. Что-то нахимичено с приоритетом действий
http://crapware.aidf.org/forum/index.php?topic=2874.0
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on December 11, 2016, 07:08:32 PM
Ошибка со строками в SETVAR
Code: (clickermann) [Select]
DEFINE($a, 0)
SETVAR ("$a", "Привет тест 12345")
LOGWRITE ($a)

$a = "Привет тест 12345"
$b = GETVAR ("$a")
LOGWRITE ($b)

HALT

Log:
Code: [Select]
20:04:56 Привет т
20:04:56 Привет тест 12345
Title: Re: [Alpha/Beta Testing]
Post by: АНТИКЛАН on December 14, 2016, 01:16:00 PM
Спецом? Сомневаюсь. И ничего удобного здесь нет.

Вот как было раньше. Кликаешь и меню появляется от курсора правее и на том же уровне. Можно без проблем кликать по кнопкам.
А теперь это меню полностью перегораживает кнопки и приходится кликать в другое место чтобы от него избавиться и кликнуть по другой кнопке.
(http://savepic.net/8634435.png)

Подтверждаю.
Title: Re: [Alpha/Beta Testing]
Post by: АНТИКЛАН on December 14, 2016, 08:25:18 PM
Версия 4.13b2

Код:

Code: (clickermann) [Select]
// 14.12.2016
#name "New Script"

DEFINE($HWND, WNDFIND("Clickermann", 1))
DEFINE($TEXT, HGETTEXT($HWND))
LOGWRITE ($TEXT)

HALT

Вывод в лог нескольких запусков:

Code: [Select]
19:16:21 汃捩敫浲湡‭敎⁷捓楲瑰
19:16:23 汃捩敫浲湡‭敎⁷捓楲瑰
19:16:24 汃捩敫浲湡‭敎⁷捓楲瑰
19:16:24 汃捩敫浲湡‭敎⁷捓楲瑰
19:16:24 汃捩敫浲湡‭敎⁷捓楲瑰
19:16:25 汃捩敫浲湡‭敎⁷捓楲瑰

И на 32 и на 64. Только символы немного различаются. Проверьте на своих машинах пожалуйста, потому что есть подозрение на баг...
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on December 14, 2016, 08:40:42 PM
Я уже описывал этот баг HGETTEXT выше.
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on December 19, 2016, 08:32:44 PM
думаю сделаем на днях чтоб кавычки не глотал.
а можно для удобства отладки примеры сломаных судеб?
Title: Re: [Alpha/Beta Testing]
Post by: Vint on December 20, 2016, 08:42:42 AM
Пример
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on December 22, 2016, 01:39:08 PM
Глюк с темой оформления в редакторе.

Code: (clickermann) [Select]
SUB(test,$par1,$par2) // переменные отображаются черным

END_SUB

test(1,2)

Если добавить пробел после test, то переменные тут же становятся синими.
В 4.12 такого нет.
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on December 24, 2016, 02:40:16 PM
Fix 4.13 b3
Исправление багов с текстовыми функциями, проблем связанных с выезжанием графики за края экрана,
значительные улучшения в войне с нечитаемыми кавычками

http://rgho.st/8jVBp2K9G
Title: Re: [Alpha/Beta Testing]
Post by: АНТИКЛАН on December 26, 2016, 07:20:03 PM
Fix 4.13 b3
Исправление багов с текстовыми функциями, проблем связанных с выезжанием графики за края экрана,
значительные улучшения в войне с нечитаемыми кавычками

http://rgho.st/8jVBp2K9G

Пока заметных проблем на своих скриптах не выявил. Тестим дальше. :)
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on January 03, 2017, 04:07:15 PM
Функция GETFILELIST все еще работает очень неточно.
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on January 04, 2017, 06:12:30 PM
а что там с Win10?
Title: Re: [Alpha/Beta Testing]
Post by: 3333333333 on January 08, 2017, 11:28:33 AM
win10 preview x64 не запускается, процесс зависает
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on January 09, 2017, 07:40:41 AM
Обнаружил еще один глюк редактора.

в зависимости от числа с верху у последнего числа в комменте появляется какая то черта.
(http://savepic.net/8814058.png)
Title: Re: [Alpha/Beta Testing]
Post by: Vint on January 09, 2017, 11:43:39 AM
Там не только число. 0  - появляется черта у всех последних нулей, 3 - у троук. "y" у всех игреков.
А при "i" не появилась. Другие символы не проверял.
Я уж подумал выделение совпадающего текста, как в Notepad++
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on January 12, 2017, 09:01:02 PM
Обнаружился тут баг в подпрограмме.
Если использовать 2а параметра и более, и в параметре написать 1у скобку, вылетает ошибка.
Интересно что если параметр 1 то ошибки не возникает.

Code: (clickermann) [Select]
SUB(TEST, $str, $a)
   LOGWRITE ($str, " ", $a)
END_SUB

TEST("тест ) тест", 1)
HALT
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on January 13, 2017, 08:06:50 AM
небольшой баг, отображения в редакторе.

Такое, видимо, много где есть http://crapware.aidf.org/forum/index.php?topic=356.msg18959#msg18959 (http://crapware.aidf.org/forum/index.php?topic=356.msg18959#msg18959)
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on January 13, 2017, 06:38:20 PM
мда, так до релиза и не доедем.
а еще виртуальную десятку ставить...
а у меня даже места нету на диске((((
Title: Re: [Alpha/Beta Testing]
Post by: АНТИКЛАН on January 15, 2017, 08:29:43 PM
мда, так до релиза и не доедем.
а еще виртуальную десятку ставить...
а у меня даже места нету на диске((((

Не боись. Все получится. Глаза боятся руки делают. ::)
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on January 16, 2017, 12:19:50 PM
Баг

При чтении из файла пустые строки становятся кавычками ""
Code: (clickermann) [Select]
FOR($a=1,$a<TFCOUNT("input.txt")+1)
   $str = TFREAD ("input.txt", $a)
   LOGWRITE ("Строка: ", $str)
   LOGWRITE ("Длина: ", STRLEN($str))
   TFWRITE("output.txt", $str)
END_CYC

HALT

Содержимое файла input.txt
Code: [Select]
Строка 1

Строка 2

Строка 3

Строка 4

Лог:
Code: [Select]
13:19:06 Строка: Строка 1
13:19:06 Длина: 8
13:19:06 Строка: ""
13:19:06 Длина: 2
13:19:06 Строка: Строка 2
13:19:06 Длина: 8
13:19:06 Строка: ""
13:19:06 Длина: 2
13:19:06 Строка: Строка 3
13:19:06 Длина: 8
13:19:06 Строка: ""
13:19:06 Длина: 2
13:19:06 Строка: Строка 4
13:19:06 Длина: 8
Title: Re: [Alpha/Beta Testing]
Post by: quant13 on January 17, 2017, 10:37:40 AM
это не баг. В текстовых файлах не бывает "пусых" строк. На месте "пустой" строки есть перевод каретки (0A 0D), вот вам и 2 символа. А вот откуда взялись кавычки в логе, это, конечно, вопрос.
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on January 17, 2017, 01:35:15 PM
это не баг. В текстовых файлах не бывает "пустых" строк. На месте "пустой" строки есть перевод каретки (0A 0D), вот вам и 2 символа. А вот откуда взялись кавычки в логе, это, конечно, вопрос.

В 4.12 все нормально, показывает 0 длину и копирует пустые строки.
Дело конечно в борьбе с кавычками которая началась вестись в 4.13 версии. Вот такой глюк вылез.
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on January 19, 2017, 07:51:33 AM
Надо исправить наконец код PRINTSCREEN в файле const.txt и спраке

#PRINTSCREEN 154

Правильное значение 44
#PRINTSCREEN 44
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on January 20, 2017, 08:26:00 AM
Вот еще пример вылезания кавычек. Удаление пробелов из строки. В результате должна получиться пустая строка но...
Code: (clickermann) [Select]
PRINT (STRLEN(STRFILTER("   ", " ", 0)))
HALT

В логе значение 2
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on January 25, 2017, 06:34:26 PM
При запуске кликера через ассоциированный скрипт с параметром #autorun кликер остается на экране в недосвернутом состоянии.
Надо бы это поправить чтоб он полностью был только в трее или на панеле задач.
Title: Re: [Alpha/Beta Testing]
Post by: Vint on January 27, 2017, 02:49:37 PM
Так 4.13 кроме экзешников пока ничего и нет.
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on January 27, 2017, 03:28:10 PM
На самом деле можно обойтись без Win_Api_Constants.cms достаточно просто внести эти строки в файл const.txt
Ну добавится решетка в начале каждой команды типо #WM_KEYDOWN неужели это такая проблема?
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on February 05, 2017, 07:39:04 PM
Ну зачем тебе сохранять его в темп то? Выбирай сохранить как, а лучше скачать а уж потом запускать.
Title: Re: [Alpha/Beta Testing]
Post by: dramster on February 12, 2017, 01:49:27 PM
может всеже стоит научить в новой версии функцию DIST правильно работать с дробными числами!!!???
ладно еслиб она выдавала ошибку, или возвращала "0", но она ведь часто вводит в заблуждение. я то уже в курсе, и всегда пользуюсь своими вычислениями если есть вероятность дробного числа. а такова вероятность всегда очень велика, даже при простейших математических действиях с координатами, и в дальнейшем используя DIST, может долго поламать голову над чудесами которые происходит далее. а если координаты берутся не с экрана, а из самого приложения? и я вообще не пойму, почему изначально эта функция предполагала расчеты только с целыми? в чем была загвоздка при создании ее полноценной?
пример.
Code: (clickermann) [Select]
$x1 = 0
$y1 = 0
$x2 = 1
$y2 = 2.0001

print(Sqrt(POW(($x1-$x2),2)+POW(($y1-$y2),2)))
print(dist($x1,$y1,$x2,$y2))

halt

циферки может каждый сам поменять, и посмотреть на эту беду.

к примеру если выставить координаты, и дну из них поделить на два (на практике может встретиться очень часто)
Code: (clickermann) [Select]
$x1 = 0
$y1 = 0
$x2 = 1
$y2 = 103/2
то у нас DIST выдаст 1.4142135623731 , полторы точки  :o от нулевой точки до 51-ой , этож нонсэнс, а сразу и не поймешь в чем тут косяк.
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on February 12, 2017, 01:53:51 PM
Ну очевидно что полпиксела быть не может. Нужно просто использовать INT
Title: Re: [Alpha/Beta Testing]
Post by: dramster on February 12, 2017, 02:06:25 PM
Ну очевидно что полпиксела быть не может. Нужно просто использовать INT
нужно то оно нужно, но на практике нам об этом никто не говорит  :D .
плюс, как я писал ранее, координаты можно брать из самого приложения, а там они всегда дробные. и часто какаянибудь сотая часть единицы играет роль. да можно было бы использовать ROUND и смещать точку на столько сколько требуется. но тотже ROUND тоже с причудами  :D, он часто возвращает числа типа 22.99999999999, и снова скрипт гонит не по теме. и снова после ROUND требуется еще не забыть использовать INT. а не много ли лишних движений?

что ж там такого в этом DIST проблемно было сделать, чтоб он работал как нужно?
опять же повторюсь, я уже привык, многие из активных пользователей тоже, но всеже нужно сделать как положено.



насчет ROUND я погоречился  ;D, смещаем току умножением. но фак остается фактом, ROUND часто вадавал мне лишние девятки после точки. щяс пытаюсь найти как  :D

Quote
но фак остается фактом, ROUND часто вадавал мне лишние девятки после точки. щяс пытаюсь найти как  :D
поковырял я это ROUND, чето ничего не нашел  >:(. да и не помню уже в какой это версии было. кароче забил. нашел лишь небольшей косячек с округлением 5,6,7 или более знаков после точки (зависит он количества знаков перед точкой), выдает отрицательные числа. но это скорее всего так и требуется, так как там есть вроде какоето максимальное число для памяти т.д. и т.п.,  но лучше бы в этих случаях выдавало ошибку.


урааааа :D  :D  нашел девятки  :D
закономерности никакой не нашел, просто наугад  :(
Code: (clickermann) [Select]
print(ROUND (2567.4535848 , -4))в лог выдает 2567.4535999999997 , пхуууу, ато я уж посчитал что выставил себя лапухом  ;D
Title: Re: [Alpha/Beta Testing]
Post by: dramster on February 12, 2017, 02:53:17 PM
выявлен баг, стабильный баг. в функции ROUND . вот на это я частенько и напарывался, о чем писал выше.
Code: (clickermann) [Select]
$n = RND (0, 9999999)/1000
print($n)
print(ROUND ($n , -1))
waitms(100)
лог:
Code: [Select]
14:48:22 3029.151
14:48:22 3029.2
14:48:22 2958.86
14:48:22 2958.9
14:48:22 9476.338
14:48:22 9476.2999999999987
14:48:22 2778.042
14:48:22 2778
14:48:22 7206.278
14:48:22 7206.3
14:48:22 3186.751
14:48:22 3186.8
14:48:22 5989.206
14:48:22 5989.2
14:48:23 5519.9849999999994
14:48:23 5520
14:48:23 8356.742
14:48:23 8356.7000000000013
14:48:23 8906.4860000000013
14:48:23 8906.5
14:48:23 8243.3070000000013
14:48:23 8243.2999999999987
14:48:23 4159.407
14:48:23 4159.3999999999994
14:48:23 3857.423
14:48:23 3857.4
14:48:23 5222.6719999999994
14:48:23 5222.7
14:48:23 362.745
14:48:23 362.7
14:48:23 9822.203
и так далее.




:-\ судя по кусочку лога:
Code: [Select]
14:48:23 8356.742
14:48:23 8356.7000000000013
14:48:23 8906.4860000000013
14:48:23 8906.5
тут и с делением чтото глюкает  :-\

[spoiler] :D неужели, только сейчас я догнал, в чем может быть проблема при использовании кликера в одной 3д игре, где езда на автомобиле отлажена от и до. авто едет очень быстро, координаты берутся из памяти, расчеты ведутся мгновенно, нужна максимальная точность, вроде все идет по курсу, но в какието моменты руль на мгновение до упора поварачивает в не нужном направлении, я грешил на считывание из памяти возможных косяков. но теперь думаю проверить всё заново, так как гдето всеже  могут вылазить дробные числа, и какаянибудь функция срабатывает не правильно.[/spoiler]
Title: Re: [Alpha/Beta Testing]
Post by: Vint on February 12, 2017, 04:38:21 PM
Почему DIST работает с целыми числами я понимаю и у меня с ним никогда не возникали проблемы, ну кроме времён когда и выходные данные были целые.
При разработке в голове сложилось: для чего кликеру DIST? - считать расстояние между пикселами экрана. Коордмнаты пикселов могут быть только целые числа, поэтому выбираем тип данных int. Ну так люди программируют. Нужно использовать тот тип данных который нужен. Можешь конечно все числа заводить во float, но это лишняя трата памяти, времени расчётов и точности.
Если бы всякие  If_picture_in работали с float мы бы сильно потеряли в скорости.

Вот те косяки с точностью - это не косяки, это особенности работы программ с вещественными числами в формате с плавающей точкой. Подобные результаты будут во многих языках программирования.

Понятно что дистанция между точками в своих системах координат (или игровых) может иметь дробные координаты, но дист для них не задумывался. Приходиться считать самим. Сейчас желательно переделать dist под новые расширенные применения кликера. Он чуть вырос из экранной "тыкалки".
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on March 05, 2017, 01:44:34 PM
Нужно исправить устаревший скрипт в справке.
(http://savepic.net/8987288.png)
Title: Re: [Alpha/Beta Testing]
Post by: dramster on April 21, 2017, 05:50:37 PM
баг при вызове подпрограммы со строковыми параметрами в версии v4.13 b3.
Code: (clickermann) [Select]
SUB(test, $text)
   print($text)
END_SUB


$str = "Русский, Anglish"
test($str) //всё норм - "Русский, Anglish"
wait(1)
test("Anglish") //получаем  "ANGLISH"  вместо   "Anglish"
wait(1)
test("Русский, Anglish") //получаем "Русский)"  и ошибку
halt

[spoiler]пол дня себе мозг выносил с этой неразберихой  >:( [/spoiler]
Title: Re: [Alpha/Beta Testing]
Post by: dramster on May 20, 2017, 02:13:08 AM
версия v4.13 b3 х64 не работает в режиме ps2.

(http://i.imgur.com/D5c9rum.png)

тоже самое и с #ps2_mouse+LCLICK
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on May 23, 2017, 04:33:55 PM
версия v4.13 b3 х64 не работает в режиме ps2.

(http://i.imgur.com/D5c9rum.png)

тоже самое и с #ps2_mouse+LCLICK

работает но там нужен соответствующий драйвер ioport.dll под х64 сборку
Title: Re: [Alpha/Beta Testing]
Post by: i0 on June 29, 2017, 08:36:35 PM
v4.13 b3 х86
первый getscreen не видит второй монитор
последующие getscreen – видят
Title: Re: [Alpha/Beta Testing]
Post by: Cleoss on August 09, 2017, 06:33:46 PM
Здравствуйте!
Запущено два Клмна, оба 4.13.б3 х64, но из разных папок. В одном из них открываю скрипт через встроенный редактор, изменяю его, сохраняю и жму "Применить", после это жму кнопку закрытия редактора. После этого выскакивает окошко с вопросом "Применить изменения?" и тремя кнопками (yes, no, cancel). Если жму йес, то ничего не происходит, просто это окно исчезает, а сам редактор не закрывается. При повторной попытке происходит то же самое, а если всё-таки нажать ноу в диалоге, то естественно скрипт не применяется (хоть и сохраняется). Чяднт? это нормально ли? и что делать, чтоб применить изменения? Пробовал перезапускать скрипты, но ситуация повторяется.

ПС. Есть подозрения, на то что эт из-за того, что в одном файле подключён скрипт через инклуд.
ППС. Переписал все функции без инклуда и закомментил сам инклуд, и действительно -- редактор аки чудо закрылсо, но вот сам скрипт почему-то не заработал, хотя вчера ещё всё было норм. Щас буду посмореть.
Это и в других версиях так. Если есть инклюд, а файла самого ещё нет. Или если дикие ошибки в коде.
Окау, Винт, спасиб! Я уже понял, что эт норм)) Файл инклюдов есть и используется уже в других проектов, а вот здесь лагануло.  Использовал в файле с #include строчку    rc(int($vr1/10)+3,int($vr2/10)+9), которая передавала в инклуд координаты клика через int, может rclick не понимает, когда в него передают координаты с использованием других функций, хотя странно это, вроде было норм.
Кстати, цитирование сломанное ещё не исправлено в SimpleMachines-движке, хотя в прошлом сентября, когда я пришёл сюда на форум, всё работало хорошо.

Также периодически происходит лаг, когда только что открытый скрипт не появляется в списке недавно открывавшихся скриптов, и причём он не появляется там и после повторном переоткрытия через диалоговое окно. Странно ещё и то, что эти MostRecentlyUsed-списки файлов разные для редактора и для основной формы кликера, видимо они хранятся в разных ключах реестра или в разных параметрах.
Title: Re: [Alpha/Beta Testing]
Post by: Vint on August 09, 2017, 06:38:12 PM
Это и в других версиях так. Если есть инклюд, а файла самого ещё нет.
Или если дикие ошибки в коде.
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on August 31, 2017, 08:15:51 PM
Clickermann 4.13.004b x32

http://rgho.st/8zP5kcmFG

Кароч я типа не умер, хотя за последний год знатно сменил как образ жизни так и сферу интересов. Но все же, иногда удается урвать минутку чтоб пару раз шлифануть свой алмаз.
Вобщем очередная версия бета теста, которая уже скорее ближе к релизу. С актуальной справкой и множественными исправлениями о которых написано в истории.
Версия для 64 подъедет чуть позже (на самом деле просто пока не нашел инструмент чтоб запаковать 64 битный экзешник чтоб школяры не скрывали редакторы и не занимались прочей херней, кто знает такой - можете подсказать)
Среди значимых доработок - наконец более менее поддержка расширенных рабочих столов как слева так и справа. Кто то там настоятельно просил. Ну и так, по мелочи.
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on September 01, 2017, 08:47:06 AM
Стоит добавить системную переменную возвращающую HWND кликера, типо $_my_hwnd

Баг с запятой все еще присутствует.
Code: (clickermann) [Select]
SUB(test, $text)
   print($text)
END_SUB

test("Раз,Два")

halt

И недоработки в справке.
(http://savepic.net/9815634m.png) (http://savepic.net/9815634.htm)
Title: Re: [Alpha/Beta Testing]
Post by: Vint on September 01, 2017, 10:12:00 AM
И ещё системную переменную с текущей версией кликера.

А не появилась возможность получать сообщения для окна кликера?

WRITEMEM и чтение требует адрес в виде строки, можно это обойти? Чтоб можно было задавать адрес 10 ричным числом. Или минимум быстрые функции перевода в HEX и обратно.
Title: Re: [Alpha/Beta Testing]
Post by: dramster on September 01, 2017, 03:59:53 PM
WRITEMEM и чтение требует адрес в виде строки, можно это обойти? Чтоб можно было задавать адрес 10 ричным числом. Или минимум быстрые функции перевода в HEX и обратно.

читаю справку - "Адрес представлен строкой шестнадцатеричного числа" . смотрю пример - "$var = readmem(2080, 0x0006F2B7)" . и где тут строка адреса  :-\ ? .

а теперь пару тестов. нахожу в памяти кликера (к примеру) любое число, беру адрес этого значения. пишу такой код.
Code: (clickermann) [Select]
print(readmem(3736, 0x00020F00))
print(readmem(3736, 134912))
print(readmem(3736, 0x00020F00+20-20))
halt

и, о чудо, все отлично работает  :D. справка немного вводит в заблуждение.



ого, HGETPID (hwnd) , здорово  :D . работает .
Code: (clickermann) [Select]
print(readmem(HGETPID(WNDFIND ("редактор")), 0x00020F00))но, HGETPID в редакторе не подсвечивается. и в справке пример по данной функции немного не по теме.
(http://i.imgur.com/QPxe84r.png)
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on September 01, 2017, 05:57:22 PM
в справке возможны косяки эт да. скидывайте поправим.

Quote
А не появилась возможность получать сообщения для окна кликера?

появилась. getmessage()
так же возможно еще добавим пару штук для господ крутых программистов, способных создавать свои DLL, но это не точно
Title: Re: [Alpha/Beta Testing]
Post by: Vint on September 01, 2017, 05:57:43 PM
читаю справку - "Адрес представлен строкой шестнадцатеричного числа" . смотрю пример - "$var = readmem(2080, 0x0006F2B7)" . и где тут строка адреса  :-\ ? .
Мммм. Я когда писал с телефона ещё новую версию не смотрел. Это был вопрос по старой версии где такое не прокатывало.
Title: Re: [Alpha/Beta Testing]
Post by: Vint on September 01, 2017, 06:10:39 PM
появилась. getmessage()
так же возможно еще добавим пару штук для господ крутых программистов, способных создавать свои DLL, но это не точно
Да, да уже увидел 2222. Получается сообщение хранится в какой-то переменной, а при вызове getmessage() получаем её данные.
Или сообщение должно прийти именно в этот момент?
Если первое, то после вызова getmessage() данные удаляются?
При повторном вызове getmessage() (без прихода нового сообщения) выдаст старые данные или что? Как сбросить?

Пример:
Мы подпрягли стороннюю программу что-то делать и нужно ждать от неё ответ о завершении и после получить результаты.
Вызвали...
в цикле  getmessage() пока не придёт нужное значение.
А если после этого нужно второй раз так сделать? Ведь getmessage() вернёт сразу старое значение о завершении.
Даже если приложение сразу будет слать неправильное сообщение для "затирки" и при повторном вызове мы не можем сразу в цикле проверять getmessage(), вдруг она не успела затереть.

P.S. придумал, именно для этого случая, получать ответ только по запросу SETMESSAGE. Чтоб мы не ждали ответ не зная когда, а конкретно шлём запрос "готово?" и приходит ответ. Но опять же нужно в начале слать себе же лишний SETMESSAGE для "перезатирки".
Не удобняк. Нужно чтоб в момент забирания getmessage() старое сообщение удалялось само. Правда мы теряем на этом одно значение iParam, wParam равные 0,0. Но мы и так его уже потеряли когда нам совсем ничего не приходит.
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on September 01, 2017, 07:48:39 PM
Или сообщение должно прийти именно в этот момент?
Если первое, то после вызова getmessage() данные удаляются?
При повторном вызове getmessage() (без прихода нового сообщения) выдаст старые данные или что? Как сбросить?
конечно НЕ в этот момент, его не поймать. просто запоминаетс последнее сообщение и в момент вызова функции эти данные извлекаются.
и нет, не "сбрасывается". тут есть ньюанс (тобой отмеченный впрочем). даже сообщение с нулями - сообщение. более того, тот же Bluestack пока ему не пришлешь WM_NULL корректо не обработает нажатие в себя в режиме работы через postmessage(). это так, пример из жизни.
поэтому здесь ответственность ложится скорее на стороннюю программу. в конце концов есть целых два параметра!

Quote
Не удобняк. Нужно чтоб в момент забирания getmessage() старое сообщение удалялось само.
и в результате там оказывались нули, которые так то тоже сообщение, только с нулями?
для таких (и перечисленных) случаев можно скриптом хранить значения параметров с предыдущего шага и сравнивать с текущим. и соответственно ждать когда он иначнкт отличаться.

не знаю что удобнее. для начала неплохо бы дойти до реальных скриптов и программ посылающих сообщения.
Title: Re: [Alpha/Beta Testing]
Post by: Vint on September 02, 2017, 12:07:19 AM
Короче, нужен механизм для определения что сообщения небыло. Т.к. у нас реализация getmessage спицифическая. Функция реагирующая на сообщения сидит внутри интерпритатора и по get отдает сохраненные данные. Но если ничего совсем не приходило она все равно дает начальные значения по умолчанию 0,0.
Есть выход. В функции getmessage() возвращать 3 параметра iParam, wParam, flagnew. Третий флаг 0/1. Флаг имеет 1 если сообщение пришло но еще не забиралось. Как забираем по getmessage после сразу сбрасывает флаг в 0. И повторный getmessage вернет уже старые параметры и 0.
Можно последний параметр сделать необязательным.

И почему 2222? Понятно что для запоминания, но ведь для пользовательских выделен другой диапазон.
Title: Re: [Alpha/Beta Testing]
Post by: Vint on September 02, 2017, 12:13:56 AM
Почему это удобней переложить на внутренности функции... Во первых чтоб каждый раз не городить одну конструкцию, даже в подпрограмме. А главное, для разных потоков. Вот где начнутся грабли если следить извне. Будем попадать в промежуточные моменты, когда забрал, а флаг еще не поменял. Внутри функции решит этот вопрос сразу.
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on September 02, 2017, 08:15:03 AM
да, с необязательным параметром флагом идея мне по нраву. и не надо отказываться от нулей, и можно обойти острые углы вроде вызова функции еще до сообщения

почему 2222? да бог его знает. у нас же еще тестирование. а какое номер хотелось бы? чтоб он смотрелся красиво как в десятичном так и в хексе?
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on September 02, 2017, 06:46:10 PM
Команды-Шаблоны и keywords.txt дополнены новыми функциями.
Title: Re: [Alpha/Beta Testing]
Post by: Vint on September 02, 2017, 10:26:01 PM
Стандартные сообщения до WM_User-1.     от              0   до  0x03FF (1023)
Локальные сообщения от WM_User          от  0x0400  (1024)  до  0x7FFF (32767)
Глобальные сообщения                    от  0xC000 (49152)  до  0xFFFF (65535)

Можно и в 2222 лишь бы проблем небыло потом.
Вот красивый 50000. xC350
Title: Re: [Alpha/Beta Testing]
Post by: dramster on September 03, 2017, 12:39:25 AM
Clickermann 4.13.004b - параметры GETSCREEN перестали работать  :(

снимок, независимо от параметров, делается всего экрана.

win10 32bit home
Title: Re: [Alpha/Beta Testing]
Post by: Vint on September 04, 2017, 02:46:44 PM
Quote
+ Доработка READMEM(), теперь функция
В справке осталось в примечаниях старое
Code: [Select]
Полученное значение возвращается в переменную $_return1


Quote
+ Добавлены хоткеи Tab, Ctrl + Tab для групповой табуляции
Работает только 1 раз, после чего выделение слетает. Подвинуть на 2+ таба так сразу нельзя.



Quote
+ Окно теперь запоминает положение при переходе на главное окно
Ещё бы и окно лога запоминать.
И почему запоминает положение между запусками. Если CM закрыть открыть всё по умолчанию.



Quote
+ Улучшено быстродействие лупы
Раньше лупа на границах экрана показывала чёрным. Теперь там "кака".
Справа/слева продолжается затайленное с другой стороны.
Снизу показывает верх, но со сдвигом ~+300/
В верху совсем случайный мусор из соседнего с буфером кода.
(http://savepic.net/9858213.png)               (http://savepic.net/9862309.png)



И так
Code: (clickermann) [Select]
IF((11.2 - 11) = 0.2)
    LOGWRITE("верно")
ELSE
    LOGWRITE("НЕ верно")
END_IF
HALT
И так
Code: (clickermann) [Select]
IF((11.2 - 11) - 0.2 = 0)
    LOGWRITE("верно")
ELSE
    LOGWRITE("НЕ верно")
END_IF

Выдаёт "НЕ верно".



Quote
+ Доработка KEYSTRING(), теперь он сам жмет Shift
Почему то не жмёт на 3 и 4. Может ещё на каких. Все не пробовал.
Code: (clickermann) [Select]
KEYSTRING("Елки ПаЛКИ 134567890 !№;%:?*()", 10)
Code: [Select]
Елки ПаЛКИ 134567890 !34%:?*()


В новой математике ROUND так и остался буржуйским банковским. Как ним пользоваться в нормальных вычислениях я ХЗ.



У меня большая проблема с основной функцией работы с экраном.
Не знаю GETSCREEN виноват или сохранятель скриншотов. Думаю GETSCREEN.


Скриншот нормального человека:
(http://savepic.net/9846968.png)

Скриншот курильщика:
(http://savepic.net/9844920.png)


Фотошоп показывает, что файл с прозрачностью.
Весь экран
(http://savepic.net/9877691m.png) (http://savepic.net/9877691.htm)

Фотошоп
(http://savepic.net/9864379m.png) (http://savepic.net/9864379.htm)

Title: Re: [Alpha/Beta Testing]
Post by: Oraven on September 04, 2017, 03:49:38 PM
А у меня GETSCREEN так не делает. Система XP
Title: Re: [Alpha/Beta Testing]
Post by: dramster on September 05, 2017, 01:26:55 AM
А у меня GETSCREEN так не делает. Система XP
в вин7 64 и вин10 32 тоже норм отрабатывает.



READMEM (pid, addr, [size] )
Параметр size указывает на размер целого значения: 1, 2, 4 или 8 байт. если бы функция могла возвращать значение "с плавающей точкой" (float), цены бы ей не было  ::)
Title: Re: [Alpha/Beta Testing]
Post by: Vint on September 05, 2017, 10:13:20 AM
А у меня GETSCREEN так не делает. Система XP

У меня тоже XP. НЕ знаю уже что и делать.

Ещё при каждом пуске в error появляется
Code: [Select]
05.09.2017 10:07:20 List index out of bounds (0)
Title: Re: [Alpha/Beta Testing]
Post by: Vint on September 05, 2017, 01:41:19 PM
В справке битая ссылка со времён царя гороха
http://crapware.aidf.org/forum/index.php?topic=1570.0
Title: Re: [Alpha/Beta Testing]
Post by: Vint on September 07, 2017, 12:30:43 PM
Ещё при каждом пуске в error появляется
Code: [Select]
05.09.2017 10:07:20 List index out of bounds (0)

Провел эксперименты. Нашёл, что ошибка появляется когда есть файл скрипта по умолчанию default.txt
У меня там такой текст:
Code: (clickermann) [Select]
#name "New Script"
// Author: Vint
// Version: 0.1 (04.09.2017)
// Скрипт для Clickermann v4.13.004b


Пробовал пересохранить в UTF-8 не помогло.
Пробовал удалить текст по русски - тоже.


Кстати. Файл ошибок errorlog.txt всегда пересоздаётся новый. Видно как он при старте "моргает". Приэтом размер становится 0. А через секунду когда прописывается ошибка, размер меняется на 1.

И содержит всегда последнюю ошибку, или пустой.

P.S. Дальнейшие копания показали: ошибка появляется, когда в шаблоне нет значащих строк. Есть что нибудь кроме  строк комментариев и директив #
Та же ошибка пишется в лог, если сохранять любой пустой скрипт или скрипт без значащих строк.
В старых версиях в этом случае (при попытке закрыть пустой редактор) выскакивало всегда окно "сохранить"? Не давало закрыть редактор, так же, как при отсутствии файла прописанного в include.
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on September 17, 2017, 05:32:47 PM
Какая то проблема с определением строк и чисел

В 4.12 такой код работает верно, а в 4.13 только если обернуть $arr[$a] INTом
Code: (clickermann) [Select]
STRSEPARATE("1112,296,1382,1968", ",", $arr)

$siz = ARRSIZE($arr)

$min = 999999
FOR($a=0,$a<$siz)
   IF($arr[$a] < $min)
      $c = $a
      LOGWRITE ("$c ", $c)
      $min = $arr[$a]
   END_IF
   LOGWRITE ("$arr ", $arr[$a], " $min ", $min)
END_CYC

LOGWRITE ("Min: ", $arr[$c])

HALT

Лог
Code: [Select]
18:32:15 $c 0
18:32:15 $arr 1112 $min 1112
18:32:15 $arr 296 $min 1112
18:32:15 $arr 1382 $min 1112
18:32:15 $arr 1968 $min 1112
18:32:15 Min: 1112
Title: Re: [Alpha/Beta Testing]
Post by: Vint on September 17, 2017, 09:05:06 PM
На самом деле логично. Strseparate - разбивка строки. Получаем подстроки. В питоне тоже так. Хочется чисел, ну прогоняем  map-ом или на выходе преобразуем через int().
Так как в 4.12 удобней, но не всегда. Мне раз нужны были строки, так хрен получишь.
И не логично было что по pop() возвращало строку, а по индексу - число.

Это я так... На самом деле удобно конечно. Но нужны операторы нормального перевода в строки и числа. Целые то ладно можно и int, а вот как нужно дробное, вот где начинается веселье. Точность мы не всегда знаем, так ещё гребаное банковское округление.
Это писец, товарищи. В базовых операторах языков программирования такое округление.
Title: Re: [Alpha/Beta Testing]
Post by: wireshark on September 21, 2017, 04:52:27 PM
После обновления появилась ошибка  "Run-time error at line:IF($a!$b)", до этого нормально работало
значение переменных 3763620110 и 3763620109
Title: Re: [Alpha/Beta Testing]
Post by: open_78 on September 21, 2017, 05:33:16 PM
После обновления появилась ошибка  "Run-time error at line:IF($a!$b)", до этого нормально работало
значение переменных 3763620110 и 3763620109
Ага, отныне так.
Code: (clickermann) [Select]
IF($a!=$b)
Title: Re: [Alpha/Beta Testing]
Post by: open_78 on September 22, 2017, 09:39:14 PM
SWITCH не понимает латиницу. На символы и русские буквы отвечает верно, а на латинские выдает в лог "Другая буква".
v4.13.004b. Windows 7 Максимальная x86 SP1
Code: (clickermann) [Select]
$_test = "s"

SWITCH ($_test)
CASE("w")
   LOGWRITE("Буква w")
CASE("s")
   LOGWRITE("Буква s")
CASE("ц")
   LOGWRITE("Буква ц")
CASE("ы")
   LOGWRITE("Буква ы")
CASE("+")
   LOGWRITE("Плюс")
DEFAULT
   LOGWRITE("Другая буква")
END_SWITCH
HALT
Title: Re: [Alpha/Beta Testing]
Post by: АНТИКЛАН on September 26, 2017, 07:10:36 PM
чтоб школяры не скрывали редакторы и не занимались прочей херней

Не скрывали или не вскрывали? Если не вскрывали то у школяров для этого опыта маловато ещё наверное. :D
А когда 64-bit версия будет? И когда маскировку от всяких там защит сделаешь? ::)
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on November 05, 2017, 08:29:29 PM
Clickermann v4.13.005b

Исправления\доработки для большинства (если не всех) здесь упомянутых вещей плюс долгожданное для одного нашего товарища сохранение позиции и адекватное сворачивание при #autorun. Код сообщения для GetMessage() теперь можно задать через конфиг.

http://rgho.st/859ggQqGG


А когда 64-bit версия будет? И когда маскировку от всяких там защит сделаешь? ::)
Ну люди говорят что даже CM полуторагодичной давности все еще может пободаться с некоторыми защитами вроде GG. Благо там действительно было уделено некоторое внимание вопросу обхода примитивных защит. Версия х64 появится как только версия х32 будет вылизана (хотя бы будет работать так же как 4.12, чтоб не ломать шаблоны опытным кодерам). Особо вокруг нее плясать с бубном никто не собирается. Так, символически.
Выйдет сразу как только бетатестеры скажут "Ну, слава богу, вроде критичных недоработок, наконец, нет"

p.s. вырежем goto пока не поздно, не?
Title: Re: [Alpha/Beta Testing]
Post by: i0 on November 05, 2017, 11:51:41 PM
из хелпа - точно вырезать
а вообще я их использую для выходов по ошибкам. много править придётся
Title: Re: [Alpha/Beta Testing]
Post by: АНТИКЛАН on November 06, 2017, 08:06:15 AM
Clickermann v4.13.005b

Исправления\доработки для большинства (если не всех) здесь упомянутых вещей плюс долгожданное для одного нашего товарища сохранение позиции и адекватное сворачивание при #autorun. Код сообщения для GetMessage() теперь можно задать через конфиг.

http://rgho.st/6cqRgqYpG

А когда 64-bit версия будет? И когда маскировку от всяких там защит сделаешь? ::)
Ну люди говорят что даже CM полуторагодичной давности все еще может пободаться с некоторыми защитами вроде GG. Благо там действительно было уделено некоторое внимание вопросу обхода примитивных защит. Версия х64 появится как только версия х32 будет вылизана (хотя бы будет работать так же как 4.12, чтоб не ломать шаблоны опытным кодерам). Особо вокруг нее плясать с бубном никто не собирается. Так, символически.
Выйдет сразу как только бетатестеры скажут "Ну, слава богу, вроде критичных недоработок, наконец, нет"

p.s. вырежем goto пока не поздно, не?

GO TO пусть остается. Никто же не убирает её в других языках. Эта конструкция не мешает а иногда даже полезна. Кому не надо не будут использовать и все. И из справки ничего убирать не надо. :D
А вот маскировочку все же усовершенствовать бы. Все больше проектов банят за КМ. Пора прятаться. Мне кажется это важно для будущего проекта. И как всегда спасибо огромное за труд. Не пропадай. :D
Title: Re: [Alpha/Beta Testing]
Post by: open_78 on November 06, 2017, 07:22:15 PM
Clickermann v4.13.005b

Он у меня "ослеп".
Функции связанные с поиском картинок (IF_PICTURE_IN, SCANPICTURE,...) не работают.
Windows 7 Максимальная x86 SP1
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on November 06, 2017, 08:32:36 PM
ой.
Title: Re: [Alpha/Beta Testing]
Post by: Vint on November 07, 2017, 09:49:09 AM
GO TO пусть остается. Никто же не убирает её в других языках.

В Python нет GOTO. Правда есть сторонняя библиотека, но это скорее баловство.

Вот из wiki:
Quote
этого оператора нет ни в Модуле-2, ни в Обероне и Компонентном Паскале. В Java есть зарезервированное слово goto, но оно не несёт никаких функций — оператора безусловного перехода в языке нет.


p.s. вырежем goto пока не поздно, не?
Такой вопрос можно предлагать если уже есть многоуровневые break и continue, есть return и обработка исключений. И даже если это всё есть...

думаю, всё равно не нужно убирать. Много новичков начинают с GOTO и для них это будет слишком. Особенно, если погружаться они не будут, а так заавтоматить пару-тройку действий.
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on November 08, 2017, 08:23:02 PM
Clickermann v4.13.005b
Мы вернулись. Действительно была проблема с подгружаемыми картинками.

http://rgho.st/859ggQqGG
Title: Re: [Alpha/Beta Testing]
Post by: Evgenij_M on November 08, 2017, 09:09:43 PM
Clickermann v4.13.005b
Мы вернулись. Действительно была проблема с подгружаемыми картинками.

http://rgho.st/859ggQqGG

Спасибо... Искренне...
Title: Re: [Alpha/Beta Testing]
Post by: АНТИКЛАН on November 09, 2017, 08:49:10 PM
Много новичков начинают с GOTO и для них это будет слишком. Особенно, если погружаться они не будут, а так заавтоматить пару-тройку действий.

Начиная программировать еще в QBASIC я впервые познакомился с GOTO. Лишать людей GOTO это все равно что лишить их детства. Детство не вернуть но воспоминания остаются навсегда. И это прекрасно. :'(
Title: Re: [Alpha/Beta Testing]
Post by: Vint on November 10, 2017, 09:18:08 AM
Quote
+ Добавлены хоткеи Tab, Ctrl + Tab для групповой табуляции
Почему обратно, не стандартное везде Shift+Tab? Даже на кнопке нарисовано.


В справке GETMESSAGE прописан код сообщения 1024, а в config.ini 2222.
По началу не понял почему не работает, пока не проверил конфиг.
В GETMESSAGE не работает параметр isnew. Всё время результаты 0.
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on November 10, 2017, 06:40:22 PM
Quote
+ Добавлены хоткеи Tab, Ctrl + Tab для групповой табуляции
Почему обратно, не стандартное везде Shift+Tab? Даже на кнопке нарисовано.
стандартное?... видел в какой то программе, но не запомнил. ну, можно сделать и стандартное для релиза.
так то автоотступы - наше все

Quote
В справке GETMESSAGE прописан код сообщения 1024, а в config.ini 2222.
По началу не понял почему не работает, пока не проверил конфиг.
конфиг старый прилип видимо. 1024 это как раз этот ваш WM_USER

Quote
В GETMESSAGE не работает параметр isnew. Всё время результаты 0.
а вот тут не соглашусь. проверял вот таким кодом. все работает и дропается. не?

Code: (clickermann) [Select]
postmessage($_hwnd_self, 2222, 123, 321)
wait(1)

getmessage( $lp, $wp, $flag)
print( $lp, " ", $wp, " ", $flag)

wait(1)

getmessage( $lp, $wp, $flag)
print( $lp, " ", $wp, " ", $flag)

halt
Title: Re: [Alpha/Beta Testing]
Post by: dramster on November 10, 2017, 10:19:59 PM
появилось немого времени потестить getmessage.  в дальнейшем думаю прицепить обмен сообщениями между автоит и кликерманом. пока автоита нет. попробовал обмен между двумя кликерманами. заодно, думал проверить скорость обмена. это мое первое знакомство с обменом по postmessage, поэтому, возможно, я это делаю не так как это требуется. но я именно так примерно понял как это должно работать.

суть такова, первый кликер должен отправить числа от 0 до 9 второму кликеру. второй должен принять эти сообщения.

Code: (clickermann) [Select]
//первый кликер


FOR($a=0,$a<10)
   
   WHILE($flag=0)    //ожидание готовности приема второго кликера
      getmessage( $lp, $wp, $flag)
      waitms(10)
   END_CYC
   
   print($n) // смотрим, что будет отправлено второму кликеру.
   //отправляем второму кликеру $n
   postmessage(197852, 2222, $n, 0) // 197852 - hwnd второго кликера
   inc($n)
   waitms(20)
   
END_CYC


halt

Code: (clickermann) [Select]
//второй кликер

FOR($a=0,$a<10)
   
   //даем знать первому кликеру, что готовы на прием данных
   postmessage(132198, 2222, 0, 0) // 132198 - hwnd первого кликера
   
   WHILE($flag=0)  //ожидание данных от первого кликера
      getmessage( $lp, $wp, $flag)
      waitms(5)
   END_CYC
   
   print($lp) //смотрим что пришло
   waitms(200)   
END_CYC

halt

в этоге, эта конструкция не работает  :( . как оказалось, если не запущенному кликеру отправить любое сообщение, то при его запуске, сообщение lparam и wparam сохраняются в памяти, а флаг isnew всегда будет равен 1 .



еще немного тестов, как оказалось, флаг isnew не всегда будет равен 1 . а только при первом опросе getmessage . так почему же не работает то что я накалякал  ??? . к вечеру в голове уже каша, позже попробую осмыслить.

Title: Re: [Alpha/Beta Testing]
Post by: Vint on November 13, 2017, 06:02:27 PM
стандартное?... видел в какой то программе, но не запомнил. ну, можно сделать и стандартное для релиза.
так то автоотступы - наше все
Стандартное. TAB перебирает в Win элементы, Shift+TAB в обратном порядке. В редакторах текстовых то же самое.

С параметром isnew это я накосячил, вроде работает.
Title: Re: [Alpha/Beta Testing]
Post by: dramster on November 13, 2017, 10:49:11 PM
[spoiler]
появилось немого времени потестить getmessage.  в дальнейшем думаю прицепить обмен сообщениями между автоит и кликерманом. пока автоита нет. попробовал обмен между двумя кликерманами. заодно, думал проверить скорость обмена. это мое первое знакомство с обменом по postmessage, поэтому, возможно, я это делаю не так как это требуется. но я именно так примерно понял как это должно работать.

суть такова, первый кликер должен отправить числа от 0 до 9 второму кликеру. второй должен принять эти сообщения.

Code: (clickermann) [Select]
//первый кликер


FOR($a=0,$a<10)
   
   WHILE($flag=0) 
      getmessage( $lp, $wp, $flag)
      waitms(10)
   END_CYC
   
   print($n) // смотрим, что будет отправлено второму кликеру.
   //отправляем второму кликеру $n
   postmessage(197852, 2222, $n, 0) // 197852 - hwnd второго кликера
   inc($n)
   waitms(20)
   
END_CYC


halt

Code: (clickermann) [Select]
//второй кликер

FOR($a=0,$a<10)
   
   //даем знать первому кликеру, что готовы на прием данных
   postmessage(132198, 2222, 0, 0) // 132198 - hwnd первого кликера
   
   WHILE($flag=0)  //ожидание данных от первого кликера
      getmessage( $lp, $wp, $flag)
      waitms(5)
   END_CYC
   
   print($lp) //смотрим что пришло
   waitms(200)   
END_CYC

halt

в этоге, эта конструкция не работает  :( . как оказалось, если не запущенному кликеру отправить любое сообщение, то при его запуске, сообщение lparam и wparam сохраняются в памяти, а флаг isnew всегда будет равен 1 .
[/spoiler]

моя ошибка, перед циклами нужно было обновить значение $flag.
Code: (clickermann) [Select]
   getmessage( $lp, $wp, $flag)
   WHILE($flag=0)    //ожидание готовности приема второго кликера
      getmessage( $lp, $wp, $flag)
   END_CYC
все норм работает, и скорость отличная  :D . в среднем 33-35мс на моем примере без задержек и print . то есть 3-4мс на передачу двух параметров.


но все же прием сообщения неработающим кликером это лишнее. я считаю, что при запуске сценария, флаг isnew должен быть обнулен. да и wParam и lParam незачем принимать значения, пока скрипт не запущен. но это не проблема, можно обойти.
Title: Re: [Alpha/Beta Testing]
Post by: i0 on November 14, 2017, 12:40:55 AM
расскажите, критических ошибок нету, в поиске картинок к примеру? а то я ток на рабочих проектах могу успеть потестить
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on November 14, 2017, 07:59:54 PM
Quote
расскажите, критических ошибок нету, в поиске картинок к примеру? а то я ток на рабочих проектах могу успеть потестить
а мне то как интересно. итак второй год без обновлений...

Quote
но все же прием сообщения неработающим кликером это лишнее.
да, определенно. в релизе поправим. как и комбинацию для shift + tab. эт мелочи.
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on November 15, 2017, 07:04:24 AM
Как на счет решения проблемы "заголовка" в оконном режиме.
https://vk.com/topic-14410794_21900056?post=60895 (https://vk.com/topic-14410794_21900056?post=60895)

(https://pp.userapi.com/c841620/v841620841/36856/Ls3LrdbN46A.jpg)
(https://pp.userapi.com/c841632/v841632841/3e399/-xKKUE_jAD4.jpg)
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on November 15, 2017, 07:14:07 AM
Обнаружил баг.

Если привязать кликер к окну а затем закрыть это окно в режиме редактора, то после отвязки редактор вподает в ступор.
Title: Re: [Alpha/Beta Testing]
Post by: SOLAR on November 15, 2017, 08:52:19 AM
Как на счет решения проблемы "заголовка" в оконном режиме.
В смещении участвует не только заголовок, но и толщина рамки. Казалось бы не велика беда сделать оффсеты по x,y. НО толщина этих рамок в разных версиях винды разная. И тут уже начинается головная боль
Title: Re: [Alpha/Beta Testing]
Post by: SOLAR on November 22, 2017, 03:21:54 PM
Заметил, что на windows7 подобная конструкция работала, а на windows 10 выскакивает ошибка интерпретации строки
Code: (clickermann) [Select]
$com_ = INT (INIREAD("..\command_file.ini","com","command"))Ошибка возникает из-за попытки выйти на каталог выше. Проверьте плз. Кусок кода написал по памяти, поэтому слеш мог поставить не правильно, но пробовал и прямой и обратный.
Title: Re: [Alpha/Beta Testing]
Post by: dramster on November 25, 2017, 12:25:27 PM
SETVAR и GETVAR не работают пока переменной не существует  :-\ , это нормально?

Code: (clickermann) [Select]
$var = 0  //без обьявления выдает ошибку.

SETVAR ("$var", 2)  //и тут
print($var)

print(GETVAR("$var"))  //и тут

halt
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on November 25, 2017, 01:15:38 PM
SETVAR и GETVAR не работают пока переменной не существует  :-\ , это нормально?

Да, и об этом написано в справке.
Quote
Примечания
К моменту вызова переменная с указанным именем должна существовать
Title: Re: [Alpha/Beta Testing]
Post by: dramster on November 29, 2017, 05:18:24 PM
у меня одного в версии 4.13.004 в режиме "редактора" падает fps рабочего стола? при этом проц не нагружается, видеокарта вроде тоже не напрягается. просто картинка начинает тормозить, будь то игра, видео, или просто при передвижении окна по рабочему столу. если закрыть редактор, все становится норм.

речь не идет о содержимом запущенного скрипта, кликер тупит систему без выполнения сценария.
Title: Re: [Alpha/Beta Testing]
Post by: Vint on November 29, 2017, 05:39:45 PM
у меня одного в версии 4.13.004 в режиме "редактора" падает fps рабочего стола? при этом проц не нагружается, видеокарта вроде тоже не напрягается. просто картинка начинает тормозить, будь то игра, видео, или просто при передвижении окна по рабочему столу. если закрыть редактор, все становится норм.

речь не идет о содержимом запущенного скрипта, кликер тупит систему без выполнения сценария.
Чем-то нагружать нужно? Если не запущено игр, то всё нормально. (Игры запустить не могу на работе)
Title: Re: [Alpha/Beta Testing]
Post by: dramster on November 29, 2017, 05:54:54 PM
Чем-то нагружать нужно?

нет, стоит только запустить прогу, открыть редактор, взять окно редактора и поводить его по рабочему столу, и сразу видно как окно перескакивает с места на место, не скользит.


как обычно, дело оказалось в стиле рабочего стола, мой любимый "Aero"  :D .  если сменить стиль, тормоза пропадают.
Title: Re: [Alpha/Beta Testing]
Post by: algirdas on December 01, 2017, 03:25:02 PM
В версии 4.13.005b инструкция типа $var = PXLcount (795,221, 939, 236, 0) в XP SP3 стала работать неправильно, на чистом белом  выдает ошибочно значения $var >0. В WIN7 x64 она работает правильно. В версии 4.13.004b инструкция работает правильно как в XP, так и WIN7.
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on December 01, 2017, 03:43:20 PM
В версии 4.13.005b инструкция типа $var = PXLcount (795,221, 939, 236, 0) в XP SP3 стала работать неправильно, на чистом белом  выдает ошибочно значения $var >0. В WIN7 x64 она работает правильно. В версии 4.13.004b инструкция работает правильно как в XP, так и WIN7.

Странно, у меня выдает 0. Сижу на XP
Title: Re: [Alpha/Beta Testing]
Post by: algirdas on December 01, 2017, 04:11:45 PM
Да, ошибся я, на один пиксел pxlcount выходил за GETSCREEN, а не внутрь уменьшался, как думал,  исправил, все заработало. Этот же ошибочный кусок взял и для теста, откуда и паника. Почему-то это сходило с рук в WIN7 и 14.13.004b.
Title: Re: [Alpha/Beta Testing]
Post by: dramster on December 01, 2017, 06:38:43 PM
Почему-то это сходило с рук в WIN7 и 14.13.004b.
Потому, что в 004b не работали параметры getscreen, снимок делался целогоэкрана.
005b при запуске сразу помещает снимок экрана в буфер, далее его можно обновлять гетскрином (так у меня в вин10). В старых версиях же изначально в буфере темнота.
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on December 04, 2017, 08:51:54 PM
Как на счет решения проблемы "заголовка" в оконном режиме.

Починено. Там вообще не очень корректно работало.

v4.13.006b

http://rgho.st/7NMC8qtZk

так же добавлены две сис переменные $_date_str и $_time_str для вполне очевидных целей
Title: Re: [Alpha/Beta Testing]
Post by: h31p on December 05, 2017, 05:19:09 PM
Как на счет решения проблемы "заголовка" в оконном режиме.

Починено. Там вообще не очень корректно работало.


сорри, в 006b что-то тоже "не тавой"..

было подобное, гетскрин привязаного внутри окна браузера flashplayer иногда давал результат как без привязки (браузер передвинут в 0,0), но размером с сам флэш, и где пространство браузера - пустота, т.е. изображение флэша сдвинуто вправо-вниз и обрезано нижним правым углом до размеров флэша без глюка. причём, если чуть подождать и повторить гетскрин - уже всё нормально. аналогичным образом "прыгало" изображение флэша и в лупе редактора при включенной привязке.
не был уверен, что случай не индивидуальный (в частности, у меня 125% скалинг интерфейса винды и во флэше включено аппаратное ускорение, чего делать вроде как не рекомендуется) поэтому не поднимал вопрос на форуме, а выкрутился обёрткой:

Code: [Select]
sub(safegs,$sgs_cm)
 $t_sgs=0
 for($t_i=1,(($t_i<15)&($t_sgs=0)))
  waitms(100*$c_slow)
  getscreen
  $t_sgs=pxlxor(1,10,1,10)
 end_cyc
 colormode($sgs_cm)
 if($t_i>10)
  print("=== warning, ",$t_i," getscreen tries")
  screenshot("bad-gs-")
 end_if
end_sub

до 005b спасало на ура, до bad-gs-ххх доходило ооочень редко, единицы за несколько месяцев.

поставил 006b, сделал один тестовый прогон - всё нормально. ок, оставил на ночь. на утро - 112 однотонных последовательных bad-gs-ххх размером 41736 х 2933 (и, соответственно 467 мб штука :) )
причём, судя по логам скрипта, он несколько раз таки отработал нормально, но в какой-то момент стал слепым и наплодил вот таких монстров.

P.S.: раз добрался, опишу ещё один недочёт, который стал наблюдаться с 005b - иногда не ловится hwnd по тайтлу. тайтл - абсолютно статический. тоже пришлось обернуть:

Code: [Select]
for($t_i=0,(($t_i<10)&($sw=0)))
 waitms(100)
 $sw = wndfind("заголовок")
end_cyc

по 004b включительно это не требовалось, глюк не проявлялся ни разу.
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on December 05, 2017, 06:42:59 PM
до 006 getscreen с привязкой захватывал не целевой элемент (как воще т задумывалось) а все родительское окно. поэтому появлялись сдвижки графики равные всяким панелям, рамкам, заголовкам. в 006 захватывается только тот элемент интерфейса к которому была привязка.

посмотрю что там может разростить на пицот мегабайт. возможно где то утечка памяти. а возможно все и правда индивидуально весьма. оконный режим - вещь такая, в себе.
Title: Re: [Alpha/Beta Testing]
Post by: h31p on December 05, 2017, 07:23:59 PM
до 006 getscreen с привязкой захватывал не целевой элемент (как воще т задумывалось) а все родительское окно. поэтому появлялись сдвижки графики равные всяким панелям, рамкам, заголовкам. в 006 захватывается только тот элемент интерфейса к которому была привязка.

заглянул ради интереса на 006 снова лупой редактора - так и скачет. выглядит это так (gif):

(https://vgy.me/fFpbyr.gif)

т.е. изображение на долю секунды "съезжает" вправо и вниз (чётко на расстояния от 0 до края флэша без привязки), затем "возвращается" обратно. закономерности во времени появления таких скачков не наблюдается, интервалы абсолютно разные.
а, и забыл сказать - без привязки никаких скачков нет, всё всегда где должно быть.

Quote
посмотрю что там может разростить на пицот мегабайт. возможно где то утечка памяти.

ага, плиз, а то страшно надолго оставлять стало :)
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on December 13, 2017, 07:08:35 PM
Как на счет решения проблемы "заголовка" в оконном режиме.

Починено. Там вообще не очень корректно работало.

v4.13.006b

http://rgho.st/7NMC8qtZk

так же добавлены две сис переменные $_date_str и $_time_str для вполне очевидных целей

v4.13.007

Так, тут кароче выяснилось что дело было не в бобине. А в некорректной работе WinAPI применимо к нашим целям.
Вернул что сломал. Теперь графика не должна съезжать на размер шапок рамок

http://rgho.st/6P7Rjb6Mw

Надо уже разобраться с этой фигней и к НГ выкатить обновление. Ребята два года ждут уже.

p.s. что касается поведения флеш плеера когда он становится весь черный - так было всю дорогу. возможность получения графики в оконном режиме исключительно на совести разработчиков принимающей стороны
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on December 13, 2017, 08:50:24 PM
Так, тут кароче выяснилось ...

Да теперь все ровно. Однако ступор редактора после исчезновения привязанного окна все еще остается.
Title: Re: [Alpha/Beta Testing]
Post by: algirdas on December 14, 2017, 10:39:39 AM
Нельзя ли в этой прекрасной программе для ускорения поиска нужного куска в длинном тексте сделать некоторые разделители разноцветными, напр.  //+++++ подсвечивать красным цветом, //~~~~~~ - синим, //*** - желтым, оставляя остальные, как и сейчас, зеленым.
Title: Re: [Alpha/Beta Testing]
Post by: Vint on December 14, 2017, 04:15:17 PM
А вот то что старые переменные  $_xmax и $_ymax по прежнему сжирают по одному пикселю в уплату за свою работу - огорчило.
А что с ними не так? Всё правильно, максимальные координаты x,y (не размер экрана).
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on December 14, 2017, 05:39:28 PM
И до кучи хотелось, бы  поддержка файла qinsert_menu большего размера, так как он очень маленький и многие  полезные команды в него уже не влезают, если файлы большего размера не поддерживаются, тогда ещё одно меню куда пользователи будут сохранять личные команды.
Чего?  :o
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on December 14, 2017, 06:06:54 PM
впервые слышу. по задумке они так то безразмерными должны быть. Oraven вон их допиливает постоянно.
и уж точно нигде жестких границ не задавалось. у нас даже размер истории открытых файлов можно подстраивать.
а можно файл который не смог не влез? потестирую погоняю. да и вдруг там просто где то синтаксис запорот, скобочку забыл или символ какой
Title: Re: [Alpha/Beta Testing]
Post by: Vint on December 14, 2017, 06:42:59 PM
А системную переменную с номером версии ввели?
Title: Re: [Alpha/Beta Testing]
Post by: Cleoss on December 25, 2017, 01:23:58 AM
Появление версии 4.13.4 я проспал. И даже не заметил, когда изменились и дополнились операторы сравнения:

Неравно
!=
Больше или равно
>=
Меньше или равно   
<=

Печалька, что ! поменяли на !=, что теперь делать (переходить ли на новую версию и править скрипты или подождать поправок)? А ведь было чуть легче, если б была переменная с кодом версии кликера:

Code: (clickermann) [Select]
if($_ver>="4.13.4")
   if($a!=$b)
else
   if($a!$b)
end_if
      $a=1
   else
         if($_ver>="4.13.4")
            if($a!=$c)
         else
            if($a!$c)
         end_if
            $a=0
      end_if
else
   $a=2
end_if

Но в идеале хорошо б, если интерпретатор сам понимал "старые" выражения как надо и не давал ошибок, чтоб не плодить горы лишнего кода.

Ещё б не плохо оператор return, который бы определял, какое значение возвращает функция-подпрограмма. Ну и брейк для выхода из цикла можно добавить заодно.

Code: (clickermann) [Select]
sub(func,$par)
   $a=5*$par
   return $a
end_sub

// Было:
func(3)
print($a+2)

// Стало бы:
print(func(3)+2)

Но добавление "Меньше/Больше или равно" это всё-таки прогресс. Жалко вот ещё, что strreplace обрабатывает/заменяет только первое вхождение, а не все.

PS. Оказывается, пропустил я не только 4.13.4бетку, но и 4.13.7)) Сразу захотелось узнать, будет ли конструкция вида if ("4.13.4"<=$_ver<"4.13.7") работать)) Ну а чё, стандартный такой себе математический диапазон, с коим все мы сталкиваемся в школе или вузе.

..а на windows 10 выскакивает ошибка интерпретации строки
Code: (clickermann) [Select]
$com_ = INT (INIREAD("..\command_file.ini","com","command"))Ошибка возникает из-за попытки выйти на каталог выше. Проверьте плз. Кусок кода написал по памяти, поэтому слеш мог поставить не правильно, но ..

Может, дело в имени переменной $com_ (заканчивается не на букву)? Сам я ешё не тестил пока ничего новее 4.13.3, завтра возможно исправлюсь.

у меня одного в версии 4.13.004 в режиме "редактора" падает fps рабочего стола? при этом проц не нагружается, видеокарта вроде тоже не напрягается. просто картинка начинает тормозить, будь то игра, видео, или просто при передвижении окна по рабочему столу. если закрыть редактор, все становится норм.

речь не идет о содержимом запущенного скрипта, кликер тупит систему без выполнения сценария.

Первое, что приходит в голову, это лупа (либо отключаем когда не нужна, либо понижаем скорость обновления в конфиге). У меня бывал глюк после пользования лупой, что либо окно редактора становилось чёрным, либо элементы интерфейса главной формы &mdash; не прорисованными (вплоть до переразворачивания).
Title: Re: [Alpha/Beta Testing]
Post by: dramster on December 25, 2017, 02:14:11 AM

Печалька, что ! поменяли на !=, что теперь делать (переходить ли на новую версию и править скрипты или подождать поправок)? А ведь было чуть легче, если б была переменная с кодом версии кликера.

да, переменная с версией это давно пора, и предлагали ранее.

как вариант (сам не тестировал), можно попробовать с #define

пример редактирования скрипта под версию 4.13...
Code: (clickermann) [Select]
#define !: !=


if(1 ! 0)
   print("да, !")
else
   print("нет, !")
end_if
halt

но нужно учитывать, что все строки с восклицательным знаком также добавят к себе "=" . данный пример работает на 13.006 корректно, кроме "да, !=" в логе  :D.


насчет пользовательских функций также уже давно обсуждалось. было бы здорово.
http://crapware.aidf.org/forum/index.php?topic=2108.0
Title: Re: [Alpha/Beta Testing]
Post by: Cleoss on December 25, 2017, 02:25:11 AM
данный пример работает на 13.006 корректно, кроме "да, !=" в логе  :D.

Сорян, Драмчег, пока я написал тебе ответ выше, ты меня уже опердил))
Title: Re: [Alpha/Beta Testing]
Post by: dramster on December 25, 2017, 02:42:26 AM

у меня одного в версии 4.13.004 в режиме "редактора" падает fps рабочего стола? при этом проц не нагружается, видеокарта вроде тоже не напрягается. просто картинка начинает тормозить, будь то игра, видео, или просто при передвижении окна по рабочему столу. если закрыть редактор, все становится норм.

речь не идет о содержимом запущенного скрипта, кликер тупит систему без выполнения сценария.

Первое, что приходит в голову, это лупа (либо отключаем когда не нужна, либо понижаем скорость обновления в конфиге). У меня бывал глюк после пользования лупой, что либо окно редактора становилось чёрным, либо элементы интерфейса главной формы &mdash; не прорисованными (вплоть до переразворачивания).

да не, не изза лупы это, я там далее сам потестил и понял в чем загвоздка http://crapware.aidf.org/forum/index.php?topic=356.msg24857#msg24857
и это начиная именно с версии 4.13 и выше. сильно не напрягает, так как скрипты то в основном запускаются с главного окна (не с редактора). просто заметил кой какой косячек.

[spoiler=вот в чем дело :)]черт подери, может Johnny встроил майнер в кликер  :o  ;D . при майнинге видеокартой какраз таки фпс раб. стола падает, только намного сильнее.
на заметку Johnny для новых версий  ;). [/spoiler]
Title: Re: [Alpha/Beta Testing]
Post by: Cleoss on December 25, 2017, 02:59:31 AM
[spoiler=вот в чем дело :)]черт подери, может Johnny встроил майнер в кликер  :o  ;D
на заметку Johnny для новых версий  ;). [/spoiler]

Идея годная, больше 1000 голов уже есть, пора монетизировать!  :D

А ваще Аэро лупе не помеха, одно может помогать другому тормозить.
Ну и майнин в простое -__-

По ходу и задумка с #дефайном неплохое быстрое решения, я уж и забыл про него, хотя перед переходом на новый движок надо малость потестить завтра и оценить все про да контра.

Захотелось ещё вот кратко набросать список нововведённых функций:
[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 возвращать и дату изменения файлов/папок, а не только их имена? Допустим даже через несколько скрытых параметров (один ключ = нужны ли пользователю даты или нет, второй = формат возвращаемой даты).

Мои пометки к новой справке:

Quote
+ Доработка READMEM(), теперь функция
Теперь функция, а раньше тогда что это было? Или тут недописано?

Quote
+ Отказ от библиотеки httpwork.dll
Это ещё зачем? и повлияет ли это на выпил httpGet?
У меня и так обращение по протоколу https: вешает намертво х64-версию КЛМН, то же происходит и от многих других сайтов при работе х32 с этой функцией. А многие http-сайты (не засекьюренные) возвращают увы только пустую строку, несмотря на весь мощный потенциал этой фишки. То есть в большинстве случаев она либо виснет, либо отдаёт "".

Quote
+ Исправление ряда проблем с кавычками в возвращаемых строках
+ Исправление ряда багов потоков
+ Предупреждение об отсутствии файла в #include
За это отдельное спасиб, потестим! Не лишним было б и предупреждение о недостающем гетскрине, по аналогии (для любителей искать чёрную кошку на чёрном экране, к коим относится и ваш слуга)).

Quote
+ Исправление GETFILELIST()
+ Исправление GETDIRLIST()
А что там было не так?

Еще кажется, из хелпы было удалено, что имя переменной после доллара должно начинаться с буквы, но не цифры. Упростились требования к имени?

Quote
RNDFROM
Функция. Возвращает случайно выбранное число из заданного набора.
Разве функция не может возвращать строки из указанного набора?

Quote
ARRSORT
Сортирует элементы массива по возрастанию.
Пока не судьба потестить функцию, но уже интересно: сортируются ли значения и по алфавиту или только числа по возрастанию? Соблюдается ли "натуральный порядок" при сортировке? Например: 1,2,3,10,100 вместо 1,10,100,2,3. Будет ли в функции создан ключ для удаления дублей строк/чисел или хотя бы функционал для маркироовки дублей (напр., временный массив с позициями дублирующихся строк)? Ешё мелочь, но спрошу: если будет фильтрация дублей, то будет ли фильтр регистро(не)зависимым или по выбору?

Quote
STRPOS
Функция. Возвращает позицию начала искомой подстроки во входной строке.
Та же байда, что и со стринг-реплейсом: работает только с первым элементом вместо того, чтоб создать массив позиций всех найденных строк.

Quote
CHAR
Функция. Возвращает символ по его коду.
Работает только с ascii-диапазоном? Или поширее?

Quote
SETKBLAYOUT
Устанавливает языка ввода (раскладки) в конкретном окне.
Можно к примеру в справке указать что для русяза код равен 1049.

Quote
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]

Quote
SCREENSHOTFIX
По-прежнему, данная команда так и не появилась в гиперссылочном содержании вверху страницы раздела "Анализ экрана". Также у функции в справке неправильно описан синтаксис -- очевидно, он взят из SCREENSHOTEX, а надо так:
SCREENSHOTFIX(x1, y1, x2, y2, path, [format])
То есть в описании отсутствует обязательный параметр PATH с указанием пути к файлу перезаписываемой картинки, хотя пример к функции предподнесён правильно.
Ещё такой попутный квешн: раз кликер меняет применяемую к jpeg-скринам компрессию только при перезагрузке проги, можно ли его заставить как-либо перечитать настройки из конфига без перезапуска?

Quote
$_date_str
$_time_str
Их пока что не нашёл в справке, во "Введении". Типа возвращает строку с наконкатенированными циферками и разделителями?

Quote
LOGSHOW (show, [x, y] )
Может, добавить ещё две факультативные координаты в параметры, чтоб можно было задавать и размер лога на экране?

Quote
EXECUTE (filename, [param] )
Он больше не переводит самопроизвольно передаваемые в кавычках параметры в верхний регистр?

Quote
GETMESSAGE (wParam, lParam, [isnew] )
Для меня это всё тёмный лесъ, как и ридмем/райтмем)) Нужно хотя б с десяток реальных, полезных, насущных примеров применения, самых т. с. не в бровь, а в глаз, с протейшими вещами, которые можно сотворить с этими командами. Но вот идея Драмстера обмениваться ментально флагами состояния с другой копией кликера мне оч понра. А можно например посылая мессидж без привязки к окну, закрывать/ сворачивать/ менять текст элементов? И можно ли менять текст элементов окна путём записи чрез команду writemem?

Кроме всяких туда-сюда снующих и вечно всплывающих жучков (не в последнюю очередь благодаря большому поддерживаемому diversity функций кликера, что несомненно есть немалый плюс), слабым местом является слабая представленность интерфейсеых функций. Вот в 2016-ом, относительно недавно, была добавлена RADIOBOX, как она удобна и как бы я без неё жил! Но вот некоторых элементов для создания элементов интерфейса кликеру имхо явно не хватает:
1) Создание из скрипта формы произвольной, конфигурируемой формы и размера (простите за тавтологию) + создание на этой форме любого количества кнопок опять же произвольного, задаваемого в скрипте размера
2) Возможность выводить полученную в графическом буфере либо из файла картинку в любом месте экрана и с любой прозрачностью, в том числе использовать выводимые картинки в виде фона для кнопок из пункта 1

То есть по сути нужен пяток простых, но крутых новых функций:

Возможно, чтоб не вводить диссонанс в большой список параметров и не путать отсутствующие параметры с имеющимися, можно было б организовать парсинг параметров путём задания их синтаксиса в виде пар, к примеру так:
drawtext(string="MyText", size=18)

Это будет не плохой шажок навстречу АвтоИту по созданию интерфейсов программок -____- Так недалеко и до регекспа.
Title: Re: [Alpha/Beta Testing]
Post by: dramster on December 25, 2017, 03:35:33 AM
потестировал те самые, загадочные $_xmin $_ymin. как и все догадывались, они показывают отрицательные значения координат при расположении дополнительного монитора левее или выше основного.

и даже при таком расположении экранов
(https://i.imgur.com/IKMwWF1.png)
переменные возвращают правильные значения (отрицательные $_xmin/$_ymin и положительные $_xmax/$_ymax) .

но, видимым этот дополнительный монитор не становится. потестил с разными расположениями мониторов. как оказалось, пока основной монитор не будет выше (либо равно) и левее (либо равно) дополнительного, то правильного скрина не будет. вкратце, если одна из переменных $_xmin или $_ymin будет меньше нуля, то скриншот экрана страдает. основной монитор в таком случае находится в верхнем левом углу всего скриншота, а все остальное - черное.
Title: Re: [Alpha/Beta Testing]
Post by: Vint on December 25, 2017, 12:02:51 PM
Quote
+ Доработка READMEM(), теперь функция
Теперь функция, а раньше тогда что это было? Или тут недописано?
Дописано. А раньше была не функция  :D
Команда/оператор, вызывалась READMEM(), результат возвращался в $_return1
Теперь это функция и вызывается типа так:
$result = READMEM()

Quote
STRPOS
Функция. Возвращает позицию начала искомой подстроки во входной строке.
Та же байда, что и со стринг-реплейсом: работает только с первым элементом вместо того, чтоб создать массив позиций всех найденных строк.
Всё нормально, для "поиска всех" обычно существует другая команда. Чтобы тупо не тратить время на поиск в больших строках того, что часто нельзя использовать. Даёшь STRPOSALL!!!
Именно в таком виде (поиск первого) она чаще всего и используется. Потом могут идти изменения строки и все остальные позиции будут не актуальны.

1) Создание из скрипта формы произвольной, конфигурируемой формы и размера (простите за тавтологию) + создание на этой форме любого количества кнопок опять же произвольного, задаваемого в скрипте размера
:) Ты просто не представляешь сколько это функций, параметров и режимов. Для простоты - это больше чем сейчас есть в кликере всего остального.

Регексп, кстати, проще прикрутить. Это сторонние модули.
Title: Re: [Alpha/Beta Testing]
Post by: Cleoss on December 25, 2017, 05:18:22 PM
Вчера обнаружил во время попыток запустить новые релизы в свойствах исполняемого файла вот такую новую галочку:
(https://image.prntscr.com/image/jDeQzZ91RIKzNADXrpNV9g.png)
Установка галочки никак не повлияло на возможность запуска. Тесты совместимости тож не помогли, добавил в деп-список, теперь нужен ребут.

Quote
STRPOS
Функция. Возвращает позицию начала искомой подстроки во входной строке.
Та же байда, что и со стринг-реплейсом: работает только с первым элементом вместо того, чтоб создать массив позиций всех найденных строк.
Всё нормально, для "поиска всех" обычно существует другая команда. Чтобы тупо не тратить время на поиск в больших строках того, что часто нельзя использовать. Даёшь STRPOSALL!!!
Именно в таком виде (поиск первого) она чаще всего и используется. Потом могут идти изменения строки и все остальные позиции будут не актуальны.
"Даёшь STRPOSALL!11"? Намекаешь, что в реале эта команда никогда и никем не используется? И что вот, каждый раз в цикле заново искать? "Потом могут идти изменения строки и все остальные позиции будут не актуальны" -- я подозревал об этом, когда пытался в уме себе представить работу функции, но допускал, что в реальности дела получше, а что, разве нельзя к полученнным найденным индексам позиций прибавлять смещения на количество добавляемых/вставляемых символов? Ведь их число мы всегда знаем или можем подсчитать.

1) Создание из скрипта формы произвольной, конфигурируемой формы и размера (простите за тавтологию) + создание на этой форме любого количества кнопок опять же произвольного, задаваемого в скрипте размера
:) Ты просто не представляешь сколько это функций, параметров и режимов. Для простоты - это больше чем сейчас есть в кликере всего остального.

Регексп, кстати, проще прикрутить. Это сторонние модули.

Ну а что, эволюцирнировать-то надо  :) Рано или поздно всё равно это всё появится, а щас вижу пошёл у нас весёлый период экспериментов и устранения багов/ добавления новых плюшек, я токк за! С регулярками подозреваю, что было б просто, так Джонни б уже прикрутил, а так надо будет ещё их сравнивать/ тестить на предмет больших перловой поддержки и вменяемого АПИ, чтоб после введения regEx не отвалилась работа строчных функций. Хотя даст бог, и кавычки станут на место)) Так что мож щас и время пришло для начала введения создания формочек, ну не сразу все функции вводить, а постепенно, но с сохранением бек-компатибили, не так как с != вышло, а то скоро такими темпами и === заступят на дежурство.
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on December 30, 2017, 04:47:39 PM
Ошибка при сравнении строк с числами v4.13.007
Code: (clickermann) [Select]
if(1="text")
   print("стаботало")
end_if
halt
Title: [Alpha/Beta Testing]
Post by: Cleoss on January 01, 2018, 02:28:24 AM
Ошибка при сравнении строк с числами v4.13.007

Почему только строк? На сравнении двух чисел тож спотыкается (http://crapware.aidf.org/forum/index.php?topic=3705.msg25270#msg25270). Ну ведь результат, возвращаемый ф-цией ArrSize, это число, верно? Подозреваю, собака порылась в новых матоператорах, а не в ифе. Оказывается, пытался запихнуть в ячейку с помощью $uniqz[0]=$curr, и понял свою тупость только после тестирования в 4,13,3. Кстати, почему не сделать рабочей эту тему схему присвоения $array[$idx]=$defvar?! .....Хотя стоп, поменял $uniqz[0]=$curr на соответствующий arrpush($uniqz[0],$curr), но дело не сдвинулось, иф не выполняется как положено. Даже в 4,13,3 не работает, наверно мой загон закрался... Почему arrpush($uniqz,$curr) можно присваивать, а arrpush($uniqz[0],$curr) нельзя?  :'(

Ещё заметил, что "блокируемый" ввод в редактор при исполнении скрипта вовсе не блокируется с клавиатуры, точнее, блокируется, но.. В общем я сделал очередной скрипт с while+iskeydown и бесстрашно жал хоткеи прям с фокусом на редакторе, а потом через какое-то время заметил, что некоторые части строк в скрипте хаотично перемешались. Не наю, может причина не в блокировке, но покрайняку нажатия в редактора шли и возможно некоторые он не обработал или сделал это не верно. В общем, пришлось потерять несколько минут на устранение мешанины (это ещё скриптик небольшой был и был предыдущий сейв, слегка отличающийся от кода в эдиторе). Было такое кстать несколько раз, три раза в 2-х скрипта, кажися.

ПСы. Ой чуть не забув, аррСорт тож не робит (http://crapware.aidf.org/forum/index.php?topic=3704.msg25259#msg25259) у мя.
Title: Re: [Alpha/Beta Testing]
Post by: i7330 on January 01, 2018, 01:52:48 PM
функции Кликермана после релиза 4.13.3b
Clickermann осваиваю недавно, использую 4.12.001 (http://crapware.aidf.org/files/7/)  (2 008 780 байт). Хотелось бы сразу разбираться и вникать в свойства и методы наиболее поздней, пусть даже нестабильной, версии. Если такая возможность для новичков существует, то откуда её (последнюю версию) загрузить?
Title: Re: [Alpha/Beta Testing]
Post by: Cleoss on January 01, 2018, 03:02:56 PM
функции Кликермана после релиза 4.13.3b
Clickermann осваиваю недавно, использую 4.12.001 (http://crapware.aidf.org/files/7/)  (2 008 780 байт). Хотелось бы сразу разбираться и вникать в свойства и методы наиболее поздней, пусть даже нестабильной, версии. Если такая возможность для новичков существует, то откуда её (последнюю версию) загрузить?

В самом низу 26-ой страницы данной темы товарищ Челледжер ака автор программы скидывал линк на версию Clickermann 4.13.007, here u have.
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on January 02, 2018, 05:08:13 PM
функции Кликермана после релиза 4.13.3b
Clickermann осваиваю недавно, использую 4.12.001 (http://crapware.aidf.org/files/7/)  (2 008 780 байт). Хотелось бы сразу разбираться и вникать в свойства и методы наиболее поздней, пусть даже нестабильной, версии. Если такая возможность для новичков существует, то откуда её (последнюю версию) загрузить?

Вот полная сборка последней версии Clickermann 4.13.007b
https://yadi.sk/d/hyLYf0_23QgUfn (https://yadi.sk/d/hyLYf0_23QgUfn)
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on January 02, 2018, 07:47:03 PM
Ошибка при сравнении строк с числами v4.13.007
Code: (clickermann) [Select]
if(1="text")
   print("стаботало")
end_if
halt

ну вываливаться оно конечно не должно, но чисто концептуально:
вот к примеру условие 1 = "1" что должно вернуть? истину или ложь?


Quote
Clickermann осваиваю недавно, использую 4.12.001  (2 008 780 байт). Хотелось бы сразу разбираться и вникать в свойства и методы наиболее поздней, пусть даже нестабильной, версии. Если такая возможность для новичков существует, то откуда её (последнюю версию) загрузить?
у нас тут клуб перфекционистов. дай бог году к 2020 выкатим релиз. а пока тыщи активных пользователей продолжат страдать и ждать версию х64


Quote
Почему arrpush($uniqz,$curr) можно присваивать, а arrpush($uniqz[0],$curr) нельзя?
потому что первый аргумент - имя массива. $uniqz[0] же является уже ссылкой на его первый элемент. в справке так то написано.
Title: Re: [Alpha/Beta Testing]
Post by: i7330 on January 02, 2018, 10:21:00 PM

ну выва... условие 1 = "1" что должно вернуть? истину или ложь?
Истину! На худой конец -1 (минус единицу, эквивалент true). Именно простотой своей макроязык Clickermann-а в его текущем состоянии увлекателен, обаятелен, очарователен и притягателен.. наверное.

у нас... дай бог году к 2020 выкатим релиз. а пока тыщи активных пользователей продолжат страдать и ждать версию х64
Не страдать (Win 10 64x + 4.12.001  (2 008 780 (http://crapware.aidf.org/files/7/) байт) - полёт нормальный), но терпеливо ожидать специализированной для х64 - это факт; хотя какие преимущества - по существу непонятно.

- Почему arrpush($uniqz,$curr) можно присваивать, а arrpush($uniqz[0],$curr) нельзя?
- потому что первый аргумент - имя массива. $uniqz[0] же является уже ссылкой на его первый элемент. в справке так то написано.
Спросив, вложенные? массивы что ли... предполагаются Cleoss (http://crapware.aidf.org/forum/index.php?action=profile;u=3865)-ом в #412 (http://crapware.aidf.org/forum/index.php?topic=356.msg25271#msg25271)


И от себя вопрос:
- Продолжающаяся разработка Clickermann кроме:
Quote
Плагины представляют собой стандартную DLL библиотеку с одной единственной экспортной функцией... Техническая реализация... Все что вам необходимо знать - это формат экспортной функции, которую вызывает кликер. Она выглядит так в стандарте С++:

int execute(int* _arr, int _size)

То есть... Данный подход позволяет передать в плагин практически неограниченное количество параметров. В кликере вызов плагина реализуется следующим (к примеру) образом:

CALL("plugin.dll", 1, 2, 3)
print("result: ", $_return1)

Инструкции CALL передается любое число... его функция вернет свое значение в системную переменную $_return1.
предполагает? ли добавление иных интерфейсов? для последующей интеграции, скажем: а) функции чтения Command Line Parameters (https://www.autoitscript.com/autoit3/docs/intro/running.htm#CommandLine) переданных при запуске Clickermann, б) внутренние ActiveX/COM (https://www.autoitscript.com/autoit3/docs/intro/ComRef.htm) и внешние (http://www.script-coding.com/AutiItX.html) интерфейсы, в) может быть чего-то в таком направлении следует ожидать? Собственно, чем х64 к 2020-му году, мне хочется более прямой интеграции с javascript-ом браузеров.

Я недавно на форуме, однако прошу: насколько это возможно оперативнее рассмотреть предложенные мной ссылки, дабы ими не нарушить сложившейся приятной, ламповой атмосферы этого форума.




Вот полная сборка последней версии Clickermann 4.13.007b...
Годно! Благодарю, загружено ;)
Title: Re: [Alpha/Beta Testing]
Post by: Vint on January 02, 2018, 11:22:55 PM
Истину! На худой конец -1 (минус единицу, эквивалент true).
Вот и JS-теры подкатили  :) Господь с вами, какую истину. И иж тем более откуда такой "худой конец"? Кто здесь поймет эти заморочи и главное, зачем их сюда тащить?
Ни в коем случае не истина и тем более -1 (разрешите полюбопытствовать в каких языках -1 это истина. Так, для себя, чтоб держаться от них подальше).

Раз у нас динамическая типизация. Предлагаю не выдумывать велосипед и в условиях содрать сделать так:
Все числа кроме 0 это True, 0 - False.
Все не пустые строки True, пустые "" - False.
Если логические операнды числа - здесь всё понятно.
Если строки = - полное соответствие, != понятно, < > предлагаю варианты или классическое лексикографическое сравнение или более полезное в кликере по длине строк.
Если логические операнды разных типов - это всегда False!
Никакие неявные преобразования типов не происходят.
Title: Re: [Alpha/Beta Testing]
Post by: Cleoss on January 03, 2018, 05:42:49 AM
Раз у нас динамическая типизация. Предлагаю не выдумывать велосипед и в условиях содрать сделать так:
Все числа кроме 0 это True, 0 - False.
Все не пустые строки True, пустые "" - False.
Если логические операнды разных типов - это всегда False!
Никакие неявные преобразования типов не происходят.

Тогда почему б не заиметь хоть парочку операторов функций для приведения на случай всяких эксепшнов?! Смутно помнится, они даже были раньше в кликере, но по (не)понятным причинам выпилены вместе с delvar. Хотя мб они работают недокументированно?)) Вон трейсей норм ся чувствует. Всего-то и нужно, что tostr/tofloat. И может ещё проверялку для необъявленной переменной?) Не кошерно возвращать ноль из ничего)) Чтот вроде if($quantity!=_nill). А вот if($string) для заданной строки БЕЗ сравнения это вполне себе по-яваскриптовому бодро, в птинципе таким же макаром можно было б и необъявленную выявлять. А то ужо дожились: неизвестно какие типы у ячеек массива и с чем их опосля сравнивать, какой огород нужен)
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on January 03, 2018, 01:47:48 PM
у нас... дай бог году к 2020 выкатим релиз. а пока тыщи активных пользователей продолжат страдать и ждать версию х64
Не страдать (Win 10 64x + 4.12.001  (2 008 780 (http://crapware.aidf.org/files/7/) байт) - полёт нормальный), но терпеливо ожидать специализированной для х64 - это факт; хотя какие преимущества - по существу непонятно.
корректное отрабатывание оберток для функций, взаимодействующий со сторонными приложениями и системой через WinAPI, например.
х32 приложение не может полноченно существовать в х64 системе и работать даже с банальный х64 блокнотом


Спросив, вложенные? массивы что ли... предполагаются Cleoss (http://crapware.aidf.org/forum/index.php?action=profile;u=3865)-ом в #412 (http://crapware.aidf.org/forum/index.php?topic=356.msg25271#msg25271)
на случай если кто до сих пор не понял. если что то не всунуто в кликер, то это я тупо не знаю как воткнуть это что то в уже существующие реалии. а не потому что я вредный.
не боги горшки обжигают как бы и я кликер пишу на нормальном ЯП в соверменной среде и тимею понимание как должен выглядеть инстурмент.
мне вообще все больше импанирует идея что пора все переписывать по новой, потому что архитектура "четверки" уже упирается макушкой в потолок. с другой стороны писать клон AutoIt мне никогда не хотелось.


Quote
Плагины ...

были введены в бородатом году как решение для довольно скудного на то время функционала. я вообще не знаю пригодилось ли это хоть раз потмоу что имхо тем кто может понять что там написано и как собратьс вою DLL кликер то собственно особо и не нужен.
идея кстати с получением параметров вызова довольно интересная но на практике что она может дать? ну у нас как бы итак параметр анализируется, позволяя одним щелчком запускать скрипт. а кроме того что?


Title: Re: [Alpha/Beta Testing]
Post by: Johnny on January 03, 2018, 01:52:08 PM
Раз у нас динамическая типизация. Предлагаю не выдумывать велосипед и в условиях содрать сделать так:
Все числа кроме 0 это True, 0 - False.
Все не пустые строки True, пустые "" - False.
Если логические операнды разных типов - это всегда False!
Никакие неявные преобразования типов не происходят.

Тогда почему б не заиметь хоть парочку операторов функций для приведения на случай всяких эксепшнов?! Смутно помнится, они даже были раньше в кликере, но по (не)понятным причинам выпилены вместе с delvar. Хотя мб они работают недокументированно?)) Вон трейсей норм ся чувствует. Всего-то и нужно, что tostr/tofloat. И может ещё проверялку для необъявленной переменной?) Не кошерно возвращать ноль из ничего)) Чтот вроде if($quantity!=_nill). А вот if($string) для заданной строки БЕЗ сравнения это вполне себе по-яваскриптовому бодро, в птинципе таким же макаром можно было б и необъявленную выявлять. А то ужо дожились: неизвестно какие типы у ячеек массива и с чем их опосля сравнивать, какой огород нужен)

вот этого говна мы старательно избигаем. никаких заморочек по поводу типов данных и инициализации переменных у нас быть не должно.
задача написать С++ на Delphi у нас никогда не стояла. у нас на первом месте всегда была нубоориентированность.
мы тут конечно все уже спецы, но вот остальные тыщи пользователей - не очень

рано или поздно конечно начнется мракобесие с сортами целых чисел, без которого на самом деле даже DLL корректно не вызвать. но пока - не.
надо просто допилить инструмент для самых маленьких и решите уже наконец сколько будет 1 = "1"
Title: Re: [Alpha/Beta Testing]
Post by: i7330 on January 03, 2018, 07:14:58 PM

с другой стороны писать клон A##t мне никогда не хотелось.
Позвольте.. Clickermann - не клон, отнюдь. Ваши слова: "вот этого... мы старательно избигаем. никаких заморочек по поводу типов данных и инициализации переменных у нас быть не должно... у нас на первом месте всегда была нубоориентированность", (#421) - а так же моё участие в этом форуме тому в подтверждение. Ваш Clickermann - самодостаточный проект. В чём-то похожий на множество других, не спорю; но другой, самобытный и развивающийся. Отличный проект, короче.

идея ... с получением параметров вызова ... на практике что она может дать? ну у нас как бы итак параметр анализируется, позволяя одним щелчком запускать скрипт. а кроме того что?
Интеграция с другими макрос-языками, например bat(cmd,vbs,js)-скрипты. Да с чем угодно, даже из 1С 7.7, к примеру будет возможно сделать скрин области экрана и пр. всего 1-ной командой:
КомандаСистемы("clickermann.exe getScreen.cms 100 100 800 600 screenshot.jpg"); -- разумеется, в getScreen.cms (без параметров, даже сейчас) можно командами INIREAD, TFREAD, TFREADARR  выкручиваться через файл(-ы), но это: 1) снижает отклик, 2) нагружает файловую, 3) раздувает скрипт-источник командами сохранения в файл. Впрочем, извиняюсь.. это пожалуй действительно не самое необходимое.

Quote from: Johnny
решите уже наконец сколько будет 1 = "1"
Голосую: истинно
Code: (clickermann) [Select]
// Файл констант Clickermann
// --- Логика ---
#TRUE   1
Title: Re: [Alpha/Beta Testing]
Post by: i7330 on January 03, 2018, 08:44:52 PM
Ещё идея, но тоже в плане бреда.. хочется дерективу #icon

Code: (clickermann) [Select]
#icon "vote_yes.png" // vote_yes.bmp
[spoiler=см. подробнее]

(!) только зелёные направления; красными - нет, однозначно не обсуждаем; а вот количество ЯД(WMR, QIWI) за такую хотелку - напротив можем на полном серьёзе обсудить. Вам надеюсь, моё предложение не покажется чем-то сверх.. Но, как живописец художнику(-кам), ответственно заявляю: с художественно-эстетической точки зрения текущий icon.. что в tray, что на панели задач - лично мне как-то не очень.

(http://rgho.st/8QKpTlQcz/image.png)[/spoiler]
Title: Re: [Alpha/Beta Testing]
Post by: АНТИКЛАН on January 04, 2018, 01:22:59 PM
Плиз маскировочку от защит. Так сказать "из коробки". Хотя бы как в UOPilot. Очень надо! ::)
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on January 04, 2018, 04:13:22 PM
Плиз маскировочку от защит. Так сказать "из коробки". Хотя бы как UOPilot. Очень надо! ::)

Какую там еще маскировочку как UOPilot?

Последняя версия 4.13.007b научилась менять заголовок на свое название. Делается это в ручную в файле config.ini
Пример: представляемся блокнотом
Code: [Select]
; Используемый GUI идентификатор программы
program_name = Блокнот

Также нужно переименовать Clickermann.exe в notepad.exe
Title: Re: [Alpha/Beta Testing]
Post by: algirdas on January 08, 2018, 11:10:24 PM
"Последняя версия 4.13.007b научилась менять заголовок на свое название. Делается это в ручную в файле config.ini"
Однако в окне команды RADIOBOX сохранится красивая надпись “Clickerman“.
Title: Re: [Alpha/Beta Testing]
Post by: dramster on January 20, 2018, 11:18:55 PM
v.4.13.007b - битовые операции ограничены числами от -2147483648 до 2147483647

Code: (clickermann) [Select]
print( -2147483648 or 2147483647 ) // если уменьшить первое или увеличить второе, то в ответ строка с этими двумя числами и знаком "или" между ними.
// соответственно, тоже самое с and и xor
halt


[spoiler=предложение]может стоит добавить операцию NOT? возможно данная операция врядли пригодится комуто, но и без нее как то чего то не хватает. [/spoiler]

Title: Re: [Alpha/Beta Testing]
Post by: dramster on January 24, 2018, 08:49:25 PM
v.4.13.007b -  screenshotex и screenshotfix работают не корректно

все последние пиксели по Х становятся равны пикселям  Х-1 . все последние пиксели по Y становятся равны пикселям Y-1

если делать скрин полоски высотой в один пиксель, то там пустота - цвет черный, прозрачность = 0 . если делать скрин полоски шириной в один пиксель - тоже самое.

для наглядности:
Code: (clickermann) [Select]
GETSCREEN
PXLREPLACE(0,0, 4, 4, -1, 1) //экспериментируем в области 5х5. закрашиваем в черный (почти)
                               
PXLREPLACE(0,0, 0, 0, -1, 255) //первый пиксель красный
PXLREPLACE(1,0, 1, 0, -1, 65280)  //второй - зеленый
PXLREPLACE(2,0, 2, 0, -1, 16711680)  //третий - синий

//-----------------------------------------

screenshotex(0,0, 4, 0,"5x1_")  //скрин полоски пикселей. все черное - цвет = 0 (и прозрачность = 0). при смещении полоски в низ, всеравно все черное.
screenshotex(0,0, 0, 4,"1x5_")//тоже самое и по вертикали

screenshotex(0,0, 2, 1,"3x2_")  //3x2
screenshotex(0,0, 3, 1,"4x2_")  //4x2
screenshotex(0,0, 3, 2,"4x3_")  //4x3
screenshotex(0,0, 4, 2,"5x3_")  //5x3

screenshotfix(0,0, 3, 1,"screens\screenshotfix_4x2.bmp") //таже беда что и с  screenshotex

screenshot("screenshot_") //работает правильно

halt

3x2   -   (https://i.imgur.com/zLGr8m0.png)      4x2   -   (https://i.imgur.com/JPkSE2d.png)      4x3   -   (https://i.imgur.com/jdUpwkH.png)      5x3   -   (https://i.imgur.com/rOQOY9T.png)


в версии 4.12 работает правильно.
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on January 26, 2018, 07:12:38 PM
v.4.13.007b - битовые операции ограничены числами от -2147483648 до 2147483647

Code: (clickermann) [Select]
print( -2147483648 or 2147483647 ) // если уменьшить первое или увеличить второе, то в ответ строка с этими двумя числами и знаком "или" между ними.
// соответственно, тоже самое с and и xor
halt

[spoiler=предложение]может стоит добавить операцию NOT? возможно данная операция врядли пригодится комуто, но и без нее как то чего то не хватает. [/spoiler]

я бы не сказал что это ошибка. просто 32 разрядное вычисление.

и отсюда же проистекает второй вопрос. "NOT 0" сколько будет? max_int32 или max_int64? или может вам хочется шагнуть в будущее и аж 128 разрядов?
тут как бы вопрос концепции
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on January 26, 2018, 07:13:51 PM
v.4.13.007b -  screenshotex и screenshotfix работают не корректно


опять ошибки. да что такое..
а просто screenshot все делает правильно?
Title: Re: [Alpha/Beta Testing]
Post by: dramster on January 26, 2018, 07:41:57 PM
а просто screenshot все делает правильно?
Да.



и отсюда же проистекает второй вопрос. "NOT 0" сколько будет? max_int32 или max_int64? или может вам хочется шагнуть в будущее и аж 128 разрядов?

если мой калькулятор не ошибается, то "not 0" в любом случае равно -1  :-\, что 4 байта, что 8 байт. 32 единицы = -1, и 64 единицы тоже =-1 . то есть если к любому числу в 4 байта дописать еще тридцатьдве единицы, то число не меняется.

но в самом деле это все фигня (насчет "32 разрядное вычисление")  :), просто заметил случайно, проверил в старших версиях - там работает если число за пределами 4 байт. в 4.13 не работает, ну и черт с ним  :D.
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on January 31, 2018, 08:03:18 PM
v4.13.008b

мониторы, скриншоты, условия
меня уже в личку замучили. давайте тут кароче нет больше критических ошибок и мы в релиз мм?

http://rgho.st/6JKHvYstW
Title: Re: [Alpha/Beta Testing]
Post by: dramster on January 31, 2018, 08:35:25 PM
v4.13.008b

GETSCREEN с дополнительным монитором правее либо выше основного работает отлично. но пока-что в этом нет смысла, так как мышиные действия не работают с отрицательными параметрами  :(.
Title: Re: [Alpha/Beta Testing]
Post by: Evgenij_M on January 31, 2018, 10:02:48 PM
Вот зараза... Не могу скачать файл. Ни Хром ни Microsoft Edge не пускают  :o . Пишут: вирус сидит - и всё тут.

Люди, помогите файл получить  :'(  Наверняка ведь какую-то нужную функцию за вирус принимает  :-[
Title: Re: [Alpha/Beta Testing]
Post by: algirdas on January 31, 2018, 10:17:19 PM
Что-то случилось с "while" - в 4.13.007b x32 работает, а в 4.13.008b x32 перестал работать код типа:

$time_0 = $_time_t
WHILE ((ISKEYDOWN(#ESC)=0 and ( $time_0 +5 > $_time_t ))
   BEEP(800,200)
   WAIT(1)
END_CYC
WAIT(4)

ошибка при интерпретации строки IF.......
Title: Re: [Alpha/Beta Testing]
Post by: dramster on January 31, 2018, 10:48:23 PM
Что-то случилось с "while" - в 4.13.007b x32 работает, а в 4.13.008b x32 перестал работать код типа:

$time_0 = $_time_t
WHILE ((ISKEYDOWN(#ESC)=0 and ( $time_0 +5 > $_time_t ))
   BEEP(800,200)
   WAIT(1)
END_CYC
WAIT(4)

ошибка при интерпретации строки IF.......

какая то проблема со скобками
print(( $time_0 +5 > $_time_t )) выдает не 0 или 1, а строку ( $time_0 +5 > $_time_t ), если убрать вторые скобки, то норм.

более наглядно - print(3-(1+1)) не выдает единицу, а выдает 3-(1+1)

то есть вот так вроде работает WHILE (ISKEYDOWN(#ESC)=0 & $time_0 +5 > $_time_t ), без скобок.


Quote
давайте тут кароче нет больше критических ошибок и мы в релиз мм?
:(

Title: Re: [Alpha/Beta Testing]
Post by: Vint on January 31, 2018, 11:33:49 PM
WHILE ((ISKEYDOWN(#ESC)=0 and ( $time_0 +5 > $_time_t ))

ошибка при интерпретации строки
Здесь вообще-то скобки не хватает после =0
Title: Re: [Alpha/Beta Testing]
Post by: dramster on February 01, 2018, 12:08:55 AM
WHILE ((ISKEYDOWN(#ESC)=0 and ( $time_0 +5 > $_time_t ))

ошибка при интерпретации строки
Здесь вообще-то скобки не хватает после =0
я сразу тоже подумал что проблема в недостающей скобке, но как оказалось, к сути проблемы это не относится. со скобкой или без, если вот это ISKEYDOWN(#ESC)=0 поместить в скобки, то в ответ "0=0" вместо "1" . то же самое с $time_0 +5 > $_time_t .
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on February 01, 2018, 08:46:20 AM
А как же мой "Большой тест"? Он как раз и выявляет эту проблему. v4.13.008b все комплексные условия выдают ошибку.
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on February 01, 2018, 04:34:46 PM
видимо не судьба :/

насчет Большого теста, он актуален для последней релизной версии 4.12? насколько я помню он давльно староват.
были обновления к нему? так то да, надо бы его погонять. только сдобрить всякими каверзными вещами типа 1 = "text"

тут кстати мелькала фраза что в отрицательные координаты мышь не проходит поэтому типа поддержка расширенного стола бесполезна. а у меня проходит, кликает в минус. у вас как?
Title: Re: [Alpha/Beta Testing]
Post by: dramster on February 01, 2018, 04:53:18 PM
тут кстати мелькала фраза что в отрицательные координаты мышь не проходит поэтому типа поддержка расширенного стола бесполезна. а у меня проходит, кликает в минус. у вас как?

работает, если только один из параметров отрицательный. если оба отрицательные, то действия такие же как и ранее при LCLICK(-1,-1) - клик там где курсор.
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on February 01, 2018, 05:08:12 PM
тут кстати мелькала фраза что в отрицательные координаты мышь не проходит поэтому типа поддержка расширенного стола бесполезна. а у меня проходит, кликает в минус. у вас как?

работает, если только один из параметров отрицательный. если оба отрицательные, то действия такие же как и ранее при LCLICK(-1,-1) - клик там где курсор.
ясно. совсем забыл. кароче настраивайтесь на то что теперь LCLICK() без параметров быдет тыкать в текущее место. а -1 -1 в -1 -1. подругому не вижу как решить эту дилемму
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on February 04, 2018, 08:07:42 PM
На счет опции игнорирования ошибок.
При включенной опции не во всех случаях они игнорируются!

Речь идет что то типо о занятом доступе.

Вот тестовые скрипты. Открываем две копии кликера
В первую вставляем это
Code: (clickermann) [Select]
FOR($a=0,$a<99999)
   TOCLIP(STRCONCAT("Тест ", $a))
   WAITMS(1)
END_CYC
HALT

Во вторую это
Code: (clickermann) [Select]
$test = FROMCLIP()
LOGCLEAR
LOGWRITE($test)
WAITMS(1)

В итоге выскакивают две ошибки.
Если опция игнорирования ошибок включена, вторая ошибка будет проигнорирована но первая все равно вылазит.

Тоже самое происходит при попытке чтении занятого файла.
Title: Re: [Alpha/Beta Testing]
Post by: Vint on February 05, 2018, 10:09:33 AM
ясно. совсем забыл. кароче настраивайтесь на то что теперь LCLICK() без параметров быдет тыкать в текущее место. а -1 -1 в -1 -1. подругому не вижу как решить эту дилемму

Давно уже говорил, не приучайте к (-1, -1) всё надеялся что положение мониторов поправят. Так нет же, в каждом вопросе про клик без координат ксерили этот (-1, -1) (http://crapware.aidf.org/forum/index.php?topic=93.msg1041#msg1041). Почему такая недальновидность.

Даже пост мой уже удалён, один яндекс и помнит см. скрин.
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on February 11, 2018, 02:18:51 PM
Clickermann v4.13.009b x32

Пока чинил условия, попутно сделал скриншот лупы по хоткею, ввел пару сис.переменных, еще че-то делал...
Короче по ссылке полный пак, потому что даже файл с надписями пришлось править. Справка актуальная.

https://yadi.sk/d/XV6uduqE3SHSjA

p.s. [spoiler=про SSL]Отдельно сделал поддержку https для любителей httpget("https://")
(изначально в дистрибутив не входит)
Для того чтобы кликер подцепил шифрование, нужно скачать две библиотеки проекта OpenSSL: libeay32.dll , ssleay32.dll и кинуть их рядом с clickermann.exe
Скачать их можно например отсюда https://code.google.com/archive/p/openssl-for-windows/downloads (следите за разрядностью)
Если этого не сделать запрос через https, как и ранее, вызовет некритичную ошибку функции httpget(). Это временное решение, в дальнейшем надеюсь уйдем от этого

Для тех кому все это вообще не уперлось - ниче качать не надо, кликер вас поймет и простит[/spoiler]

Title: Re: [Alpha/Beta Testing]
Post by: h31p on February 11, 2018, 10:26:00 PM
Clickermann v4.13.009b x32

после захвата в оконный режим flash player (обоими способами) - ничего не в нём не видит (чёрная лупа, серые скрины).

проявилось после наката 007->009; откат решает проблему.
Title: Re: [Alpha/Beta Testing]
Post by: i0 on February 11, 2018, 11:15:30 PM
Quote
после захвата в оконный режим flash player (обоими способами) - ничего не в нём не видит (чёрная лупа, серые скрины).
да и не только flash, у меня вообще в привязке к любому окну чёрная лупа
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on February 12, 2018, 05:51:07 PM
Hotfix

зачем то закомментировал вызов одной из функций и успешно забыл)))
бывает. вот бы все ошибки исправлялись двумя нажатиями Backspace

http://rgho.st/8cnJWhvJ6
Title: Re: [Alpha/Beta Testing]
Post by: h31p on February 12, 2018, 07:17:24 PM
Hotfix

подтверждаю, в 010 снова всё в норме. спасибо!

Quote
все ошибки исправлялись двумя нажатиями Backspace

главное на нём не заснуть под утро, как в том анекдоте   :D
Title: Re: [Alpha/Beta Testing]
Post by: Evgenij_M on February 15, 2018, 09:53:08 AM
Люди добрые, ну помогите мне скачать файл  :'(

Ну никак у меня не получается мою десятую Винду заставить пропустить этот файл в комп  :(
Что я понимал, из найденного в поисковике - то уже испробовал, для обхода защиты. Что мне сделать, чтобы он скачался?..  :'(
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on February 15, 2018, 11:07:34 AM
Люди добрые, ну помогите мне скачать файл  :'(

Ну никак у меня не получается мою десятую Винду заставить пропустить этот файл в комп  :(
Что я понимал, из найденного в поисковике - то уже испробовал, для обхода защиты. Что мне сделать, чтобы он скачался?..  :'(

Полная сборка 4.13.010b
https://yadi.sk/d/oJYOm1W_3SQoRo (https://yadi.sk/d/oJYOm1W_3SQoRo)
Title: Re: [Alpha/Beta Testing]
Post by: Vint on February 15, 2018, 11:19:49 AM
Люди добрые, ну помогите мне скачать файл  :'(

Ну никак у меня не получается мою десятую Винду заставить пропустить этот файл в комп  :(
Что я понимал, из найденного в поисковике - то уже испробовал, для обхода защиты. Что мне сделать, чтобы он скачался?..  :'(

Ха, на десятке... У меня на XP нельзя скачать ни мазилой ни хромом. Раньше спасала опера (только с турбо), теперь и она в пролёте. Яндекс поставил, врубил там турбо и о боги! всё скачалось... с 4-го раза. Почему с 4-го, потому что никакой реакции на нажатия кнопки небыло, но через 2 минуты наконец то сработало и загрузилось сразу 3 копии.
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on February 15, 2018, 12:51:58 PM
Ха, на десятке... У меня на XP нельзя скачать ни мазилой ни хромом. Раньше спасала опера (только с турбо), теперь и она в пролёте. Яндекс поставил, врубил там турбо и о боги! всё скачалось... с 4-го раза. Почему с 4-го, потому что никакой реакции на нажатия кнопки небыло, но через 2 минуты наконец то сработало и загрузилось сразу 3 копии.

Дело не в винде а версии браузера.

Использую в основном 38.0.1 портативную версию мазилы.
https://downloads.sourceforge.net/portableapps/FirefoxPortable_38.0.1_Russian.paf.exe (https://downloads.sourceforge.net/portableapps/FirefoxPortable_38.0.1_Russian.paf.exe)

А чтобы сайты не ругались на устаревшую версию браузера использую дополнение User Agent Overrider 0.2.5.1
https://addons.mozilla.org/ru/firefox/addon/user-agent-overrider/versions/0.2.5.1-signed (https://addons.mozilla.org/ru/firefox/addon/user-agent-overrider/versions/0.2.5.1-signed)

Подменяю значения юзер агента типо у меня 50 версия
Code: [Select]
Windows / Firefox 50: Mozilla/5.0 (Windows NT 5.1; rv:50.0) Gecko/20100101 Firefox/50.0
Title: Re: [Alpha/Beta Testing]
Post by: Vint on February 15, 2018, 01:21:46 PM
Да это понятно, браузеры совсем офигели. Закручивают гайки уже давно, медленно но верно. Взяли на себя роль цензуры и полиции. Пора делать свой браузер с блекджеком и блудницами.
Title: Re: [Alpha/Beta Testing]
Post by: Evgenij_M on February 15, 2018, 02:49:09 PM

Полная сборка 4.13.010b
https://yadi.sk/d/oJYOm1W_3SQoRo (https://yadi.sk/d/oJYOm1W_3SQoRo)

Ииииииессс!..  ;D

Спасибо огромнейшее  :)

Полез через Андроид с Яндекс-диска скачивать. Тут, в Украине, свободный доступ к Яндексу закрыт, а на планшете у меня VPN втыкнут.
Пока скачивал, мысль в голову пришла: а не проверить ли мне, как Андроид - с http://rgho.st/8cnJWhvJ6 скачать сможет, или тоже упрётся?..  ???

А он взял - и качнул файл... без возражений  :D
Вот теперь лазейка, на случай проблем со скачиванием, засветилась  :)

В общем, спасибо ещё раз!..  ;)
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on February 18, 2018, 01:14:47 PM
+ Доработка #logfile, теперь можно задать произвольное имя лога
- не можно а нужно, без указания имени файл теперь не создаётся.
ну эту мелочь мы поправим на релизе
жду кароче еще недельку обнаружение критических ошибок и делаю обновление а то я вижу в группе вк многих уже конкретно отсылают в эту ветку

Quote
- нет сообщения о введении нового синтаксиса операций сравнения
есть сообщение о новой математике. оно подразумевается.
"всем читать справку заново" я напишу в посте об обновлении на сайте и в группе

Quote
Выходит, что старый синтаксис пока реабилитирован и нужды переписывать скрипты нет?
да. внезапно прервать совместимость вверх - плоха идея
Title: Re: [Alpha/Beta Testing]
Post by: Axelenz on February 28, 2018, 05:15:19 PM
Да это понятно, браузеры совсем офигели. Закручивают гайки уже давно, медленно но верно. Взяли на себя роль цензуры и полиции. Пора делать свой браузер с блекджеком и блудницами.

Как вариант (с блудницами) использую в этой же ...й стране Zaborona VPN. У меня с десяток разных браузеров установлено, под разные нужды и заходят они куда попало ) Как по мне, то удобный браузер Cyberfox, там хоть все старые лисьи аддоны работают.
Это не реклама, это на тот случай, если кто не может скачать с Яндекс-диска...
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on March 01, 2018, 08:57:48 PM
Неужели все? Значит пора собирать релиз
Где там пак со всеми поправленными шаблонами под новые фичи и прочим?
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on March 02, 2018, 06:25:15 AM
Выдает ошибку.
Code: (clickermann) [Select]
DEFINE($a,"тест")
IF($a="тест")
   LOGWRITE ("ок")
END_IF
HALT

Если за место DEFINE написать $a = "тест" ошибки нет.
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on March 11, 2018, 06:30:45 PM
Выдает ошибку.
Code: (clickermann) [Select]
DEFINE($a,"тест")
IF($a="тест")
   LOGWRITE ("ок")
END_IF
HALT

Если за место DEFINE написать $a = "тест" ошибки нет.

ну так то и это починено. готовим значит релизы на той неделе уже блядь
вот с этого поста возьму сборку http://crapware.aidf.org/forum/index.php?topic=356.msg26108#msg26108 и просто вкину exe
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on March 11, 2018, 07:36:56 PM
ну так то и это починено. готовим значит релизы на той неделе уже блядь

А исправлена ли проблема чтения занятых данных в буфере обмена и файлах?
http://crapware.aidf.org/forum/index.php?topic=356.msg25983#msg25983 (http://crapware.aidf.org/forum/index.php?topic=356.msg25983#msg25983)


Title: Re: [Alpha/Beta Testing]
Post by: Johnny on March 11, 2018, 08:06:43 PM
не так что бы очень, но будем реалистами. вот это
Code: (clickermann) [Select]
    FOR($a=0,$a<99999)
       TOCLIP(STRCONCAT("Тест ", $a))
       WAITMS(1)
    END_CYC
    HALT
не скрипт. это олимпиада "как бы повеселее повесить кликер". я не сторонник подстраивать ПО под экзальтированные стресс-тесты, когда основные задачи ПО как бы давно давно сформулированы. подобные скрипты носят скорее академический характер. на практике ни один программист не станет обновлять буффер обмена каждую милисекунду.
можно вообще все заканопатить в проверки, но ехать это будет еще медленнее чем виртуальная машина Java :\

Title: Re: [Alpha/Beta Testing]
Post by: Oraven on March 11, 2018, 10:06:56 PM
не так что бы очень, но будем реалистами.

Это "стресс тест" нужен чтобы выявить проблему выскакивающей ошибки которая останавливает скрипт. И это при том что игнорирование ошибок включено.

Тоже самое относится к чтению файла. Тут некоторые писали что AGClient пишет out.txt а кликер ругается на интерпретацию, и все из за занятого файла.
С INIREAD такого, кстати, не наблюдается.
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on March 12, 2018, 04:18:43 PM
ладно, погоняем. вообще игнорирование оно такое теоретическое и его по хорошему никто не проверял.
ваши предложения?
вот возник конфликт интересов и мы его типа поймали. что дальше? ругаемся стандартным сообщением? ждем 10 секунд и молча повторяем операцию?
или как вообще?
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on March 12, 2018, 07:25:45 PM
ладно, погоняем. вообще игнорирование оно такое теоретическое и его по хорошему никто не проверял.
ваши предложения?
вот возник конфликт интересов и мы его типа поймали. что дальше? ругаемся стандартным сообщением? ждем 10 секунд и молча повторяем операцию?
или как вообще?

не 10 секунд а несколько миллисекунд 50-100, пытаемся снова несколько раз, если ничего не вышло возвращаем пустую строку и идем дальше. И сообщения там не нужны, ведь это не ошибка скрипта.

По хорошему функции должны выдавать коды ошибок в системную переменную $_error, с которыми можно что то сделать, например по условию повторить операцию.
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on March 13, 2018, 04:43:41 PM
не 10 секунд а несколько миллисекунд 50-100, пытаемся снова несколько раз, если ничего не вышло возвращаем пустую строку и идем дальше. И сообщения там не нужны, ведь это не ошибка скрипта.
а если речь о записи в буфер\файл, что мы возвращаем? и не залипнем ли совсем?
иные программы прямо говорят мол сорян, нет доступа к файлу. а нам надо что то на случай когда пользователь вообще не дома.


Quote
По хорошему функции должны выдавать коды ошибок в системную переменную $_error, с которыми можно что то сделать, например по условию повторить операцию.
а кто эту переменную будет обнулять? как понять кто ее взвел, если та функция в функции? я в курсах про всякие GetLastError() в солидных языках, но у нас то все максимально упрощено. мы этим всегда и брали. решений в духе пилота накрутить можно, но к чему это приводит - подите и посмотрите.

кароч тут на самом деле все не так просто. я думаю выкачу все же обновление а потом подумаю как по красивее это все дело сделать
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on March 14, 2018, 07:14:37 PM
ведь убирали баг, когда без пробела между именем и параметром, всё пишется чёрным цветом.
в версии 4.13.010b он снова появился.

воще то нет, не исправляли. потому что это стильное поле ввода - единственный кусок ПО, позаимствованный (и чуток подпиленный) на стороне. а учитывая что он не поддерживается автором уже четыре года, то как бы и исправлений ждать не приходится. короче, тебе показалось))

Quote
после нажатия клавиши ALT ...
а ты где проверял? в некоторых программах (в том же блокноте винды) простое нажатие на Alt активирует работу с меню например. не, тут все нормально.

Quote
В меню настроек горячих клавиш, вместо " Запуск сценария" информативней будет написать " Запуск - пауза"
а вот это справедливо
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on March 15, 2018, 07:35:16 AM
а кто эту переменную будет обнулять?

Переменная обновляется каждый раз после вызова функции. В потоках эта переменная должна быть изолированна.
В autoit есть функция SetError позволяющая менять значения в этой переменной если потребуется её обнулить.

Возврат ошибок нужен, как минимум, для функций чтения-записи в файл и буфер обмена.

Title: Re: [Alpha/Beta Testing]
Post by: BoJIwE6HuK on March 15, 2018, 04:18:51 PM
Друзья, может и есть такая команда, но я не нашел. Мне нужна команда которая включит у кликера замок (Always on top). Пожалуйста добавьте такую команду в ближайшем релизе.
И еще.. Дорогой и горячо любимый автор данного программного обеспечения, я слёзно тебя умоляю, сделай в настройках галочку на миниатюрный интерфейс по моему образцу во вложении!

Миниатюрный дизайн мне необходим так как  я использую кликер на дополнительном 19 дюймовом мониторе развёрнутом вертикально. Там у меня находятся 2 окна браузера друг над другом, места катастрофически не хватает и при этом есть желание всегда видеть 2  кликера поверх окон для оперативного вмешательства. Одним словом - не комфортно! Миниатюрный дизайн сильно поможет.
Title: Re: [Alpha/Beta Testing]
Post by: dramster on March 16, 2018, 01:39:26 PM
обрадовался, когда увидел новую функцию CHAR - Возвращает символ по его коду.
Но обломался, когда попытался её использовать, аудитория программы русскоязычная, а символы возвращаются почему-то латинские.
Может есть возможность в будущем добавить параметр, выбирающий возвращаемый язык символов?
так у нас же юникод. по таблице юникода русские буквы начинаются с 1040 и до 1103 (в десятичном)
Code: (clickermann) [Select]
print(CHAR(1055),CHAR(1088),CHAR(1080),CHAR(1074),CHAR(1077),CHAR(1090),CHAR(33))

halt
Code: (Лог) [Select]
13:37:46 Привет!
возможно есть смысл добавить константы для русск букв, но в этом случае будет путаница с виртуальными кодами клавиш клавиатуры, как и с примером выше CHAR(33) - восклицательный знак. смотрим в нашу таблицу кодов кнопок, 33 - это PageUp.
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on March 20, 2018, 05:29:37 AM
так короче, меня уже по 10 раз за день в ЛС долбят вопросом ВЫ ЧТО ЗАБРОСИЛИ ПРОЕКТ?
поэтому все уходит на потом

1. контроль ошибок нужен, но там надо много делать и много думать
2. миниатюрный дизайн? зачем? не проще ли просто свернуть в трей и оттуда уже запускать через меню?
3. добаить не получится потому что кликер не отличит строчные от прописных. с кодами кнопок проще. кнопка есть кнопка.
Title: Re: [Alpha/Beta Testing]
Post by: mZero on March 20, 2018, 03:08:25 PM
" 1. контроль ошибок нужен, но там надо много делать и много думать "

проверьте это:

$x1 = 500
$y1 = 300
$x2 = 0
$y2 = 0

GETSCREEN
SCREENSHOTEX($x1, $y1, $x2, $y2, "Image_")

HALT


В ранних версиях такой фортель не прокатывал. Прошу прощения, если не по теме
Title: Re: [Alpha/Beta Testing]
Post by: mZero on March 20, 2018, 03:36:27 PM
в моем скрипте все координаты вычисляются и в результате моей ошибки большие координаты остались равны 0. Если бы, как в более ранних версиях, выдавало ошибку с остановкой и звуком, то было бы потрачено гораздо меньше времени на поиск причины кривой работы скрипта и отладку
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on March 21, 2018, 08:47:18 PM
Вместо ожидаемого нажатия десяти клавиш и получения строки в 10 символов, получаются строки произвольной длинны не более девяти символов

Все нормально. Потому что коды от 58 до 64 не относятся к клавишам а значит и не печатаются.
Code: (clickermann) [Select]
FOR($a=48,$a<=90)
   LOGWRITE ("Код: ", $a, " Символ: ", CHAR($a))
END_CYC
HALT
Code: [Select]
21:44:20 Код: 58 Символ: :
21:44:20 Код: 59 Символ: ;
21:44:20 Код: 60 Символ: <
21:44:20 Код: 61 Символ: =
21:44:20 Код: 62 Символ: >
21:44:20 Код: 63 Символ: ?
21:44:20 Код: 64 Символ: @
Title: Re: [Alpha/Beta Testing]
Post by: dramster on March 21, 2018, 10:40:40 PM
насчет кодов клавиш, то они все  вот тут https://msdn.microsoft.com/en-us/library/windows/desktop/dd375731(v=vs.85).aspx

и видим, что "0x3A-0x40 Undefined" , это 58-64 коды.
 
но это фигня, кнопок то оказывается намного больше чем в справке. к примеру, это куча медиа клавиш для работы со звуком, медиаплеером, браузером, почтой... и еще куча ненужных кнопок, смотрим по ссылке. не знаю работаю ли эти все коды, но проверил парочку на вин10, вроде работают как нужно.



 было бы неплохо добавить ссылку на страницу мсдн с кодами кнопок (https://msdn.microsoft.com/en-us/library/windows/desktop/dd375731(v=vs.85).aspx)  в справку.



насчет "сжирается один символ" и "При запуске Clickermann кнопкой в окне, понятно, что требуется активировать рабочее окно, но вот зачем при запуске горячими клавишами такое происходит?".

 очень похоже, что для пуска используется физическое нажатие KEYDOWN(#alt) - KEYDOWN(#a) - KEYUP(#alt) - KEYUP(#a), в этом случае активным становится меню окна, и один кейпресс уходит на сбрасывание меню и возврат к полю ввода. правильно - KEYDOWN(#alt) - KEYDOWN(#a) - KEYUP(#a) - KEYUP(#alt), в этом случае окно ввода остается активным при пуске.

Title: Re: [Alpha/Beta Testing]
Post by: Vint on March 22, 2018, 05:13:06 PM
Так это обсуждалось сто раз. Уже несколько лет. Проблемы нет в самом кликере. Это активация меню по ALT.
Влияет и на первую кнопку и на первый клик.

Варианта два:
1. Или сменить ГК запуска скрипта на другие (без ALT). Мне не нравится привык уже. Но вариант хороший если скрипт не идёт в чужие руки.
2. Вставить в начеле скрипта клик по заголовку нужного окна. Раньше делал только так. Это заодно приводит к одинаковому состоянию при любом способе запуска, хоть ГК, хоть кликом по пуску. Универсально в некотором смысле.

Можно попробовать вместо клика активировать окно через WNDBUMP, но нужно чтоб HWND легко определялся.
WNDBUMP(WNDFIND("Notepad++"))

Чёт не помогает этот вариант. А раз помогло.

Иногда ставлю в скриптах, в начале
Code: (clickermann) [Select]
WAITMS(100)
KEYUP(#ALT)
Это защита от не успевания отпускания ALT. Где стартовая задержка маленькая. Или увеличивать задержку. Но это как дополнение! Само по себе активацию меню не снимает.
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on March 22, 2018, 07:18:20 PM
вариант 3. включать трехсекундную паузу перед запуском, которая вощет даже вынесена на главную форму, раз не успеваете отжать хоткей

я тут все же посмотрел проблемы доступа к общим ресурсам и думаю ближайшие дни вылечу ошибку чтения "занятого" текстовика.
а то непорядок. любой блокнот может, а мы - нет.
Title: Re: [Alpha/Beta Testing]
Post by: Vint on March 23, 2018, 08:50:18 AM
вариант 3. включать трехсекундную паузу перед запуском, которая вощет даже вынесена на главную форму, раз не успеваете отжать хоткей
Это толька на тормозное отжатие, и добавлено как приписка.
На активацию главного меню программы это никак не повлияет. Мы нажимая при запуске ALT уже активировали меню и снять активацию может только нажатая клавиша или первый клик. Они, кстати только снимают активацию и никак не обрабатываются по прямому назначению.
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on March 23, 2018, 10:00:35 AM
В файле const.txt отсутствует запись "#PAUSE     19"
Title: Re: [Alpha/Beta Testing]
Post by: ya12 on March 23, 2018, 12:03:07 PM
Clickermann v4.12.001   READMEM в ХРx32 работает правильно.
Clickermann v4.13.010b READMEM в 7x64 и 10x64 работает правильно. В XPx32 выдает 0.
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on March 28, 2018, 07:58:49 PM
Clickermann v4.13.011b (exe only)

- фикс работы с уже кем-то открытыми файлами
- фикс readmem, writemem
- всякая мелочь

http://rgho.st/7y4kTMcpQ
Title: Re: [Alpha/Beta Testing]
Post by: Axelenz on March 30, 2018, 09:27:08 PM
Простенький пример.
Работаю в Excel с прайсами, используя текстовые фильтры. Стиль ссылок на ячейку обычный, вида "A1". Вылезла ошибка.
Часть кода:

Code: (clickermann) [Select]
UNDEFINE($r1c1)

//Ячейки фильтров в массив
arrpush($r1c1, "A1")
arrpush($r1c1, "B1")
arrpush($r1c1, "C1")
arrpush($r1c1, "D1")
arrpush($r1c1, "E1")
arrpush($r1c1, "F1")
arrpush($r1c1, "G1")
arrpush($r1c1, "H1")
arrpush($r1c1, "I1")
arrpush($r1c1, "J1")
arrpush($r1c1, "K1")
arrpush($r1c1, "L1")
arrpush($r1c1, "M1")
arrpush($r1c1, "N1")
arrpush($r1c1, "O1")
arrpush($r1c1, "P1")
arrpush($r1c1, "Q1")
arrpush($r1c1, "R1")
arrpush($r1c1, "S1")
arrpush($r1c1, "T1")
arrpush($r1c1, "U1")
arrpush($r1c1, "V1")
arrpush($r1c1, "W1")
arrpush($r1c1, "X1")
arrpush($r1c1, "Y1")
arrpush($r1c1, "Z1")

//вывод в лог
FOR($a=0,$a<ARRSIZE($r1c1))
   LOGWRITE($a," = ",$r1c1[$a])
END_CYC

LOGWRITE("STRMD5($r1c1[5]) = ",STRMD5($r1c1[5]))
LOGWRITE("STRMD5(E1) = ",STRMD5("E1"))

Code: [Select]
21:26:46 0 = A1
21:26:46 1 = B1
21:26:46 2 = C1
21:26:46 3 = D1
21:26:46 4 = 0
21:26:46 5 = F1
21:26:46 6 = G1
21:26:46 7 = H1
21:26:46 8 = I1
21:26:46 9 = J1
21:26:46 10 = K1
21:26:46 11 = L1
21:26:46 12 = M1
21:26:46 13 = N1
21:26:46 14 = O1
21:26:46 15 = P1
21:26:46 16 = Q1
21:26:46 17 = R1
21:26:46 18 = S1
21:26:46 19 = T1
21:26:46 20 = U1
21:26:46 21 = V1
21:26:46 22 = W1
21:26:46 23 = X1
21:26:46 24 = Y1
21:26:46 25 = Z1
21:26:46 STRMD5($r1c1[5]) = E1DFFC8709F31A4987C8A88334107E89
21:26:46 STRMD5(E1) = 48ED5D2DB39237D7AE5E829B17581629

5-ый элемент массива - 0 ? Мне как раз нужен столбец по этому адресу... ну как всегда  ;D
Что такого необычного в буквенно-цифровом сочетании "E1", что оно не воспринимается ?
Все буквы для массива набраны исключительно в разкладке En. Эта ошибка выплывает из-за имени переменной $r1c1, или где ?
Clickermann v4.13.011b
Windows 8.1
Title: Re: [Alpha/Beta Testing]
Post by: Axelenz on March 30, 2018, 10:19:30 PM
Проверил ещё раз... имя массива тут не при чём. Не воспринимается сама буква "E"... и получается всё, что после неё...

Code: (clickermann) [Select]
//Ячейки фильтров в массив
arrpush($rc, "C1")
arrpush($rc, "1E")
arrpush($rc, "K1")
//вывод в лог
FOR($a=0,$a<ARRSIZE($rc))
   LOGWRITE($a," = ",$rc[$a])
END_CYC

Code: [Select]
22:16:51 0 = C1
22:16:51 1 = 1
22:16:51 2 = K1
Title: Re: [Alpha/Beta Testing]
Post by: dramster on March 30, 2018, 10:20:45 PM
 ;D а что ты хотел? E1 = 0E1 = 0 * 10^1 = 0 . странный какойто баг ;D . а самое главное то, что в 4.12 такая-же фигня, и до сих пор ни кого это не смущало  :-\.

Code: (clickermann) [Select]
arrpush($a, "1E2")
$b[0] = "1E2"
STRSEPARATE ("1E2", " ", $c)
$d = "1E2"
 
print($a[0])  // 100    1*10^2
print($b[0])  // 1E2
print($c[0])  // 1E2
print($d)     // 1E2
halt



замечен еще один баг насчет чтения не существующих элементов массива.
Code: (clickermann) [Select]
arrpush($a, "A1")
arrpush($a, "B1")
arrpush($a, "C1")
 
print($a[4])
halt
первый пуск - ошибка, как и положено
второй пуск - в логе "22:21:31 봿F뵍F뵗F봥F봲F"
третий пуск - вешает кликер

повесить кликер можно чтением и других несуществующих элементов. закономерности не заметил.



добавлено:
arrpush($rc, "1E")

1E = 1*10^0 = 1
Title: Re: [Alpha/Beta Testing]
Post by: Axelenz on March 30, 2018, 10:34:53 PM
Да, но всё же... загоняю как бы текстовую переменную...

Code: (clickermann) [Select]
DEFINE($ERROR, "E1")
arrpush($rc, "C1")
arrpush($rc, $ERROR)
arrpush($rc, "K1")
//вывод в лог
FOR($a=0,$a<ARRSIZE($rc))
   LOGWRITE($a," = ",$rc[$a])
END_CYC

Аналогичный результат:
Code: (clickermann) [Select]
arrpush($rc, STRCONCAT(CHAR(69),"1"))  //"E1"
Code: [Select]
22:34:26 0 = C1
22:34:26 1 = 0
22:34:26 2 = K1
Title: Re: [Alpha/Beta Testing]
Post by: dramster on March 30, 2018, 10:42:27 PM
Да, но всё же... загоняю как бы текстовую переменную...

ну.... ничего не поделаешь, будем ждать фикса. а пока можно обойти как-нибудь вот так:
Code: (clickermann) [Select]
STRSEPARATE ("C1,E1,K1", ",", $rc)
//вывод в лог
FOR($a=0,$a<ARRSIZE($rc))
   LOGWRITE($a," = ",$rc[$a])
END_CYC
halt

ну или так:
Code: (clickermann) [Select]
arrpush($rc, "C1")
$rc[1] = "E1"
arrpush($rc, "K1")
//вывод в лог
FOR($a=0,$a<ARRSIZE($rc))
   LOGWRITE($a," = ",$rc[$a])
END_CYC
halt
Title: Re: [Alpha/Beta Testing]
Post by: Axelenz on March 30, 2018, 11:19:54 PM
Сенкс, но я выберу лучше способ через коды... ;) Больше не хочу связываться с буквой "E"  ;)

Code: (clickermann) [Select]
arrpush($rc, 67) // "C"
arrpush($rc, 69) // "E"
arrpush($rc, 75) // "K"
//вывод в лог
FOR($a=0,$a<ARRSIZE($rc))
   LOGWRITE($a," = ", STRCONCAT(CHAR($rc[$a]),"1"))
END_CYC

Code: [Select]
23:05:35 0 = C1
23:05:35 1 = E1
23:05:35 2 = K1

А для использования исключительно в Excel рекомендую вид ссылки на ячейку:
Code: (clickermann) [Select]
arrpush($rc, "$E$1")
Title: Re: [Alpha/Beta Testing]
Post by: Cleoss on March 31, 2018, 12:15:47 PM
Когда пимерно пофиксится саппресс подавление ошибок? Уже месяц не пишу на КЛМНе, не вижу смысла -- скрипты нормально не выполняются. Ошибки выскакивают на ровном месте (в настройках подавление стоит), оператор равенства поменян, условия сломаны были, юникода в файлах нету на некириллической винде + файлы создаются без bom (тут в жалобах уже кидали скрин интерфейса главной формы с исковерканным кракозябликами  русским -- то же самое и с создаваемыми "юникодовскими" файлами). И в своих файлах настроек клмн как не понимал юникод, так и не бум-бум.
Title: Re: [Alpha/Beta Testing]
Post by: i0 on March 31, 2018, 11:34:05 PM
2Johnny
случайно заметил, что имя класса окна кликермана - рандомный набор букв. причём меняется от запуска к запуску.
не замечал такого у других прог, оно как бы и не мешает, но подозрительно, вдруг на что-то внутри кликермаа влияет
Title: Re: [Alpha/Beta Testing]
Post by: Vint on April 01, 2018, 10:58:40 AM
2Johnny
случайно заметил, что имя класса окна кликермана - рандомный набор букв. причём меняется от запуска к запуску.
не замечал такого у других прог, оно как бы и не мешает, но подозрительно, вдруг на что-то внутри кликермаа влияет
Давно это увидел, когда делал определение собственного hwnd и pid не через заголовок. Заголовок в разных версиях чуть по другому писался.
Так вот, пришел к выводу, что это сделано специально рандомом, как раз для противодействия задачи аналогичной моей. Чтобы защиты тупо не прописали себе в базы эти классы.

И как это,  не мешает... мешает ещё как. Мне мешало сделать надежное определение окна для любых заголовков и для всех разумных версий КМ.

Там есть главное окно 1х1 прозрачное в центре экрана, а видимое нами 'главное окно' являетя дочерним к нему. Вот у главного класс всегда один. Я искал этот класс и брал первое дочернее, profit.
Title: Re: [Alpha/Beta Testing]
Post by: i0 on April 01, 2018, 11:25:26 AM
Quote
Так вот, пришел к выводу, что это сделано специально рандомом, как раз для противодействия задачи аналогичной моей.
...
Там есть главное окно 1х1 прозрачное в центре экрана, а видимое нами 'главное окно' являетя дочерним к нему. Вот у главного класс всегда один. Я искал этот класс и брал первое дочернее, profit.
да, наверняка так и есть. спс, нашёл это окно владельца, задача решена
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on April 01, 2018, 02:27:11 PM
Там есть главное окно 1х1 прозрачное в центре экрана, а видимое нами 'главное окно' являетя дочерним к нему. Вот у главного класс всегда один. Я искал этот класс и брал первое дочернее, profit.

чевооо? эт что еще за окно, я такого не делал это же ломает саму идею рандомных классов
откуда оно взялось и как на него посмотреть?
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on April 01, 2018, 02:35:20 PM
Когда пимерно пофиксится саппресс подавление ошибок? Уже месяц не пишу на КЛМНе, не вижу смысла -- скрипты нормально не выполняются. Ошибки выскакивают на ровном месте (в настройках подавление стоит)
так вместо того что бы бунтовать надо было описать ошибку. ошибка есть ошибка, хоть ты заподавляйся. их быть вообще не должно.

Quote
оператор равенства поменян, условия сломаны были,
ниче не сломано ниче не поменяно. по крайней мере в последней БЕТА версии, коих было уже немало. и тот факт, что вы пропустили возвращение "старого равно" (впрочем, с сохраненинием нового) говорит как раз о том, что следим мы невнимательно.
если вам раз в жизни попалось гнилое яблоко, это не повод отказаться от них навсегда

Quote
юникода в файлах нету на некириллической винде + файлы создаются без bom (тут в жалобах уже кидали скрин интерфейса главной формы с исковерканным кракозябликами  русским -- то же самое и с создаваемыми "юникодовскими" файлами). И в своих файлах настроек клмн как не понимал юникод, так и не бум-бум.
ну не знаю. мне новая (ну как новая... раньше то все вообще писалось в Delphi 7) RAD студия юникод обещала, но видимо в двойке там это еще не доделано было. надо скачать че нить по новее.
я так то только адаптировал интерпретатор и всякие динамические распределения памяти
Title: Re: [Alpha/Beta Testing]
Post by: i0 on April 01, 2018, 02:48:30 PM
Quote from: Johnny
чевооо? эт что еще за окно, я такого не делал это же ломает саму идею рандомных классов
откуда оно взялось и как на него посмотреть?
ууупс  ::)
Title: Re: [Alpha/Beta Testing]
Post by: dramster on April 08, 2018, 08:43:20 PM
Неужели, в новой версии можно использовать CRLF  :D

Code: (clickermann) [Select]
print(char(13),char(10),"первая строка",char(13),char(10),"вторая строка",char(13),char(10),"третья строка")

$mr = dialogbox(STRCONCAT ("первая строка",char(13),char(10),"вторая строка",char(13),char(10),"третья строка"), 4)

halt

(https://i.imgur.com/ZkIREkL.png)
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on April 08, 2018, 09:26:07 PM
Неужели, в новой версии можно использовать CRLF  :D

Действительно!
А чтобы упростить вставку переноса строки можно воспользоваться #define
Code: (clickermann) [Select]
#define @CR:char(13),char(10)

TOCLIP(STRCONCAT("Текст 1", @CR, "Текст 2", @CR,"Текст 3"))
HALT
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on April 09, 2018, 06:26:11 PM
когда же это кончится...
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on April 09, 2018, 06:56:51 PM
Теперь не грузятся старые скрипты в ANSI кодировке если в них присутствует кириллица.
Неужели нельзя сделать совместимость?
Title: Re: [Alpha/Beta Testing]
Post by: Graubart on April 11, 2018, 06:14:51 PM
ДИРЕКТИВЫ ПРЕПРОЦЕССОРА
Так как в последней версии пользователь может сам выбирать "GUI идентификатор программы", который отображается в главном окне, неплохо бы отображать во всех диалоговых окнах (INPUTBOX, DIALOGBOX, RADIOBOX и, надеюсь, новых) рядом с "GUI" имя скрипта #name. Часто бывает так, запустив несколько скриптов, вдруг всплывает диалоговое окно, требующее новых инструкций. Приходится искать от какого проекта окно.
Title: Re: [Alpha/Beta Testing]
Post by: Graubart on April 11, 2018, 06:23:41 PM
Писал это ВК. Повторю и здесь.

Очень порадовала новая функция CHAR в последней версии КМ. Жду от автора обратную функцию ASC("symbol").

В процедуры работы с числами желательно добавить функцию MOD - Деление по модулю:
$a MOD $b = $a - $b * INT($a / $b)
Title: Re: [Alpha/Beta Testing]
Post by: Graubart on April 11, 2018, 06:29:38 PM
INPUTBOX и RADIOBOX
Если в DIALOGBOX шрифт определяется "Свойства: Экран" на вкладке "Оформление", "Дополнительно", "Окно сообщения", то в INPUTBOX и RADIOBOX шрифты постоянные, заданные автором КМ.  Желательно привести их к общим настройкам экрана или хотя бы иметь возможность менять их в файле config.ini.
ИМХО кнопка "ОК" в INPUTBOX должна быть до нажатия любого переключателя не активной. Ни один переключатель не должен иметь зеленого индикатора, который появится только после выбора или перевыбора. Можно задать место индикатора по умолчанию.
RADIOBOX (message, radio1, ...,[default])
Параметры
message - сообщение диалогового окна
radio1 - строка, описывающая переключатель
default - место зеленого индикатора. Если default больше количества переключателей, он не учитывается.
Title: Re: [Alpha/Beta Testing]
Post by: Graubart on April 11, 2018, 06:41:17 PM
DIALOGBOX можно сделать удобнее.
DIALOGBOX (message, buttons1, buttons2, buttons3, [icon])
Параметры
message - сообщение диалогового окна
buttons1,2,3... - порядковый номер кнопки
$inscription(buttons n) - надпись на соответствующей кнопке
icon - код иконки
Теперь коды наборов кнопок не нужны, их заменят надписи на кнопках. Возвращаемые коды равны порядковым номерам кнопок. Коды иконок остаются. Количество кнопок можно ограничить до 6, а можно и без ограничений.

Пример
// Выводит диалоговое окно с тремя кнопками - Пиво, Сок, Вода.
$message = "Что будем пить?"
$inscription(buttons1) = "Пиво"
$inscription(buttons2) = "Сок"
$inscription(buttons2) = "Вода"
$mr = DIALOGBOX($message, buttons1, buttons2, buttons2, [2])
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on April 11, 2018, 08:31:50 PM
подумаем, ага
тем временем очередная сборка

Clickermann v4.13.13b
то же что 12b, только с поддержкой старых ANSI файлов.
напоминаю что теперь все файлы (кроме ini, правда пока) имеют кодировку UTF-8
при любом сохранении файлы будут перекодированы

http://rgho.st/7btZpvcc4
Title: Re: [Alpha/Beta Testing]
Post by: h31p on April 12, 2018, 12:19:58 AM
Clickermann v4.13.13b
то же что 12b,

а где можно узнать, что было в 12 по сравнению с 11?
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on April 12, 2018, 10:21:04 AM
Clickermann v4.13.13b
то же что 12b,
а где можно узнать, что было в 12 по сравнению с 11?
Исправление arrpush и то что я описал, переход на utf8 в файлах. С последним были недоработки небольшие.
Title: Re: [Alpha/Beta Testing]
Post by: Vint on April 12, 2018, 10:54:13 AM
А почему выбран с BOM? Скрипты тоже должны быть с BOM или без разницы?
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on April 12, 2018, 11:15:43 AM
А почему выбран с BOM? Скрипты тоже должны быть с BOM или без разницы?
Вот .13b и делает как раз "без разницы" В .12b скрипты в ANSI с кириллицей внутри не грузились.
Title: Re: [Alpha/Beta Testing]
Post by: Vint on April 12, 2018, 11:28:35 AM
Вот .13b и делает как раз "без разницы" В .12b скрипты в ANSI с кириллицей внутри не грузились.
Вопрос не про ANSI, а про UTF-8 с BOM и без BOM.
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on April 12, 2018, 11:32:12 AM
А почему выбран с BOM? Скрипты тоже должны быть с BOM или без разницы?
Потому что bom говорит нам однозначно что перед нами текст в кодировке utf8. Если же его убрать то определение типа кодировки превратится в веселую угадайку с эврестическим анализом текста.
При работе через чисто через кликер о кодировке думать не надо. При работе в других вещах следите чтоб был либо ansi как и раньше, либо utf8 с bom (проверяется легко - пустой файл будет весить три байта)
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on April 12, 2018, 11:33:33 AM
Вот .13b и делает как раз "без разницы" В .12b скрипты в ANSI с кириллицей внутри не грузились.
Вопрос не про ANSI, а про UTF-8 с BOM и без BOM.

Протестил, в .13b UTF-8 без BOM вместо кириллицы абракодабра.
Значит BOM обязателен.
Title: Re: [Alpha/Beta Testing]
Post by: Vint on April 12, 2018, 11:36:47 AM
В конфиге
Quote
; Код сообщения, на которое должена реагировать ф-ция GetMessage
msg_hook = 2222

В справке пример с 1024.
Будут подставлять пример из справки и кричать, что не работает. Как я кричал  :D ;D
Title: Re: [Alpha/Beta Testing]
Post by: Vint on April 12, 2018, 11:54:56 AM
Протестил, в .13b UTF-8 без BOM вместо кириллицы абракодабра.
Значит BOM обязателен.
Очень хреново. Во всяких Notepad++ и прочих выставил по умолчанию UTF-8 без BOM. Для питона и PHP - противопоказано, там BOM не катит. Для прочей хрени типа веб-шаблонов и CSS тоже нежелательно. Вот теперь веселуха будет каждый раз не забыть сменить кодировку.

Потому что bom говорит нам однозначно что перед нами текст в кодировке utf8. Если же его убрать то определение типа кодировки превратится в веселую угадайку с эврестическим анализом текста.
У нас же всего два вида UTF8 и cp1251 не нужно определять кучу кодировок. Можно определять при открытии, а сохранять всегда в UTF-8.

Ну да ладно... всё равно будут путаться пока не разберутся.
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on April 12, 2018, 02:54:00 PM
Прекрасно бом катит в php говорю как практикующий.
 Да и для вашего хваленого питона уверен три байта в начале файла - не проблема. А если проблема, то пусть они подстраиваются под нас. Соблюдать соглашение о передаче данных это не очень то и хреново.

Title: Re: [Alpha/Beta Testing]
Post by: Vint on April 12, 2018, 05:06:17 PM
Ну это смотря под какие версии используются. Под старые но всё ещё поддерживаемые возникают проблемы. Я про питон 2 ветки.

wikipedia:
Quote
А наличие маркера в начале файлов PHP (до тега <?php) приводит к тому, что пустая строка отправляется клиенту ещё до начала выполнения кода, что вызывает сбой в тех случаях, когда клиенту должен сразу отправиться HTTP-заголовок (при переадресации запроса, например)
Title: Re: [Alpha/Beta Testing]
Post by: Vint on April 12, 2018, 05:57:15 PM
Не получается передать параметры программе если запускать через ассоциацию файлов.

Т.е. если просто запускать программу с параметрами и руками грузить скрипт, то параметры передаются:
Code: [Select]
"D:\Яндекс Диск\Clickermann v4.13.013b\Clickermann v4.13.013b x32.exe" 123 abc
При указании полного пути к экзешнику и файлу тоже нормально
Code: [Select]
"D:\Яндекс Диск\Clickermann v4.13.013b\Clickermann v4.13.013b x32.exe" "D:\Яндекс Диск\Clickermann v4.13.013b\projects\Новые переменные 4.13.cms" 123 abc
Обычный запуск БЕЗ  доп. параметров через ассоциации работает как всегда
Code: [Select]
"D:\Яндекс Диск\Clickermann v4.13.013b\projects\Новые переменные 4.13.cms"
А вот попытка запустить напрямую скрипт +доп. параметры не удалась
Code: [Select]
"D:\Яндекс Диск\Clickermann v4.13.013b\projects\Новые переменные 4.13.cms" 123 abcили
Code: [Select]
"D:\Яндекс Диск\Clickermann v4.13.013b\projects\Новые переменные 4.13.cms" "123 abc"
В параметрах только путь к кликеру и путь к скрипту остальных нет
Quote
$_param_str  D:\Яндекс Диск\Clickermann v4.13.013b\Clickerm
ann v4.13.013b x32.exe;D:\Яндекс Диск\Clickermann v4.13.013b\projects\Новые переменные 4.13.cms;

Это так, просто для информации. Есть возможность передавать и хорошо.
Title: Re: [Alpha/Beta Testing]
Post by: Vint on April 12, 2018, 06:01:48 PM
Предлагаю приложить qinsert_menu.txt от kiril-а для 4.13.013
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on April 12, 2018, 06:04:08 PM
Не получается передать параметры программе если запускать через ассоциацию файлов.
это к мистеру Гейтсу. возможно он отрезал таким образом ряд багов на случай если кто то решит переписать ассоциации или еще что.
хотя завтра какой нить Notepad# перепишет под себя *.cms и что ему ваши параметры?..
Title: Re: [Alpha/Beta Testing]
Post by: Vint on April 12, 2018, 06:07:01 PM
Понятно. Ну это я так, чтоб народ не мучался всё тестируя заново.
Я к примеру всегда запускал из bat-ов или планировщика указывая только скрипт. А здесь облом. Нужно запомнить.
Title: Re: [Alpha/Beta Testing]
Post by: Vint on April 12, 2018, 06:25:41 PM
Ещё вопрос, почему убрали параметр
Quote
; Использовать для работы с графикой только первичный монитор (для многомониторных систем)
only_primary_monitor

не работал? Вроде удобная штука.
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on April 12, 2018, 06:31:45 PM
Ещё вопрос, почему убрали параметр
Quote
; Использовать для работы с графикой только первичный монитор (для многомониторных систем)
only_primary_monitor

не работал? Вроде удобная штука.
после того как getscreen научился хоть по пикселю обновлять, смысл его исчез
Title: Re: [Alpha/Beta Testing]
Post by: Vint on April 12, 2018, 07:08:21 PM
В константах
Code: [Select]
#PRINTSCREEN 154
У меня он определяется как 44 на XP SP3

Проверьте на других системах.
Title: Re: [Alpha/Beta Testing]
Post by: i0 on April 12, 2018, 09:00:56 PM
Quote
У меня он определяется как 44 на XP SP3
Проверьте на других системах.
44
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on April 15, 2018, 09:37:01 PM
Ну теперь то достаточно хорошо для публикации? Версия 13.13 счастливая?

(https://pp.userapi.com/c846018/v846018382/258ae/lh8gJMl7-wA.jpg)
Title: Re: [Alpha/Beta Testing]
Post by: Graubart on April 18, 2018, 07:35:53 PM
Ну теперь то достаточно хорошо для публикации? Версия 13.13 счастливая?

Для меня не очень. Хачу харчо, вернее - прямую функциию копирования файлов.
COPY(file1, file2)
Надоело костыли мастырить через Clip или через массив.
Title: Re: [Alpha/Beta Testing]
Post by: Vint on April 19, 2018, 05:11:47 PM
Пока не поздно, ввести наконец проверку на этапе запуска. Хотя бы примитивную первого уровня сложности (без учёта переплетений).
После удаления комментариев, считаем суммарно

Code: [Select]
IF + IF_PIXEL_IN + IF_PICTURE_IN  = END_IF
FOR + WHILE = END_CYC

SWITCH = END_SWITCH
SUB = END_SUB
THREAD = END_THREAD
Скобки '(' = ')'
Само собой не учитывая данные в строках (строчных переменных).

При несовпадении выводить сообщение о ошибке:
"Не совпадает ...тратата...
Рекомендуется воспользоваться кнопкой 'волшебная палочка' ..."

Запуск не производить.

А то уже капец достало, постоянно и регулярно детские болезни левизны в коммунизме.

А, ещё подпрограммы 'SUB(ляляля'  должны быть выше всех вызовов  'ляляля('

Title: Re: [Alpha/Beta Testing]
Post by: Graubart on April 20, 2018, 01:56:36 PM
Пока не поздно, ввести наконец проверку на этапе запуска. Хотя бы примитивную первого уровня сложности (без учёта переплетений).

А, ещё подпрограммы 'SUB(ляляля'  должны быть выше всех вызовов  'ляляля('

Согласен. А еще кумарит, что #include должно уже быть готово до запуска  проекта. А если я програмирую в теле скрипта одну подключаемую штуку, то фигвам.
Title: Re: [Alpha/Beta Testing]
Post by: Graubart on April 20, 2018, 03:13:34 PM
Пока не поздно, ввести наконец проверку на этапе запуска. Хотя бы примитивную первого уровня сложности (без учёта переплетений).

А, ещё подпрограммы 'SUB(ляляля'  должны быть выше всех вызовов  'ляляля('

Согласен. А еще кумарит, что #include должно уже быть готово до запуска  проекта. А если я програмирую в теле скрипта одну подключаемую штуку, то фигвам.
фиг вам и это правильно. Научитесь пользоваться комментариями или создать файл на который ссылаетесь.

Чё то, дядя, ты мимо темы ответил. Видимо не въехал в смысл мною написаного. Разжевывать ламерам нет никакого желания.
Title: Re: [Alpha/Beta Testing]
Post by: i0 on April 20, 2018, 03:51:12 PM
Graubart подключение инклюдов на лету / динамическое  что ли?
ууууууу, Джонни будет "рад" )
Title: Re: [Alpha/Beta Testing]
Post by: Vint on April 20, 2018, 06:02:41 PM
Нафиг, нафиг. Есть другие способы.
Title: Re: [Alpha/Beta Testing]
Post by: Graubart on April 20, 2018, 09:27:14 PM
Graubart подключение инклюдов на лету / динамическое  что ли?
ууууууу, Джонни будет "рад" )

Именно это я имел ввиду. Так я даже не предлагаю Джонни делать такую заморочку. Просто кумарит. А на костылях это можно обойти. В одном скрипте делаю инклюд, затем передаю управление другому скрипту, который его подключает. Вообще на костылях в КМ можно сделать всё... ну, почти всё:)...
Title: Re: [Alpha/Beta Testing]
Post by: dramster on April 23, 2018, 07:13:51 PM
в v4.13...  не работает вызов DLL

http://crapware.aidf.org/forum/index.php?topic=3937.msg26940#msg26940
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on April 26, 2018, 08:10:37 PM
да, было такое дело. связано с нашим переходом на юникод

Clickermann v4.13.014b

- исправлен (относительно бет) вызов "плагинов" через call
- добавлены простенькие проверки наличия нужного кол-ва end_ и скобок
- исправлен автоформат для switch

http://rgho.st/7PmZBkR6w
Title: Re: [Alpha/Beta Testing]
Post by: АНТИКЛАН on April 26, 2018, 08:53:23 PM

- исправлен автоформат для switch


Это то о чем я думаю? У кейсов тоже будет отступ как я и предлагал? :)

Скорей бы релиз. Я уже умираю как хочу всё это попробовать! :D
Title: Re: [Alpha/Beta Testing]
Post by: h31p on April 29, 2018, 11:44:44 PM
уже упоминалось, просьба таки сделать чтоб "запоминалась" геометрия окна лога сообщений. наверное, все его каждый раз "тянут" для себя на одно и то же место - чё б ему сразу там не появляться.
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on April 30, 2018, 08:27:55 AM
уже упоминалось, просьба таки сделать чтоб "запоминалась" геометрия окна лога сообщений. наверное, все его каждый раз "тянут" для себя на одно и то же место - чё б ему сразу там не появляться.
учитывая, что лог появляется относительно основных окон, позиция которых вполне себе запоминается, не вижу смысла.
да и в "боевом режиме" окно лога не используется. в основном для отладки на стадии написания

хватит хотелок. завтра праздничный релиз
Title: Re: [Alpha/Beta Testing]
Post by: h31p on April 30, 2018, 08:29:35 PM
учитывая, что лог появляется относительно основных окон, позиция которых вполне себе запоминается, не вижу смысла.

ну, относительно окна редактора (откуда в 99.9% случаев и вызывается) - ога, появляется в одном и том же месте.
только вот не там где надо - перекрывает собой редактор :) и каждый раз мув+ресайз его приходится.
ваще здорово было бы тогда хотя бы "появлять" его под редактор, такой же ширины, и высотой строк в 5-10.
но наверное, просто запоминать где и каким его в последний раз закрыли - будет таки проще и практичнее :)

Quote
да и в "боевом режиме" окно лога не используется. в основном для отладки на стадии написания

в боевом режиме лог не нужен вообще, факт. но есть ещё один важный режим - ДОписания, который, как ремонт в доме, обычно не прекращается никогда.
Title: Re: [Alpha/Beta Testing]
Post by: Vint on May 03, 2018, 11:13:57 AM
У меня всё таки вопрос по скринам.
С начала версии 4.13  в скринах по умолчанию проставлена прозрачность в альфа канале. В итоге весь белый цвет с прозрачностью.
В просмотрщике показывающем прозрачность стало невозможно работать с скринами.
отображение см. скрин.

Сам BMP отличается. см. HEX
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on May 03, 2018, 05:46:36 PM
прозрачности быть не должно. поглядим.

* шутка про внезапно вспоминающийся баг раз в неделю *
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on May 14, 2018, 07:43:06 PM
ну теперь то можно, что ли?
(прозрачность поправил. картинки сохраняются в 24 битной схеме. ранее были в 32)
Title: Re: [Alpha/Beta Testing]
Post by: wireshark on May 14, 2018, 09:51:47 PM
Все молчат, лучше выложить, пока опять чего не написали)
Title: Re: [Alpha/Beta Testing]
Post by: open_78 on May 14, 2018, 09:53:40 PM
Если не трудно исправьте пожалуйста цвет параметров в подпрограмме.
Title: Re: [Alpha/Beta Testing]
Post by: Qwerry on May 18, 2018, 09:32:43 PM
Тоже немножко отпишусь здесь  :)

Цикл FOR() в Шаблонах v. 4.12.014b предлагается с равно, а в Командах он остался как был.

Code: (clickermann) [Select]
/// Шаблоны/циклы,условия/
FOR($a=0,$a<5) 

END_CYC

///Команды/Условия,цикл,подпрограммы/for-цикл с параметром 
FOR($a, $a < 5)
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on May 19, 2018, 07:33:05 PM
пошли придирки.
ну все, завтра выкатываю релиз.
Title: Re: [Alpha/Beta Testing]
Post by: i0 on May 21, 2018, 08:59:23 PM
ура! и спасибо.

config.ini: google=32839
а что это?
Title: Re: [Alpha/Beta Testing]
Post by: АНТИКЛАН on May 22, 2018, 06:21:47 AM
Поздравляю всех с новым релизом! Огромная благодарность Johnny за его труд и терпение, а также всем кто все это время помогал в тестировании, оформлял баг-репорты и просто морально поддерживал. Ура!
Title: Re: [Alpha/Beta Testing]
Post by: Evgenij_M on May 22, 2018, 09:24:06 AM
Пусть у меня работает всего один робот (больше, пока, некуда применить), но я прекрасно понимаю ЗНАЧЕНИЕ самого факта существования такого инструмента, как Clickermann... Он - единственный в своём роде... Таким сбалансированным сочетанием потребительских свойств, как у Clickermann-а, не может похвастаться ни один, из известных мне, инструментов.

Полностью разделяю восторг и радость предыдущих выступающих :)

Браво и огромная благодарность Автору!!!

(вот бы ещё один канальчик для пожертвований создать из какой-нибудь широко распространённой платёжной системы... За пределами РФ КИВИ-кошелёк приходится специально для Clickermann-а создавать, хоть Clickermann и тысячу раз этого достоин)
Title: Re: [Alpha/Beta Testing]
Post by: i0 on May 23, 2018, 01:33:50 AM
мои поделки в 7к строк написанные местами под 4.11, местами под 4.12, работают идеально под финалом 4.13.
i0 в шоке, великолепный релиз

нарвался только на один момент обратной несовместимости: screenshot и screenshotex теперь делают файлы с восьмизначным индексом. "screenshotXXXXXXXX.bmp" вместо четырёхзначного. это не отражено нигде, ни в комментариях к релизу, ни в справке.

p.s. и всё-таки, что такое config.ini: google=32839?
Title: Re: [Alpha/Beta Testing]
Post by: АНТИКЛАН on May 23, 2018, 04:02:03 AM
Потратил 2 часа на поиск причины почему у меня после обновления перестали работать некоторые условия. Оказывается теперь Clickermann не сравнивает значения разных типов. Как минимум числовые и строковые. Не знаю было ли это багом или нет, но на 4.12 код ниже работал. Получается так что в коде ниже переменная инициализированная по-умолчанию нулём сравнивается со строкой. На 4.12 это прокатывало, сейчас уже нет. Теперь если нужно сравнить значение переменной с каким-либо другим значением, то типы этих значений должны совпадать. Покопался в справке по этой теме ничего не нашел. Было бы неплохо описать этот момент для новичков. Или я плохо искал. :D

Code: (clickermann) [Select]
DEFINE($VAR)
IF($VAR ! "TEXT")
   LOGWRITE("SOME TEXT")
END_IF
HALT
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on May 23, 2018, 07:48:20 AM
p.s. и всё-таки, что такое config.ini: google=32839?

Теперь кликер сам может делать скриншот 100X100 по координате курсора простым нажатием клавиш Alt+G
Можно поменять в настройках горячих клавиш.
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on May 23, 2018, 07:34:41 PM
ура! и спасибо.

config.ini: google=32839
а что это?
тоже что и все остальное в той секции. кодированный хоткей.

Quote
нарвался только на один момент обратной несовместимости: screenshot и screenshotex теперь делают файлы с восьмизначным индексом. "screenshotXXXXXXXX.bmp" вместо четырёхзначного. это не отражено нигде, ни в комментариях к релизу, ни в справке.
почти к каждому релизу идет строка в духе:
Quote
Прочие оптимизации и исправления
присмотрись. вот это оно. учитывая что бету крутили считай год, я все запомнить не смог.



Title: Re: [Alpha/Beta Testing]
Post by: Johnny on May 23, 2018, 07:55:33 PM
Потратил 2 часа на поиск причины почему у меня после обновления перестали работать некоторые условия. Оказывается теперь Clickermann не сравнивает значения разных типов. Как минимум числовые и строковые. Не знаю было ли это багом или нет, но на 4.12 код ниже работал. Получается так что в коде ниже переменная инициализированная по-умолчанию нулём сравнивается со строкой. На 4.12 это прокатывало, сейчас уже нет. Теперь если нужно сравнить значение переменной с каким-либо другим значением, то типы этих значений должны совпадать.
не обязательно. у нас тут просто появляется небольшое промежуточное звено а-ля сравнение несравнимого.
к примеру код
Code: (clickermann) [Select]
DEFINE($VAR)
IF($VAR ! "1")
   LOGWRITE("SOME TEXT")
END_IF
HALT
прекрасно и ожидаемо отработает несмотря на различие типов.

в твоем же примере сравнивая число 0 с текстом "TEXT", который кликер не может автоматически подогнать, теперь выдается ни false ни true а что то типа man, i dunno
типа суперпозиции а-ля кот Шредингера, когда и не да и не нет. при этом в случае возникновения такой ситуации при наличии отработает блок else.

вообще нормальные компиляторы в таком случае либо выдают какую то дичь (привет ява) либо ошибку еще на стадии компиляции (привет все остальные). так что мы еще отделались малой кровью.

p.s. надо говорить что сравнивать числа с текстом - это плохо?
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on May 23, 2018, 08:05:43 PM
Пусть у меня работает всего один робот (больше, пока, некуда применить), но я прекрасно понимаю ЗНАЧЕНИЕ самого факта существования такого инструмента, как Clickermann... Он - единственный в своём роде... Таким сбалансированным сочетанием потребительских свойств, как у Clickermann-а, не может похвастаться ни один, из известных мне, инструментов.

Полностью разделяю восторг и радость предыдущих выступающих :)

Браво и огромная благодарность Автору!!!
ат души!

Quote
(вот бы ещё один канальчик для пожертвований создать из какой-нибудь широко распространённой платёжной системы... За пределами РФ КИВИ-кошелёк приходится специально для Clickermann-а создавать, хоть Clickermann и тысячу раз этого достоин)
хз. ну хочешь биткоиновый кошелек дам, если они еще хоть что то стоят?)
вообще поскольку сбор доната (и вообще коммерциализация) никогда не был целью, вопрос сбора средств проработан никак. если кто подскажет как сейчас собирают денежку (не считая Краудфандинга ) да еще с приемом комментариев всяких типа как у стримеров, с радостью послушаю. я про это даже не думал. не того уровня у нас тут финансовые потоки так то
Title: Re: [Alpha/Beta Testing]
Post by: АНТИКЛАН on May 23, 2018, 11:07:51 PM
Потратил 2 часа на поиск причины почему у меня после обновления перестали работать некоторые условия. Оказывается теперь Clickermann не сравнивает значения разных типов. Как минимум числовые и строковые. Не знаю было ли это багом или нет, но на 4.12 код ниже работал. Получается так что в коде ниже переменная инициализированная по-умолчанию нулём сравнивается со строкой. На 4.12 это прокатывало, сейчас уже нет. Теперь если нужно сравнить значение переменной с каким-либо другим значением, то типы этих значений должны совпадать.
не обязательно. у нас тут просто появляется небольшое промежуточное звено а-ля сравнение несравнимого.
к примеру код
Code: (clickermann) [Select]
DEFINE($VAR)
IF($VAR ! "1")
   LOGWRITE("SOME TEXT")
END_IF
HALT
прекрасно и ожидаемо отработает несмотря на различие типов.

в твоем же примере сравнивая число 0 с текстом "TEXT", который кликер не может автоматически подогнать, теперь выдается ни false ни true а что то типа man, i dunno
типа суперпозиции а-ля кот Шредингера, когда и не да и не нет. при этом в случае возникновения такой ситуации при наличии отработает блок else.

вообще нормальные компиляторы в таком случае либо выдают какую то дичь (привет ява) либо ошибку еще на стадии компиляции (привет все остальные). так что мы еще отделались малой кровью.

p.s. надо говорить что сравнивать числа с текстом - это плохо?

И все таки этот момент надо осветить хотя бы в справке, для новичков. Или для таких тупиц как я например. =) А вообще может жестко ограничить в интерпретаторе что сравниваться должны только значения одинаковых типов, с выводом ошибки интерпретации в случае нарушения данного правила? Сильно в меня не кидайтесь я просто сторонник максимально логичного и понятного кода. =)

Пусть у меня работает всего один робот (больше, пока, некуда применить), но я прекрасно понимаю ЗНАЧЕНИЕ самого факта существования такого инструмента, как Clickermann... Он - единственный в своём роде... Таким сбалансированным сочетанием потребительских свойств, как у Clickermann-а, не может похвастаться ни один, из известных мне, инструментов.

Полностью разделяю восторг и радость предыдущих выступающих :)

Браво и огромная благодарность Автору!!!
ат души!

Quote
(вот бы ещё один канальчик для пожертвований создать из какой-нибудь широко распространённой платёжной системы... За пределами РФ КИВИ-кошелёк приходится специально для Clickermann-а создавать, хоть Clickermann и тысячу раз этого достоин)
хз. ну хочешь биткоиновый кошелек дам, если они еще хоть что то стоят?)
вообще поскольку сбор доната (и вообще коммерциализация) никогда не был целью, вопрос сбора средств проработан никак. если кто подскажет как сейчас собирают денежку (не считая Краудфандинга ) да еще с приемом комментариев всяких типа как у стримеров, с радостью послушаю. я про это даже не думал. не того уровня у нас тут финансовые потоки так то

А надо бы. Проект сам себя то уж должен содержать. Оплата домена, хостинга ну и на пирожок для мотивации =)
Title: Re: [Alpha/Beta Testing]
Post by: Vint on May 23, 2018, 11:42:26 PM
На жидкий пирожок. В смысле жидкий хлеб.
Title: Re: [Alpha/Beta Testing]
Post by: i0 on May 31, 2018, 08:54:50 AM
Quote
+ Блокировка редактирования кода во время выполнения скрипта
привела к тому, что теперь невозможно на паузе вбить переменную и посмотреть значение (её нет в main скрипта, только в инклюде). Может быть сделать имя переменной в окне Debug редактируемым?
Title: Re: [Alpha/Beta Testing]
Post by: Vint on May 31, 2018, 03:39:01 PM
Не понял куда вбить нужно. У меня работает по прежнему и просмотр и изменение.
Если скрипт поставить на паузу. Или ты имеешь ввиду на рабочем скрипте когда отрабатывает WAIT?
Title: Re: [Alpha/Beta Testing]
Post by: i0 on May 31, 2018, 08:16:47 PM
запускаю скрипт. ставлю на паузу. открываю редактор кликера. вижу скрипт без инклюдов. мне нужно посмотреть переменную, которая только в инклюде встречается.
раньше я её руками вбивал в код в свободную строку, выделял и смотрел значение, а после откатывал изменения и закрывал редактор.
теперь редактирование заблокировано
Title: Re: [Alpha/Beta Testing]
Post by: Vint on June 01, 2018, 09:15:29 AM
Ничёсе порядок действий.
Так на такое и небыло рассчитано. Правильно что нельзя.
А вот отдельное поле с вводом переменной нужно. Даже не так, нужно изменить эту систему, сейчас просматривать не удобно. Все эти выделения, целиться, потом ПКМ... брррр.
Title: Re: [Alpha/Beta Testing]
Post by: i0 on June 04, 2018, 08:11:00 PM
скриншот из окна редактора неправильно работает в многомониторных системах.если дополнительный слева или сверху, то даже скриншот на основном мониторе берёт непонятно какую область. но это не критично, просто на заметку.
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on June 10, 2018, 11:32:03 AM
Баг 4.13

Скрипт выполняет анализ цвета в оконном режиме. Если во время выполнения скрипта окно исчезнет, при последующей перепривязке кликер перестает видеть цвет. Редактор при этом цвет показывает, но функции выводят в лог код цвета 0.
Если отключить оконный режим то при выполнении выскакивает ошибка интерпретации GETSCREEN.

Проблему решает только перезапуск кликера.

Кликер должен определять существует привязанный HWND или уже нет, и возвращать 0 в $_hwnd если окно исчезает.
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on October 26, 2018, 07:56:47 PM
Новый сезон нашего шоу!
Версия 4.14.000b х32

http://rgho.st/6kRSxdxkl

Шо нового в основном:
- инструкции работы с файлами и файловой системой
- обновленный colormode, тепепрь на математике а не на битовых операциях
- цветной текст в логе (см. printc, в хистори забыл добавить..)
- мелкие фиксы

так то все описано в справке, кроме упомянутого
Title: Re: [Alpha/Beta Testing]
Post by: dramster on October 26, 2018, 10:36:20 PM
Замечен баг при вызове подпрограммы со строковым параметром. Кстати он был и в 4.13 . Если строка длинная (более 253 символов), то в подпрограмме к ней добавляются ковычки  :-\ .

Code: (clickermann) [Select]
SUB(test, $str_par)
print(strcut($str_par,1,1)," ",$a) //смотрим, какой символ первый в строке
END_SUB

$str = ""
FOR($a=1,$a<99999)
   $str = strconcat($str, "a") //добавляем символ к имеющейся строке
   test($str)  //вызов с параметром этой стоки
   waitms(20)
END_CYC

лог:
Code: (текст) [Select]
....
22:30:19 a 247
22:30:19 a 248
22:30:19 a 249
22:30:19 a 250
22:30:19 a 251
22:30:19 a 252
22:30:20 a 253
22:30:20 " 254
22:30:20 " 255
22:30:20 " 256
22:30:20 " 257
22:30:20 " 258
22:30:20 " 259
....




В справке не написан диапазон режимов colormode  :(.
Мое мнение - нужно оставить старый вариант колормода для совместимости старых скриптов с новой версией. А новый вариант обозвать какнибудь иначе.
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on October 27, 2018, 09:14:40 AM
Quote
В справке не написан диапазон режимов colormode

пока что от 1 до 32.  33 - ч\б
эт скорее даже не режим, а уровень контрастности (вырезание полутонов).
можно в принципе уменьшить такой большой разбег, конечно, до любого кратного 32 значения. то есть до 16, 8 или 4

можно и сохранить старый для соместимости, но основным я бы его не делал. новая метода дает более корректный результат как с точки зрения цифр, так и с точки зрения визуального восприятия
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on November 02, 2018, 10:09:52 PM
Обновил файлы команд и шаблонов.

Может, если уж пошла модернизация, стоит добавить встроенное плавное перемещение мыши для кликов и move?
Это должен быть третий необязательный параметр скорости перемещения.
И надо что то делать с подвисание кликера во время работы функций. Например поиск картинок, невозможно остановить кликер пока функция не завершит работу.
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on November 03, 2018, 01:56:07 PM
Функция FCopy выдает ошибку если файл получатель уже существует.
Code: (clickermann) [Select]
FCopy("C:\Image.jpg","Image2.jpg")
Нужно добавить необязательный параметр перезаписи файла. Если не указано то не переписывать файл но и не выдавать ошибок на ровном месте.
Title: Re: [Alpha/Beta Testing]
Post by: Hito on November 09, 2018, 11:38:04 AM
Я не могу выбрать этот кликер для открывания файлов cms по умолчанию. Ни на 32-разрядной семерке, ни на 64-разрядной.
Title: Re: [Alpha/Beta Testing]
Post by: Hito on November 09, 2018, 12:03:48 PM
Я не могу выбрать этот кликер для открывания файлов cms по умолчанию. Ни на 32-разрядной семерке, ни на 64-разрядной.
Это твой личный выбор и мы его  искренне уважаем. Каждый выбирает то что ему больше нравится или к чему он привык.
(http://s17.rimg.info/1110f4a040e627baeb56331df566c107.gif) (http://smayliki.ru/smilie-1037782215.html)
:o

https://youtu.be/q5pLXZQrCyk (https://youtu.be/q5pLXZQrCyk)
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on November 09, 2018, 12:18:14 PM
Запусти кликер от админа, зайди в настройки кликера и нажми кнопку "добавить" в ассоциации файлов.
Title: Re: [Alpha/Beta Testing]
Post by: Hito on November 09, 2018, 12:20:56 PM
Запусти кликер от админа, зайди в настройки кликера и нажми кнопку "добавить" в ассоциации файлов.
Благодарю!
Title: Re: [Alpha/Beta Testing]
Post by: ya12 on November 09, 2018, 09:12:20 PM
А еще бы к CALL массивы прикрутить на вход и выход.
Title: Re: [Alpha/Beta Testing]
Post by: Hito on December 06, 2018, 07:39:05 PM
В общем тут одна херь мешает работать )) Эта херь наблюдалась и в более ранней версии, но отпишу уже тут.
Объясню ситуацию...
Я запускаю на компе 12 виртуальных машин и в каждой виртуалке запускается игра и кликер со скриптом. В каждом окне, как вы понимаете, игра одна и та же и скрипт в кликере один и тот же. В скрипте есть команда - WNDPOS ($hwnd,0,0), и эта команда работает нормально до тех пор, пока я не запущу еще 2-3 виртуальные машины (естественно с той же игрой и скриптом). После запуска дополнительных виртуалок, в них (в любых запущенных виртуалках) начинает выскакивать ошибка - "Ошибка при интерпретации строки: WNDPOS ($hwnd,0,0) Прервать выполнение сценария?". Как сами понимаете, эту ошибку я взять под контроль не могу, так как кликер при ней клинит (на остальные возможные ошибки винды и игрового клиента реакция в скрипте прописана). От чего эта ошибка появляется? У процессора мощи еще предостаточно даже при открытии дополнительных виртуалок (у него 12 ядер - 24 потока), памяти тоже предостаточно. Скорее всего какая-то реакция происходит от того, что слишком нагружаются диски, на которых расположены "диски" виртуальных машин. Так или иначе - есть какие-то мысли, как избежать этой ошибки? Ошибка-то какая-то глючная... Если она появилась 1 раз, то уже не пропадет, пока не перезагрузишь винду в виртуалке... Хоть ты игру перезапускай, хоть кликер - пофиг...
Title: Re: [Alpha/Beta Testing]
Post by: Hito on December 06, 2018, 08:40:00 PM
А вы точно уверены, что этот междусобойчик имеет какое-то отношение к тестированию новой версии?
Опять ты... "этот междусобойчик", как на старой, так и на новой версии присутствует.
Title: Re: [Alpha/Beta Testing]
Post by: Hito on December 07, 2018, 01:08:20 PM
Добавлю, что само окно, которое нужно переместить на координаты, в момент появления ошибки, существует. Там условия в скрипте:
Code: (clickermann) [Select]
$hwnd=wndfind("Заголовок окна")
IF($hwnd ! 0)
   WNDGETINFO($hwnd, $x_hwnd, $y_hwnd, $hwnd_width, $hwnd_height)
   IF(($x_hwnd ! 0)|($y_hwnd ! 0))
      WNDPOS($hwnd,0,0)
   END_IF
END_IF
Title: Re: [Alpha/Beta Testing]
Post by: Hito on December 07, 2018, 04:02:27 PM
В общем пока решил проблему тем, что запускаю второй кликер в каждой виртуалке, который контролит появление этой ошибки. Но это - корявый костыль...
Title: Re: [Alpha/Beta Testing]
Post by: Mitriy163 on December 20, 2018, 04:41:21 AM
Новый сезон нашего шоу!
Версия 4.14.000b х32

Шо нового в основном:
- цветной текст в логе (см. printc, в хистори забыл добавить..)

вопрос, как это правильно работает
printc("В таре №1 = 115 л.", 1582483) получаем цветной текст в логе - приятно, удобно, но с подстановкой переменной не работает
printc("В таре №1 = ", $PL_1_G," л.", 1582483) - получаем пропуск строки, хотя при написании print("В таре №1 = ", $PL_1_G," л.") - получаем текст в логе"В таре №1 = 115 л."
printc(В таре №1 = $PL_1_G, 1582483) - а так получаем цветной текст Втаре№1=115
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on December 20, 2018, 08:05:31 AM
вопрос, как это правильно работает

Для конкатенации строк в кликере есть функция STRCONCAT
Code: (clickermann) [Select]
printc(STRCONCAT("В таре №1 = ", $PL_1_G), 1582483)
Title: Re: [Alpha/Beta Testing]
Post by: Hito on January 23, 2019, 07:03:56 PM
- обновленный colormode, тепепрь на математике а не на битовых операциях

У меня вопрос... А старый colormode вообще убран будет? Просто по моим наблюдениям, новый далеко не всегда справляется с такой задачей, как например в полоске ХП все пиксли сделать одного цвета.
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on January 23, 2019, 08:40:51 PM
Конечно лучше бы для совместимости  оставить старый колормод, и добавить новый.
Title: Re: [Alpha/Beta Testing]
Post by: Hito on January 23, 2019, 10:20:16 PM
Конечно лучше бы для совместимости  оставить старый колормод, и добавить новый.

Типа colormode1 и colormode2
Просто мне, например, только из-за colormode придется остаться на более ранней версии кликера...
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on January 24, 2019, 07:44:57 PM
будет будет
осталось машину откачать. так то бета версия была готова еще в том году, но нисрослося.
Title: Re: [Alpha/Beta Testing]
Post by: Hito on February 10, 2019, 11:47:11 PM
Исходя из темы - http://crapware.aidf.org/forum/index.php?topic=4477.msg30530#msg30530 (http://crapware.aidf.org/forum/index.php?topic=4477.msg30530#msg30530)

Я тут подумал... Может сделать вывод этой ошибки отключаемым...? Параметр в config.ini:
Code: [Select]
; В случае непредвиденной ошибки программа преостановит сценарий и выдаст диалоговое окно
; Полезно отключать при оставлении работающей программы без контроля на длительное время
skip_error =0
на эту ошибку никак не влияет похоже. Но тут еще нюанс есть... Нужно, если вывод этой ошибки будет отключен, чтобы скрипт все же понимал как-то, что ошибка-то произошла и на самом деле никакой информации из ini-файла взято не было, или не внесено в файл. Или что можно придумать...?
Чтобы было понятней... У себя-то в программе я могу написать всю процедуру с ini-файлом через Try и в случае ошибки, какой-нибудь переменной, типа boolean, присвоить значение - true, а после всей операции, проверить значение этой переменной.
Code: [Select]
procedure TForm1.Button1Click(Sender: TObject);
begin
   error := False;   
   Try 
      variables := TIniFile.Create(ExtractFilePath(Application.ExeName)+'variables.ini');
      variables.WriteString('Agr1.1','relog','1');
      variables.Free;
   except
      error := True;
   end;
   if error then Данные не были внесены в ini-файл else Данные были успешно внесены в ini-файл;
end;
В кликере реализовать бы подобную возможность...
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on March 19, 2019, 07:06:54 PM
Скоро сказка сказывается, да не скоро дело делается

Clickermann v4.14.001b x32


Code: [Select]
+ Интерпретатор:
  + Теперь все процедуры, возвращающие массив, очищают его перед заполнением
  + Добавлена поддержка внешнего препроцессора и директива #preprocessor
  + Добавлены инструкции:
    + CODE
    + FREADDATA
    + FWRITEDATA
    + FDELETE
    + FCOPY
    + FCREATE
    + FEXISTS
    + FSIZE
    + WNDFINDARR
    + CONTRAST
    + LOGWRITEC (PRINTC)
    + CALLARR
  + Исправления:
    + #define больше не вызывает ошибку проверки синтаксиса
    + Исправлен SETVAR
    + CALL, INIREAD, INIWRITE могут работать с файлами вне папки проекта
    + ARRSORT сортирует строки и числа
+ Редактор:
  + Лупа теперь использует CONTRAST вместо COLORMODE
+ Лог:
  + Поддержка цветных строк
+ Прочее:
  + Исправление ложных уведомлений об обновлении при сбоях на сервере
  + Предупреждение о масштабировании экрана, отличном от 100%
  + Прочие оптимизации и исправления
Title: Re: [Alpha/Beta Testing]
Post by: dramster on March 19, 2019, 09:45:14 PM
Скоро сказка сказывается, да не скоро дело делается

  + Интерпретатор:
+ Добавлена поддержка внешнего препроцессора и директива #preprocessor


А вот это чтото интересное, только вот перечитав пару раз справку - ничего не понял  :(

Можно как-нибудь по нагляднее, на каком-нибудь примере чтоль?




Ну и CALLARR порадовал  :).
Title: Re: [Alpha/Beta Testing]
Post by: Oraven on March 19, 2019, 10:08:45 PM
Скоро сказка сказывается, да не скоро дело делается

  + Интерпретатор:
+ Добавлена поддержка внешнего препроцессора и директива #preprocessor


А вот это чтото интересное, только вот перечитав пару раз справку - ничего не понял  :(

Можно как-нибудь по нагляднее, на каком-нибудь примере чтоль?




Ну и CALLARR порадовал  :).

Так пример же в папке проджекс лежит.
Title: Re: [Alpha/Beta Testing]
Post by: dramster on March 19, 2019, 10:28:21 PM
Да, пример увидел, "вроде" понял что он делает. Но где применимо, пока не совсем понимаю. Наверное это возможность сделать что-то сверхсложное...  :o

Или это чтото на подобии скрытия кода для любопытных?
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on March 20, 2019, 05:42:27 PM
хоть сокрытия, хоть шифрования, хоть доработки и введения собственных конструкций и инструкций.
но порог вхождения велик, да. мало того, что надо иметь возможность создавать DLL чисто технически, так еще и писать нетривиальные алгоритмы уровня парсера.
этакая игрушка для энтузиастов, как и плагины. но зато на мне свет клином не сойдется. даж если меня завтра камаз собьет, сообщество смогет дорабатывать проект

Title: Re: [Alpha/Beta Testing]
Post by: Hito on March 20, 2019, 08:24:18 PM
только вот перечитав пару раз справку - ничего не понял  :(
Я что-то вообще про это дело в справке ничего найти не могу... И вообще не понимаю - для чего этот preprocessor нужен...
Title: Re: [Alpha/Beta Testing]
Post by: ya12 on March 21, 2019, 10:22:20 AM
С DLL все понятно. Есть шаблон, есть процедуры которых нет в КМ - все что нужно пихай внутрь, на выходе или действие или число (еще лучше было бы если на выходе массив с заданным именем). А с препроцессором не догоняю.
Title: Re: [Alpha/Beta Testing]
Post by: Hito on March 21, 2019, 10:57:19 AM
С DLL все понятно. Есть шаблон, есть процедуры которых нет в КМ - все что нужно пихай внутрь, на выходе или действие или число (еще лучше было бы если на выходе массив с заданным именем).
Я не понимаю... Ну, разделила длл строку на строки... Для чего это надо-то...? В чем это может пригодиться?
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on March 21, 2019, 12:21:03 PM
Видимо пример надо было посложнее придумать)) Вообще это чисто для тех кто захочет поиграться с синтаксисом. Но как побочная возможность - спрятать код. Причем способов масса.
Тут вон чувак давеча менял области памяти кликера чтоб colormode свой слабать. Вот таким парням это и будет занятной игрушкой.
Title: Re: [Alpha/Beta Testing]
Post by: Hito on March 21, 2019, 03:31:01 PM
Но как побочная возможность - спрятать код.
Вот это мне и не понятно... ну, предположим, что в коде я все поменял местами, а длл, при запуске скрипта, все расставляет на свои места... Тормознул скрипт после запуска, открыл редактор и вот тебе весь рабочий код... В чем фишка...? Я не умоляю того, что вы что-то придумали путевое, но я пока понять не могу...
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on March 21, 2019, 09:28:26 PM
Но как побочная возможность - спрятать код.
Тормознул скрипт после запуска, открыл редактор и вот тебе весь рабочий код...
нет. как уже не раз упоминалось, даже в более ранних версиях скрипт "в редакторе" и скрипт "в памяти" отличаются. банально, если бы вы"тормознули" скрипт, то не увидели бы никогда комментариев, пустых строк и т.п. в вашем варианте. они просто вырезаются еще до стадии выполнения штатным препроцессором дабы увеличить быстродействие. не говоря уже об остальных преобразованиях.

это правда вопрос понимания)) пожалуй стоит подождать примеров достойных, или пока я сам что нибудь напишу
Title: Re: [Alpha/Beta Testing]
Post by: Cockney on March 21, 2019, 10:32:26 PM
Quote
wchar_t* execute (data: wchar_t*);

Quote
Сама строка символов представлена в формате UTF-8, а значит каждый символ кодируется двумя байтами.

UTF-8 или все таки UTF-16 ? UTF-8 расширяем до 4 байт же.
Title: Re: [Alpha/Beta Testing]
Post by: Hito on March 22, 2019, 09:25:34 AM
банально, если бы вы"тормознули" скрипт, то не увидели бы никогда комментариев, пустых строк и т.п. в вашем варианте. они просто вырезаются еще до стадии выполнения штатным препроцессором дабы увеличить быстродействие.

Не понимаю... - https://www.youtube.com/watch?v=VMdtMROhwPo&feature=youtu.be (https://www.youtube.com/watch?v=VMdtMROhwPo&feature=youtu.be)
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on March 22, 2019, 06:31:33 PM
Quote
wchar_t* execute (data: wchar_t*);

Quote
Сама строка символов представлена в формате UTF-8, а значит каждый символ кодируется двумя байтами.

UTF-8 или все таки UTF-16 ? UTF-8 расширяем до 4 байт же.
Над формулировками, конечно, подумать стоит, равно как и подтянуть собственные знания.
Но wchar в винде это фиксированно 2 байта. В ядре кликера соответственно тоже используется такой размер. Стало быть пляшем от того.
Да и не думаю, что кому то потребуются расширенния. Вообще, так бы и сидели на однобайтовом ASCII, если б не всякие нелокализованные виндовсы и прочие редко возникающие нюансы.
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on March 22, 2019, 06:38:24 PM
банально, если бы вы"тормознули" скрипт, то не увидели бы никогда комментариев, пустых строк и т.п. в вашем варианте. они просто вырезаются еще до стадии выполнения штатным препроцессором дабы увеличить быстродействие.

Не понимаю... - https://www.youtube.com/watch?v=VMdtMROhwPo&feature=youtu.be (https://www.youtube.com/watch?v=VMdtMROhwPo&feature=youtu.be)
все верно. я и говорю, поскольку "в редакторе" лежит скрипт до обработки препроцессором, то и посмотреть то, что получается после, у вас не получится. это начальный вариант. на выполнение идет код без комментариев и прочей шелухи. его никто не видит. стало быть шифрование возможно и никакое открытие в редакторе после ничего не даст.

блин, надеюсь найдется кто-то более умелый в объяснениях)) или тупо сам напишу если будет время примитивнейший пример такого плана.
Title: Re: [Alpha/Beta Testing]
Post by: Cockney on March 22, 2019, 08:27:18 PM

Над формулировками, конечно, подумать стоит, равно как и подтянуть собственные знания.
Но wchar в винде это фиксированно 2 байта. В ядре кликера соответственно тоже используется такой размер. Стало быть пляшем от того.
Да и не думаю, что кому то потребуются расширенния. Вообще, так бы и сидели на однобайтовом ASCII, если б не всякие нелокализованные виндовсы и прочие редко возникающие нюансы.

Вопрос не в том сколько потребуется, а в способе обработки. Если в UTF-16 можно брать символ по индексу, то в UTF-8 уже придется бегать итератором. Это все, конечно, лирика, но лучше такое указывать. Как и порядок байт LE или BE (для win - LE, но опять же, для определенности).
Title: Re: [Alpha/Beta Testing]
Post by: dramster on March 22, 2019, 10:07:29 PM
все верно. я и говорю, поскольку "в редакторе" лежит скрипт до обработки препроцессором, то и посмотреть то, что получается после, у вас не получится. это начальный вариант. на выполнение идет код без комментариев и прочей шелухи. его никто не видит. стало быть шифрование возможно и никакое открытие в редакторе после ничего не даст.


 >:( А вот и не правда, не работает задуманное тобой  :(.

Вот качаю я твой пример из последней беты. смотрю код cms

Code: (clickermann) [Select]
// 29.11.2018
#preprocessor "comas.dll"


print("Hello"); print(", "); print("World!");

halt

Запускаю этот код этой же последней версией, жму "плей", и чудо, в логе у нас все сработало не так как записано в коде, со всякими там точками с запятыми... ;D
Открываю редактор, и что же я там вижу:
(https://i.imgur.com/M2sLheY.png)


А вижу я то, что препроцессор исправил код в верный вид и вписал его в редактор, и все могут посмотреть как должно быть.




А я то думал... должно быть так, я пишу какойто код к примеру в делфи, где присваиваю переменнолй текст кода, который сможет прочесть кликерман. И при запуске препроцессора с этой длл, этот код кликермана встроится в память кликермана, и не появится в редакторе. Судя по справке и вашему обсуждению так оно и должно было быть  :(.




Я кстати потратил с час гдето, чтообы вписать (понять как) в длл простенький код кликермана. И этот код действительно телепортируется в кликерман, и работает. Но только в последний момент я заметил, что этот весь код перекидывается именно в редактор, а ни куда то там в память проги  :(.

А были надежды на написания "пользовательских" функций и еще чего, но пока в этом препроцессоре я смысла вообще не вижу  :(



Еще простой пример бесполезности:
Код делфи:
Code: (clickermann) [Select]
// Основное тело функции, идет на экспорт, вызывается из кликера
function execute( pText: PWideChar): PWideChar; export; stdcall;
var
 strbuf: String;
 wc_res: PWideChar;
begin
  // Пишем сразу готовый код
   strbuf :=  '#preprocessor "comas.dll"' + #13#10 +
    'LOGSHOW (1, 100, 100 )'+ #13#10 +
    'print("Тестовый текст")'+ #13#10 +
    'halt' ;

  // ShowMessage(strbuf);    //можно глянуть наш код
   wc_res := PWideChar(strbuf);

   result := wc_res;
end;

Код кликермана:

Code: (clickermann) [Select]
#preprocessor "comas.dll"
halt

Запускаю код кликермана:
А в нем уже сразу при запуске препроцессор всовывает код:
Code: (clickermann) [Select]
#preprocessor "comas.dll"
LOGSHOW (1, 100, 100 )
print("Тестовый текст")
halt


Либо я все совсем не так понял, либо я даже не знаю что и думать :-[





Title: Re: [Alpha/Beta Testing]
Post by: Hito on March 23, 2019, 01:18:57 PM
Я вот как бы все это и пытаюсь объяснить )) Какой смысл - менять чего-то там в коде, если остановил кликер, открыл редактор и вот он тебе весь рабочий код...? )
Title: Re: [Alpha/Beta Testing]
Post by: Rush on March 23, 2019, 03:12:57 PM
А я бы хотел в новой версии увидеть полноценные настраиваемые горячие клавиши.

К как реализуется сейчас: в коде прописано условие "если такая то клавиша нажата, то надо че то выполнить", код почти на 5 тыщь строк, зажимаем клавишу и ждем пока до этого куска кода дойдет очередь.

Как хотелось бы: примерная реализация кнопки остановки скрипта, т.е. назначил клавишу, нажал на нее, скрипт "встал на паузу" (условно говоря) выполнилась часть кода по условию и скрипт продолжился дальше.

Возможно ли это как то реализовать?
 
Title: Re: [Alpha/Beta Testing]
Post by: Hito on March 23, 2019, 03:29:01 PM
код почти на 5 тыщь строк, зажимаем клавишу и ждем пока до этого куска кода дойдет очередь

Пффф... Я ничего не жду. Вывел горячие клавиши в отдельный поток и оперируешь в нем переменными, а основное тело скрипта уже отталкивается от этих переменных.
Title: Re: [Alpha/Beta Testing]
Post by: Rush on March 23, 2019, 05:29:53 PM
код почти на 5 тыщь строк, зажимаем клавишу и ждем пока до этого куска кода дойдет очередь

Пффф... Я ничего не жду. Вывел горячие клавиши в отдельный поток и оперируешь в нем переменными, а основное тело скрипта уже отталкивается от этих переменных.
А вот это интересно, сейчас попробую :)

Задумка не плохая, в потоке ставится флаг что кнопка нажата, а в основном скрипте когда доходит до нужного места автоматом выполняется кусок скрипта.

Если в потоке запустить радиобокс то и он открывается и скрипт продолжает жать кнопки )))
Title: Re: [Alpha/Beta Testing]
Post by: Hito on March 25, 2019, 02:13:46 PM
Я допускаю, что мы с dramster что-то не понимаем, но все же хотелось бы понять - как избежать "обножения" кода, при выключении
Clickermann-а и открытии редактора скриптов...?
Title: Re: [Alpha/Beta Testing]
Post by: dramster on March 25, 2019, 07:37:19 PM
Я какбы тоже обдумывал смысл этого препроцессора все эти дни. Вроде вполне понял как это работает (по крайней мере я в это верю  ;D). И пришел к выводу, что вот это:
хоть сокрытия, хоть шифрования
Просто не работает, чтото не получилось, и Джонни исправит... надеемся.

Вот это
хоть доработки и введения собственных конструкций и инструкций.
Уже итак есть - CALL или CALLARR.

Пользовательских функций написать не выйдет, так как эта дериктива выполнится одним махом при запуске, и вызов этих "функции" с параметрами в виде переменных приведут к не пойми чему.
 
Вобщем, кроме как псевдокомпиляции написанного  кликермановского кода в длл и последующем запуске этого кода ( не через редактор, а внедряя этот код в память) я не вижу.... естественно когда это заработает как нужно. И это было бы здорово.



 А сейчас хотелось бы поговорить о пользовательских функциях, необязательно написанных на кликермане, можно написать в сторонних языках. И эта возможность у нес есть. Все упирается в типы данных.
 Кликерман имеет что - строки, числа, массивы. Впринципе этого вполне хватает 99% случаев. Передать в ДЛЛ мы можем числа и массивы, УРА, этого хватит на все 100% случаев. Передав массив, в длл мы его переделаем под то что нам требуется, и будем работать с теми типами которые нам нужны именно там.
Остается один ОГРОМНЫЙ недостаток. ДЛЛ возвращает лишь одно число в 4 байта  :( и всё...И хоть ты тресни.  >:(
Есть второй недостаток, это то, что CALL  это не функция.

Но ведь #preprocessor "filename" возвращает PWideChar, это куча информации (незнаю даже, есть ли в нем ограничение). Почему бы не сделать и в CALL/CALLARR возврат хотябы массива чисел, бОльшего то и не надо   :'( из этого массива в кликермане также можно сделать то что нужно.

Это было по [Alpha/Beta Testing]


Далее хотел по предложению в следующих версиях:

Мы имеем графический буфер, обрабатывается довольно быстро, но только теми процедурами, которые присутствуют в штатном функционале. Если нужно с графикой поиздеваться по своему, то выхода 2 - попиксельный анализ и обработка в буфере или попиксельно перекидывать буфер в массив и далее уже ковыряние и снова попиксельно сунем в буфер. И первое и второе занимает вечность.

Предложение

Добавить две функции:
. выгрузка графического буфера (области) в массив
. загрузка массива в графический буфер (область)

В массиве никаких координат, просто цвета.

Для чего? Имея CALLARR и выгрузку графического буфера в массив , мы уже сможем быстро обработать/анализировать  большие части графики как нам захочется. А когда CALL будет возвращать массив, то и загрузка массива в графический буфер в  тему.

 ::) Пока это все мои ХОТЕЛКИ. + все уже существующее в кликермане = цены ему не будет ;D




Title: Re: [Alpha/Beta Testing]
Post by: ya12 on March 25, 2019, 08:57:49 PM
Хотеть так хотеть. Нужна выгрузка графического буфера (области) в двумерный массив. Ну и конечно же доделать CALL.
Title: Re: [Alpha/Beta Testing]
Post by: dramster on March 25, 2019, 09:01:35 PM
Хотеть так хотеть. Нужна выгрузка графического буфера (области) в двумерный массив. Ну и конечно же доделать CALL.
Зачем двумерный?  :-\
 Просто перенести из памяти поочередно цвета в массив, этого достаточно.
Title: Re: [Alpha/Beta Testing]
Post by: Hito on March 26, 2019, 09:48:54 AM
И пришел к выводу, что вот это:
хоть сокрытия, хоть шифрования
Просто не работает, чтото не получилось, и Джонни исправит... надеемся.

Я в принципе так и подумал, что по замыслу, если прописываешь в скрипте:
Code: (clickermann) [Select]
#preprocessor "comas.dll"
halt
То при остановке скрипта, в нем только эти строки и должны оставаться, а все, что dll в него добавляла, должно оставаться где-то внутри кликера и не отображаться в скрипте.
Title: Re: [Alpha/Beta Testing]
Post by: ya12 on March 26, 2019, 11:16:13 AM
Что бы искать в определенной строке, ну и операции с матрицами делать удобней.
Я бы еще и от поддержки разных типов данных не отказался, но это фантастика.
Title: Re: [Alpha/Beta Testing]
Post by: dramster on March 26, 2019, 12:00:28 PM
Что бы искать в определенной строке, ну и операции с матрицами делать удобней.
Этож двойное увеличение сохроняемой информации,. Нахера? Нам же потом еще работать с этим всем.
И в файлах, и в той же памяти кликера, никакой двумерности, просто идут цвета поочереди. И никто не жалуется. Номер элемента массива - вот тебе и координата.
Главное заранее знать разрешение. Или ты чтото другое, не координаты, хотел писать внагрузку пиксельному массиву?
Title: Re: [Alpha/Beta Testing]
Post by: ya12 on March 26, 2019, 12:17:58 PM
Двумерные массивы сами по себе хороши. С другой стороны можно обработку многомерных массивов и в dll делать (когда будет удобный выход).

ps Расчеты в компьютерной графике под 2-3х мерные массивы заточены.
Title: Re: [Alpha/Beta Testing]
Post by: dramster on March 29, 2019, 01:12:20 AM
+ Теперь все процедуры, возвращающие массив, очищают его перед заполнением

Чтото я так прикинул, это же лишнее  :-\ . Никто не запрещал ранее удалять массив перед его новой записью если нужно, по крайней мере я привык. А вот часто бывает нужда именно добавления процедурами новых данных в массив. Сейчас приходится в этих случаях создавать дополнительный массив для хранения информации, и перекидывать ее  в него.
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on March 31, 2019, 09:33:24 AM
+ Теперь все процедуры, возвращающие массив, очищают его перед заполнением

Чтото я так прикинул, это же лишнее  :-\ . Никто не запрещал ранее удалять массив перед его новой записью если нужно, по крайней мере я привык. А вот часто бывает нужда именно добавления процедурами новых данных в массив. Сейчас приходится в этих случаях создавать дополнительный массив для хранения информации, и перекидывать ее  в него.

это было сделано для приведения всех процедур к единому стандарту. ранее одни массив очищали (например те что считывают файлы), другие нет (те что работали с экраном).
процедура слияния массивов (по аналогии с srtconcat) будет добавлена чуть позже. с точки зрения самого языка (и языков) это не лишнее, это так как везде

и да, про препроцессор и правда недоработочка... исправили
Title: Re: [Alpha/Beta Testing]
Post by: Hito on March 31, 2019, 10:45:04 PM
и да, про препроцессор и правда недоработочка... исправили
Здесь нет смайла с фейерверками... ;D
А... Как бы вопрос... А где качать исправленную версию...? Там же?
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on April 03, 2019, 07:06:22 PM
Patch 4.14.002b

https://yadi.sk/d/7CYIVwReKaelpA

Исправлен ехе файл, справка
Добавлена процедура arrconcat
Title: Re: [Alpha/Beta Testing]
Post by: Hito on April 03, 2019, 09:07:28 PM
Вот сейчас я туплю страшно и чего-то не понимаю, или препроцессор как-то не так опять работает...?
и да, про препроцессор и правда недоработочка... исправили

Patch 4.14.002b

https://yadi.sk/d/7CYIVwReKaelpA

Исправлен ехе файл, справка
Добавлена процедура arrconcat

На сколько я понял, в 4.14.002b препроцессор исправлен? Одно точно - он стал работать по-другому с примером в папке "PrepSample". Теперь, при открытии редактора, после отработки скрипта, скрипт такой же, какой и было до запуска, но...

Код делфи:
Code: (clickermann) [Select]
// Основное тело функции, идет на экспорт, вызывается из кликера
function execute( pText: PWideChar): PWideChar; export; stdcall;
var
 strbuf: String;
 wc_res: PWideChar;
begin
  // Пишем сразу готовый код
   strbuf :=  '#preprocessor "comas.dll"' + #13#10 +
    'LOGSHOW (1, 100, 100 )'+ #13#10 +
    'print("Тестовый текст")'+ #13#10 +
    'halt' ;

  // ShowMessage(strbuf);    //можно глянуть наш код
   wc_res := PWideChar(strbuf);

   result := wc_res;
end;

Код кликермана:

Code: (clickermann) [Select]
#preprocessor "comas.dll"
halt

Вот это все намутит не возможно. Стоит состряпать свою длл и заменить ею ту, что находится в примере и кликер просто не даст применить скрипт...
Title: Re: [Alpha/Beta Testing]
Post by: dramster on April 03, 2019, 09:20:52 PM
 ??? Да не, я проверил, работает отлично.

Весь код делфи:
Code: (clickermann) [Select]
library PrepSample;

uses
  Vcl.Dialogs,
  SysUtils;

//------------------------------------------------------------------------------
// Основное тело функции, идет на экспорт, вызывается из кликера
function execute( pText: PWideChar): PWideChar; export; stdcall;
var
 strbuf: String;
 wc_res: PWideChar;
begin
  // Пишем сразу готовый код
   strbuf :=  '#preprocessor "comas.dll"' + #13#10 +
    'LOGSHOW (1, 100, 100 )'+ #13#10 +
    'print("Тестовый текст")'+ #13#10 +
    'halt' ;

  // ShowMessage(strbuf);    //можно глянуть наш код
   wc_res := PWideChar(strbuf);

   result := wc_res;
end;
//------------------------------------------------------------------------------

// список экспорта
exports execute;

begin
  // тело пусто
end.

Код кликера:
Code: (clickermann) [Select]
#preprocessor "test.dll"
halt

Скомпилированная  "test.dll" рядом с сохраненным cms

Результат:
(https://i.imgur.com/rDiGnSW.png)

И как я не пытался, код в редакторе так и не увидел   :)

Title: Re: [Alpha/Beta Testing]
Post by: Hito on April 03, 2019, 09:23:34 PM
Етит... Я "exports execute;" забыл прописать...
Title: Re: [Alpha/Beta Testing]
Post by: Hito on April 06, 2019, 12:39:24 PM
Весь код делфи:
Code: (clickermann) [Select]
library PrepSample;

uses
  Vcl.Dialogs,
  SysUtils;

//------------------------------------------------------------------------------
// Основное тело функции, идет на экспорт, вызывается из кликера
function execute( pText: PWideChar): PWideChar; export; stdcall;
var
 strbuf: String;
 wc_res: PWideChar;
begin
  // Пишем сразу готовый код
   strbuf :=  '#preprocessor "comas.dll"' + #13#10 +
    'LOGSHOW (1, 100, 100 )'+ #13#10 +
    'print("Тестовый текст")'+ #13#10 +
    'halt' ;

  // ShowMessage(strbuf);    //можно глянуть наш код
   wc_res := PWideChar(strbuf);

   result := wc_res;
end;
//------------------------------------------------------------------------------

// список экспорта
exports execute;

begin
  // тело пусто
end.
Я правильно понимаю? Строка
Code: (clickermann) [Select]
'#preprocessor "comas.dll"' + #13#10 +лишняя? Ведь она уже есть в начальном скрипте кликера и, благодаря ей, кликер и вызывает код из длл...
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on April 06, 2019, 03:34:32 PM
Весь код делфи:
Code: (clickermann) [Select]
library PrepSample;

uses
  Vcl.Dialogs,
  SysUtils;

//------------------------------------------------------------------------------
// Основное тело функции, идет на экспорт, вызывается из кликера
function execute( pText: PWideChar): PWideChar; export; stdcall;
var
 strbuf: String;
 wc_res: PWideChar;
begin
  // Пишем сразу готовый код
   strbuf :=  '#preprocessor "comas.dll"' + #13#10 +
    'LOGSHOW (1, 100, 100 )'+ #13#10 +
    'print("Тестовый текст")'+ #13#10 +
    'halt' ;

  // ShowMessage(strbuf);    //можно глянуть наш код
   wc_res := PWideChar(strbuf);

   result := wc_res;
end;
//------------------------------------------------------------------------------

// список экспорта
exports execute;

begin
  // тело пусто
end.
Я правильно понимаю? Строка
Code: (clickermann) [Select]
'#preprocessor "comas.dll"' + #13#10 +лишняя? Ведь она уже есть в начальном скрипте кликера и, благодаря ей, кликер и вызывает код из длл...
но это не мешает сунуть результат первого препроцессора в следующий по порядку. кто сказал что препроцессор может быть один
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on April 08, 2019, 07:43:18 PM
функция GETKEYSDOWN ($arr) - возвращает значения в текстовом формате.
для проверки условий их приходится предварительно преобразовывать
IF(INT($arr[0])=17)     
   LOGWRITE ("клавиша нажата")
END_IF
может стоит сразу возвращать числовые значения?
а точно? чет не вижу ошибки и все работает и без Int
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: Johnny on April 19, 2019, 09:41:17 PM
ну так и? больше нет противоречий? можно в релиз?
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: Oraven on April 20, 2019, 08:44:28 AM
ну так и? больше нет противоречий? можно в релиз?

В keywords.txt нет ARRCONCAT
И вот обновленные команды-Шаблоны

а так можно и в релиз.
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: dramster on April 20, 2019, 02:18:23 PM
ну так и? больше нет противоречий? можно в релиз?
Пока небыло необходимости/возможности потестить все новинки. Я думаю врядли все сразу полезли тестить все и вся. Я проверил только то что мне было интересно.
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: dramster on April 20, 2019, 02:59:02 PM
Да, и еще с этим ВОМ, что и как он там делает, неужели без него никак? Хотябы убрать его при создании батников, а то некрасиво както, придет новичек/супермегапрограммист, решит чениибуть этоковое,, а тут фиг тебе. Да и с ини там какието проблемы были.


Не стал искать тех ошибок, проще показать на примере
Code: (clickermann) [Select]
STRWRITELN ("test.bat", "pause")
 execute("test.bat") //не стработает изза этих пару байт в записи
 halt
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: Oraven on April 20, 2019, 05:38:04 PM
Да, и еще с этим ВОМ, что и как он там делает, неужели без него никак? Хотябы убрать его при создании батников, а то некрасиво както, придет новичек/супермегапрограммист, решит чениибуть этоковое,, а тут фиг тебе. Да и с ини там какието проблемы были.


Не стал искать тех ошибок, проще показать на примере
Code: (clickermann) [Select]
STRWRITELN ("test.bat", "pause")
 execute("test.bat") //не стработает изза этих пару байт в записи
 halt

Может нужно добавить дополнительный параметр указывающий в каком формате сохранять файл?
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: dramster on April 20, 2019, 10:52:16 PM
Еще вспомнил.
+ Теперь все процедуры, возвращающие массив, очищают его перед заполнением

Ок, раз так положено то пусть так и будет, тем более что все условие со склейкай массивов созданы.

Но почему так?
Code: (clickermann) [Select]
STRSEPARATE ("1,2,3,4", ",", $arr)
print(arrsize($arr))   // 4

STRSEPARATE ("1,2,3,4", ",", $arr)
print(arrsize($arr))   // 8
halt

Я уже начал привыкать к новшеству, и случайно наткнулся.  :-\
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: Vint on May 16, 2019, 02:51:50 PM
STRPOS не различает регистр

Давно это уже. Но сейчас функционал шире и стало неприятно.

Другие функции STRREPLACE, STRFILTER регистр различают.
STRCUT и STRCUT2 не проверял.
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: Космич on June 02, 2019, 03:39:49 PM
Баг c PRINTC. Сначала подумал, что это из за моей лапши, но как оказалось, это происходит со всеми строками, которые не умещаются в ширину лога
Еще заметил, что если текущий час меньше 10, то  время в логе отображается без 0 в разряде десятков. Вроде тоже фигня, но всё равно, как то неперфекционально :D

Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: Graubart on June 02, 2019, 08:33:13 PM
Баг c PRINTC. Сначала подумал, что это из за моей лапши, но как оказалось, это происходит со всеми строками, которые не умещаются в ширину лога
Еще заметил, что если текущий час меньше 10, то  время в логе отображается без 0 в разряде десятков. Вроде тоже фигня, но всё равно, как то неперфекционально :D

Есть такой баг. Обхожу его увеличением окна лога. А то, что  часы до 10 без нуля, действительно неудобно. Это не только в логе, но также и в текущей дате и времени. И часы, и минуты, и секунды. При выводе кривокосо получается. :)
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: Космич on June 05, 2019, 05:24:11 PM
+ Теперь все процедуры, возвращающие массив, очищают его перед заполнением

Как то теперь неудобненько выходит.
Я хотел при помощи SCANPICTURE получить массив координат нескольких разных изображений, но ни тут то было. Про SCANPXL вообще молчу. :c
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: Vint on June 05, 2019, 06:36:01 PM
Да это кто-то крикнул не подумавши. Забывают они чистить массив или лень, а теперь мучайся.
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: Johnny on June 05, 2019, 08:05:08 PM
+ Теперь все процедуры, возвращающие массив, очищают его перед заполнением

Как то теперь неудобненько выходит.
Я хотел при помощи SCANPICTURE получить массив координат нескольких разных изображений, но ни тут то было. Про SCANPXL вообще молчу. :c

в последней бете (которой кажется тут нет) есть процедура слияния массивов
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: dramster on June 05, 2019, 08:24:52 PM
в последней бете (которой кажется тут нет) есть процедура слияния массивов
Есть  - http://crapware.aidf.org/forum/index.php?topic=356.msg31439#msg31439

Ссылка  тут https://yadi.sk/d/7CYIVwReKaelpA .

Слияние массивов ARRCONCAT работает:

Code: (clickermann) [Select]
$arr1[0]= 1 //один массив
$arr1[1]= 2
$arr1[2]= 3

$arr2[0]= 4 //второй массив
$arr2[1]= 5
$arr2[2]= 6

ARRCONCAT ($arr3, $arr1, $arr2)  //соединяем в третий массив


//смотрим что вышло
FOR($a=0,$a<arrsize($arr3))
   print($arr3[$a])  // в логе - 1, 2, 3, 4, 5, 6 .
END_CYC
halt
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: Космич on June 08, 2019, 10:34:23 PM
препроцессор срабатывает до запуска скрипта, сразу же после загрузки скрипта в кликер. Так и должно быть?)
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: Hito on July 05, 2019, 08:01:46 AM
препроцессор срабатывает до запуска скрипта, сразу же после загрузки скрипта в кликер. Так и должно быть?)
Думаю, что да... Он же как бы вставляет код в кликер, который в нем и должен быть по задумке...
Единственное, что я не понимаю, для чего нужно прописывать "halt":
Code: (clickermann) [Select]
#preprocessor "comas.dll"
halt
Ведь код из длл будет крутиться в кликере в цикле и для чего нужен этот halt, после #preprocessor "comas.dll", непонятно... А без halt-а полная хрень получается.
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: Hito on July 05, 2019, 08:02:35 AM
Code: (clickermann) [Select]
#preprocessor "script.dll"
HALT

Запускаю скрипт на хосте и все вроде работает. Запускаю этот же скрипт в виртуалке, из той же папки, и уже не работает... То есть - сам #preprocessor "script.dll" не срабатывает.
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: Hito on July 06, 2019, 12:33:29 PM
Фикса работы preprocessor-а в виртуалках ожидать...? Или заморочек по этому поводу не будет? Мне просто чтоб знать...
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: Johnny on July 08, 2019, 08:50:15 PM
а что прямо все плохо-плохо?
что за виртуалка, какая там система. молчит ли errorlog
тогда и проблему мб удастся локализовать.
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: Hito on July 08, 2019, 09:44:49 PM
Сорри - завтра буду конкретно разбираться. Просто вот только что попробовал запихнуть в длл "Тестовый тест" и все сработало в виртуалке. Но закатываю в длл свой скрипт и на хосте работает все, а в виртуалке нет. В общем завтра буду более подробно копаться. Сегодня только с работы пришел... А так, при запуске в виртуалке, такое ощущение, что просто срабатывает HALT, который после #preprocessor "script.dll" стоит, чего в принципе никак быть не должно.
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: Hito on July 09, 2019, 11:16:44 AM
В общем ситуация такая... Прописываю в длл просто наш "Тестовый тест" и все норм срабатывает в виртуалке. Потом закатываю в длл свой скрипт в котором получается 1477 строк + файл sub.cms, в котором еще порядка 1800 строк и который подключен в основном скрипте, как - #include "sub.cms". После этого в виртуалке вся эта тема перестает работать и даже если, после запуска такого скрипта, откатить все на наш "Тестовый тест", то и он уже не работает и вновь заработает только после полной перезагрузки виртуальной машины. В общем хрень какая-то получается...
На хосте все нормально работает.

На тесты, по понятным причинам, не хочу тут выкладывать весь свой скрипт. Если кому-то интересно (из тех, кого я тут знаю), я могу все выложить в личку. Просто в том проекте, в котором я работаю, онлайн очень не большой и даже с моим приходом на этот проект, цены на нужный ресурс очень упали. Еще одного или пару таких, как я, на этот проект и на нем делать нечего будет... А если мой скрипт обнародовать в этом проекте, то он вообще загнется...
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: Hito on July 10, 2019, 10:38:43 AM
Johnny, отправил видео в личку.
Может все из-за того, что на виртуалке та папка, из которой скрипт запускается, является сетевой...? Но если скрипт не закатывать в длл, то все работает на виртуалке, а там, и работа с ини-файлами, и со скринами, и с текстовыми файлами, и опять же с длл-ками другими и все лежит в тех же папках и скрипт со всем справляется...
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: Johnny on July 10, 2019, 06:58:45 PM
если файл не найден, включая преп, то выдается соответствующая ошибка. стало быть файл находится
если ошибка необрабатываемая, ошибка памяти или еще какая хрень, то должна быть запись в файле logerror
в другом случае надо смотреть сам скрипт
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: Hito on July 10, 2019, 08:49:36 PM
надо смотреть сам скрипт
Отправил в личку.
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: Hito on July 14, 2019, 08:28:12 PM
Тут еще один затык имеется...
Положим в папку со скриптом любой скрин, обозвав его "1.bmp", и запустим скрипт:
Code: (clickermann) [Select]
freaddata("1.bmp", $arr)
FCreate("2.bmp", 1)
FWRITEDATA ("2.bmp", $arr)
HALT
2.bmp создастся, но не станет таким же, как 1.bmp, а останется пустым. И останется таким до тех пор, пока мы не закроем полностью тот кликер, который его создавал. А вот если мы его закроем, а потом откроем заново и запустим скрипт:
Code: (clickermann) [Select]
freaddata("1.bmp", $arr)
FWRITEDATA ("2.bmp", $arr)
HALT
Тогда у нас все получится.
Эта фишка касается не только bmp-файлов - это касается любых файлов, созданных скриптом. После FCreate, при создании любого файла, с ним ничего нельзя будет сделать до тех пор, пока кликер, который его создавал, не будет закрыт. Ничего нельзя будет сделать не только скриптом, но и другими программами.
То есть, при создании любого файла с помощью FCreate, для того чтобы в дальнейшем работать с этим файлом, придется сначала закрыть кликер, который его создавал, и потом открыть другой.
Но и после:
Code: (clickermann) [Select]
freaddata("1.bmp", $arr)
FWRITEDATA ("2.bmp", $arr)
HALT
Мы не сможем даже удалить 2.bmp, пока не закроем кликер.
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: Hito on July 14, 2019, 10:15:15 PM
И еще вопрос... Ожидать реализации работы с ини-файлами, которые лежат в расшаренной папке, из запущенного скрипта, который лежит в виртуальной машине?
У меня, например, адрес получается такой - $n = INIREAD("Z:\Miner\ini\mir_4\group_1\min_01.ini", "chit", "1"), но LOGWRITE ($n) ничего не выдает...
А, к примеру, если запустить так:
Code: (clickermann) [Select]
if (FExists("Z:\Miner\ini\mir_4\group_1\min_01.ini"))
   FCOPY ("Z:\Miner\ini\mir_4\group_1\min_01.ini", "C:\Clickermann v4.14 x32\projects\Miner\ini\mir_4\group_1\min_01.ini")
   LOGWRITE ("Файл скопирован")
else
   LOGWRITE ("Файл недоступен")
end_if
То выдает ошибку FCOPY. То есть файл-то доступен...
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: Hito on July 18, 2019, 12:40:02 PM
Забыл отписать...
что за виртуалка, какая там система. молчит ли errorlog
1 - VMware Workstation 15 Pro 15.0.3 Build 12422535 RePack by KpoJIuK
2 - Windows 7 x32
3 - logerror молчит
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: Космич on July 26, 2019, 07:57:12 AM
Windows 10 1809 Clickermann v4.14 x32

Вот такой код у меня пожирает примерно 100 килобайт оперативной памяти в секунду
Code: (clickermann) [Select]
SUB(TEST, $x, $y)
   MOVE($x, $y)
END_SUB

TEST(0,0)

Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: Oraven on July 26, 2019, 08:15:56 AM
Windows 10 1809 Clickermann v4.14 x32

Вот такой код у меня пожирает примерно 100 килобайт оперативной памяти в секунду
Code: (clickermann) [Select]
SUB(TEST, $x, $y)
   MOVE($x, $y)
END_SUB

TEST(0,0)

А такой вообще 3000к
Code: (clickermann) [Select]
SUB(qwert, $a)
 
END_SUB

qwert("Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст ")
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: Космич on July 26, 2019, 08:28:11 AM
У меня и без параметров пожирает по 100 :D
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: Vint on July 26, 2019, 09:53:48 AM
Windows 10 1809 Clickermann v4.14 x32

Вот такой код у меня пожирает примерно 100 килобайт оперативной памяти в секунду
Code: (clickermann) [Select]
SUB(TEST, $x, $y)
   MOVE($x, $y)
END_SUB

TEST(0,0)

Естественно, практически пустой цикл. Так всегда было. Ещё и проц грузит на 25-30%.

Достаточно одной таблЭтки и память стабильна и проц 0.2%
Code: (clickermann) [Select]
SUB(TEST, $x, $y)
    MOVE($x, $y)
    WAITMS(5)
END_SUB

TEST(0,0)

Мы вызвали подпрограмму, создались локальные переменные, может ещё чего. Адрес возврата кинулся на стек. Возможно, создаётся новый объект.
Быстро закончили и сразу же опять вызываем. Что-то не успевает освобождаться (опять блокируется), в итоге, сборщик мусора не может уничтожить временные данные. Мы не даём ему время постоянно блокируя объект.
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: Oraven on July 26, 2019, 10:55:34 AM
Достаточно одной таблЭтки и память стабильна и проц 0.2%

Нет. На версии 4.13 этот код
А такой вообще 3000к
Code: (clickermann) [Select]
SUB(qwert, $a)
 
END_SUB

qwert("Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст ")

не вызывает разрастание памяти процесса.
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: Vint on July 26, 2019, 12:11:47 PM
Почему же нет. 14 более оптимизированная, внутренне может работает быстрее и времени когда объект не заблокирован практически не остаётся. Не успевает оно его поймать для очистки в этот короткий промежуток времени.

Не проблема это вовсе, не делать пустых циклов и всё станет нормально.
WAITMS(3) можно поставить хоть в подпрограмму, хоть после её вызова - результат один.

Часто у всех в коде вызывается одна подпрограмма с практически пустыми внутренностями?
Как только внутри будет код побольше, который выполняется чуть дольше проблемы не должно быть.

Пусть посмотрит, конечно, я не против. Может скальпель внутри забыл, всякое бывает.
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: dramster on August 01, 2019, 10:15:41 PM
Заметил коекакую особенность, возможно это имеет какоето объяснение, но я пока не знаю как обойти:

Речь о версии 4.14.002 . FREADDATA после прочтения файла, както его блокирует для дальнейшего изменения или удаления.
Помогает лишь перезагрузка программы.

Code: (clickermann) [Select]
GETSCREEN
SCREENSHOTFIX(0,0, 10,10, "screen.bmp")
waitms(200)     


FREADDATA ("screen.bmp", $arr_bmp)
//далее файл чемто занят, вручную не удалить, очистка массива не помогает. Удаление кликером не работает. Новый скрин с этим же именем выдает ошибку.

//только перезапуск кликермана дает результат :(


halt
Title: Re: [Alpha/Beta Testing]
Post by: Johnny on September 13, 2019, 05:26:29 PM
Всех с Днем Программиста!
И в честь нашего праздника...

Patch 4.14.003b

https://yadi.sk/d/hPssEg8K76M9RQ

Исправлено почти все, что тут накопано, что-то добавлено, обновлена справка. Ковыряйтесь на здоровье

(https://lh6.googleusercontent.com/kdajyxcNJhC6wRWJK3j9nzx6cMQoVYue-FR3-ZBciP1BSVjSMK5-FIV44CvHVsmzpoLM-nJG44hyjGX6XVt2og9uS9Opk_iCQJfLpDwZ9GtI6wcEt7BD5ZWjBjGS-PhHY6eeQgLM)



Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: Oraven on September 13, 2019, 06:06:23 PM
Полная сборка Clickermann 4.14.003b
https://yadi.sk/d/zJPu59MW7-YROg (https://yadi.sk/d/zJPu59MW7-YROg)
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: Vint on September 17, 2019, 01:33:57 PM
А там ничего по дороге не потерялось?
Просто размер прыгнул с 2.8 до 1.9 Mb
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: Graubart on September 17, 2019, 08:21:29 PM
А там ничего по дороге не потерялось?
А таки потерялось. STRWRITELN не работает. Другое не знаю. не пробовал.
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: Vint on September 19, 2019, 02:46:09 PM
А таки потерялось. STRWRITELN не работает. Другое не знаю. не пробовал.
Если файла нет, то создаёт и прописывает строку. Если файл уже есть - ошибка интерпретации. Даже если создавал он же.

Вот такой скрипт срабатывает один раз, пока файла нет
Code: (clickermann) [Select]
StrWriteln("out.txt", "Упс")
HALT
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: Vint on September 19, 2019, 03:21:24 PM
В редакторе, в левом меню "Команды"

Системные переменные;
  Весь экран ($_xmin,$_ymin,$_ymax,$_ymax);   $_xmin,$_ymin,$_ymax,$_ymax;
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: Johnny on September 19, 2019, 06:06:19 PM
А таки потерялось. STRWRITELN не работает. Другое не знаю. не пробовал.
Если файла нет, то создаёт и прописывает строку. Если файл уже есть - ошибка интерпретации. Даже если создавал он же.

Вот такой скрипт срабатывает один раз, пока файла нет
Code: (clickermann) [Select]
StrWriteln("out.txt", "Упс")
HALT

Локализовали. Небольшие издержки оптимизации кода.
По поводу размера - веселимся с упаковщиком
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: Vint on September 19, 2019, 06:40:58 PM
По поводу размера - веселимся с упаковщиком
Так и подозревал. Опять Касперский начал агриться. Пришлось отключать, пока распаковал и в постоянную папку перенёс.
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: Johnny on September 19, 2019, 07:14:25 PM
По поводу размера - веселимся с упаковщиком
Так и подозревал. Опять Касперский начал агриться. Пришлось отключать, пока распаковал и в постоянную папку перенёс.
О как. А ведь я через ВТ пропускаю каждый билд. Правда чисто один ехешник.
Хм, пока у нас проблемы только с чересчур параноидальным встроенным в десятку дефендером вроде были.
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: Vint on September 20, 2019, 08:51:04 AM
Вот этот тип (см. скрин) сразу в хранилище кидает.
Не разбираюсь в версиях Касперского, т.к. дома не использую.
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: BiG on September 20, 2019, 04:13:29 PM
AVAST сегодня тоже в хранилище кинул кликермана.ехе Хотя вчера норм было)
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: Johnny on September 20, 2019, 05:41:14 PM
Говно!)

Вообще понятно (но не всем далеко), что там претензии уровня "чет подозрительна".
Но как то же дрВеб с Каспером держат себя в руках. Остальным ноунеймам что не нравится?

Собсно вот отчет с ВТ для последнего билда https://www.virustotal.com/gui/file/a4050c520b54e6b6d5375ab75c8aaaefe58809b812b12ebf3e527407290f81fb/detection
Хз. Поиграемся с настройками пакера.
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: Hito on September 24, 2019, 06:08:35 PM
А таки потерялось. STRWRITELN не работает. Другое не знаю. не пробовал.
Если файла нет, то создаёт и прописывает строку. Если файл уже есть - ошибка интерпретации. Даже если создавал он же.

Вот такой скрипт срабатывает один раз, пока файла нет
Code: (clickermann) [Select]
StrWriteln("out.txt", "Упс")
HALT

Локализовали. Небольшие издержки оптимизации кода.
По поводу размера - веселимся с упаковщиком
А где качать исправленную версию? Или ее еще нет?
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: Johnny on September 26, 2019, 09:43:05 PM
Да на релизе выкатим. Проблема действительно в этой вот одной единственной функции, которая к слову считается устаревшей после ввода серии tf...
Все остальное должно работать. Но время у тестеров есть. Я не тороплюсь)
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: Graubart on September 27, 2019, 03:19:52 PM
Проблема действительно в этой вот одной единственной функции, которая к слову считается устаревшей после ввода серии tf...
Единственным плюсом функции STRWRITELN является наличие флага перезаписи. Стоит добавить такой флаг в функцию TFWRITE и всю серию STR… можно похерить. Хотя, серия STR… работает быстрее TF… на пару микросекунд  :)
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: Hito on October 01, 2019, 06:34:17 PM
Предлагаю реализовать, чтобы в скрипте можно было получить список запущенных окон.
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: ya12 on October 01, 2019, 09:04:59 PM
Предлагаю из плагина возвращать не 1 число, а массив целых чисел.
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: Hito on October 05, 2019, 03:23:45 PM
Верните плиз старый COLORMODE...
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: Oraven on October 05, 2019, 08:41:56 PM
Верните плиз старый COLORMODE...

А что с ним не так? Он не изменился, или ты про колормод лупы?
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: Hito on October 06, 2019, 11:07:25 AM
Верните плиз старый COLORMODE...

А что с ним не так? Он не изменился, или ты про колормод лупы?
В смысле - не изменился...? Раньше он вроде быд девяти-уровневым и работал по-другому. А теперь он 30+ уровней имеет и не справляется с задачей так, как справлялся тот, что был раньше.
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: Oraven on October 06, 2019, 11:18:50 AM
В смысле - не изменился...? Раньше он вроде быд девяти-уровневым и работал по-другому. А теперь он 30+ уровней имеет и не справляется с задачей так, как справлялся тот, что был раньше.

Вроде? COLORMODE не изменился, добавилась новая цветокоррекция CONTRAST
какие 30 уровней, прочти справку для начала...

Quote
CONTRAST
Применяет цветокоррекцию к текущему снимку экрана.

Синтаксис
CONTRAST (value, [x1, y1, x2, y2] )


Параметры
value - число от 1 до 9, соответствующее степени контраста
x1, y1, x2, y2 - область снимка экрана, к которой будет применена коррекция

Описание
Процедура изменяет текущий снимок экрана, увеличивая контрастность и уменьшая количество полутонов. В основной справке есть статья посвещенная цветокоррекции.
Есть возможность указать область для применения фильтра. Быстродействие обратно пропорционально размеру области. Вызов CONTRAST(0) не имеет смысла, вызов CONTRAST(9) сделает снимок черно-белым. В отличие от COLORMODE для получения корректного результата необходимо применять процедуру только к неизмененным снимкам.

Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: Hito on October 07, 2019, 03:15:29 PM
прочти справку для начала...
Прошу прощения...
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: ya12 on October 19, 2019, 03:25:10 PM
Предлагаю константы дополнить значениями lParam для PS/2 клавиатуры.
Значения сняты с помощью программы Microsoft Spy++ 11. В конце файла в комментарии есть примеры нажать/отпустить F1, нажать/отпустить Alt+F1. И справку дополнить бы не мешало.
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: Hito on October 21, 2019, 09:33:27 PM
Предлагаю константы дополнить значениями lParam для PS/2 клавиатуры.
Значения сняты с помощью программы Microsoft Spy++ 11. В конце файла в комментарии есть примеры нажать/отпустить F1, нажать/отпустить Alt+F1. И справку дополнить бы не мешало.
А можно чуток разжевать плиз... Что значит - "Значения сняты с помощью программы Microsoft Spy++ 11."? Ну, это не предъява ) Это просто мне - дураку...)
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: ya12 on October 22, 2019, 09:48:21 AM
В разделе SPY выставляешь что смотреть (окна, процессы, потоки). Смотрим процессы. Правой кнопкой мыши выбираешь процесс. Нажимаешь Message, получаешь лог сообщений. В опциях лога выбираешь какие сообщения тебе нужны(клава, мышь и тд). Переходишь в изучаемый процесс. Жмешь клавиши. В логе все сообщения получаемые процессом отражаются. На каждое сообщение можно посмотреть properties.
Для примера. Фильтр сообщений - Клава. Нажал F2.
В логе 2 сообщения:

Нажал F2
(Хендл окна. Сообщение 0100(не системно нажал).  wParam(код F2). lParam(003C0001))

Отпустил F2
(Хендл окна. Сообщение 0101(не системно отпустил).  wParam(код F2). lParam(C03C0001))

Тут можно почитать, как кодируется lParam(если не правильно, комбинация Alt+клавиша не пройдет)
http://decoding.dax.ru/practic/altcode/altcode.html

зы Посылка сообщений не является аналогом PS/2 режима. Т.е. если защита агрится на посылку сообщений о нажатии клавиши, то работать не будет, или выкинет из проги, или бан, или искать в защите слабое место, патчить его и радоваться жизни.
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: Hito on October 22, 2019, 11:04:17 AM
Ну, вот теперь сразу все ясно стало... ;D
Title: Re: [Alpha/Beta Testing]
Post by: АНТИКЛАН on October 30, 2019, 06:10:20 PM
Всех с Днем Программиста!
И в честь нашего праздника...

Patch 4.14.003b

https://yadi.sk/d/hPssEg8K76M9RQ

Исправлено почти все, что тут накопано, что-то добавлено, обновлена справка. Ковыряйтесь на здоровье

(https://lh6.googleusercontent.com/kdajyxcNJhC6wRWJK3j9nzx6cMQoVYue-FR3-ZBciP1BSVjSMK5-FIV44CvHVsmzpoLM-nJG44hyjGX6XVt2og9uS9Opk_iCQJfLpDwZ9GtI6wcEt7BD5ZWjBjGS-PhHY6eeQgLM)

Johnny спасибо! И тебя! :D
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: Viktor77 on November 11, 2019, 12:03:11 AM
Полная сборка Clickermann 4.14.003b
https://yadi.sk/d/zJPu59MW7-YROg (https://yadi.sk/d/zJPu59MW7-YROg)
при открытии редактора, сворачивается в трей, и дальше никак в редактор не попасть
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: Oraven on November 11, 2019, 11:28:14 AM
Полная сборка Clickermann 4.14.003b
https://yadi.sk/d/zJPu59MW7-YROg (https://yadi.sk/d/zJPu59MW7-YROg)
при открытии редактора, сворачивается в трей, и дальше никак в редактор не попасть

Вероятно редактор появляется за экраном. Хотя, в той сборке что я выложил, такого быть не должно.
Я специально в файле \data\config_editor.ini указал координаты окна 100 100. Именно там должно появляться окно.

Code: [Select]
left =100
top =100

Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: Viktor77 on November 26, 2019, 01:30:45 PM
Полная сборка Clickermann 4.14.003b
https://yadi.sk/d/zJPu59MW7-YROg (https://yadi.sk/d/zJPu59MW7-YROg)
при открытии редактора, сворачивается в трей, и дальше никак в редактор не попасть

Вероятно редактор появляется за экраном. Хотя, в той сборке что я выложил, такого быть не должно.
Я специально в файле \data\config_editor.ini указал координаты окна 100 100. Именно там должно появляться окно.

Code: [Select]
left =100
top =100
каким то образом авто заменяется файл  \data\config_editor.ini , и не открывается редактор. приходится из архива каждый раз его доставать. такая ситуация происходит при сворачивании кликера в трей.
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: Dimava on January 06, 2020, 05:43:36 PM
С помощью препроцессора вполне возможно сделать хоть и немного кривые, но функции.
С локальными переменными и возвращаемыми значениями.

Code: (javascript) [Select]
s = `

sub(ar, $i, $j)
$ret = $arr[$i+10*$j+11]
end_sub

ar(1, 2)

$v1 = ar(1, ar(2, sin(3))))

$v2 = sin(ar(2, sin(3)))

$v3 = ar(ar(1, 2), ar(3, 4))

`;


a = s.split('\n');
b = [];

localvars = new Map();
subname = ''
subnames = new Set();

// todo: make both 'SUB' and 'sub' support
a = a.map(s=>{
if (s.startsWith('sub(')) {

subname = s.match(/\(\s*(\w+)/)[1];
subnames.add(subname);

localvars = new Map();
localvars.set('$ret', '$_' + subname + '_ret');

return s.replace(/\$\w+/g, s=>{
localvars.set(s, '$_' + subname + '_' + localvars.size);
return localvars.get(s);
}
);
}

if (s.startsWith('end_sub')) {
localvars = new Map();
return s;
}

return s.replace(/\$\w+/g, s=>{
return localvars.get(s) || s;
}
);
}
)

a2 = [];
tempn = 0;
for (let s of a) {
if (s.match(/^\s*(sub|for|while|do|if)\s*\(/)) {
a2.push(s);
continue;
}

let ws = s.match(/^\s*/)[0];

// todo: make "(" string support
let temps = []
for (let i = 0; i < 10; i++) {
s = s.replace(/(\w+)\([^()]*\)/, (s, fname) => {
let tempname = '$_temp_' + (++tempn)
let o = {type: 'call', s, fname, n: tempn, tempname};
o.id = temps.push(o);
return tempname;
})
}
let inlines = new Map();
for (let o of temps) {
for (let i = 0; i < 10; i++) {
o.s = o.s.replace(/\$_temp_\w+/, s => inlines.get(s) || s)
}
if (subnames.has(o.fname)) {
a2.push(ws + o.s);
a2.push(ws + o.tempname + ' = $_' + o.fname + '_ret');
} else {
inlines.set(o.tempname, o.s)
}
}
for (let i = 0; i < 10; i++) {
s = s.replace(/\$_temp_\w+/, s => inlines.get(s) || s)
}
a2.push(s);


}

s = a2.join('\n')

console.log('%o', s);


Из
Code: (clickermann) [Select]
sub(ar, $i, $j)
$ret = $arr[$i+10*$j+11]
end_sub

ar(1, 2)

$v1 = ar(1, ar(2, sin(3))))

$v2 = sin(ar(2, sin(3)))

$v3 = ar(ar(1, 2), ar(3, 4))
генерирует
Code: (clickermann) [Select]
sub(ar, $_ar_1, $_ar_2)
$_ar_ret = $arr[$_ar_1+10*$_ar_2+11]
end_sub

ar(1, 2)
$_temp_1 = $_ar_ret
$_temp_1

ar(2, sin(3))
$_temp_3 = $_ar_ret
ar(1, $_temp_3)
$_temp_4 = $_ar_ret
$v1 = $_temp_4)

ar(2, sin(3))
$_temp_6 = $_ar_ret
$v2 = sin($_temp_6)

ar(1, 2)
$_temp_8 = $_ar_ret
ar(3, 4)
$_temp_9 = $_ar_ret
ar($_temp_8, $_temp_9)
$_temp_10 = $_ar_ret
$v3 = $_temp_10


Если кто может перевести в dll (сам на подходящих языках плохо пишу), пожалуйста скомпилируйте.
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: dramster on January 08, 2020, 10:57:47 PM
А какая именно функция должна быть в длл?  Я так понимаю "ar", типа вот эта :
Code: (clickermann) [Select]
....
     $ret = $arr[$i+10*$j+11]
....
Но кроме двух параметров $i и $j у нас же еще есть некий массив $arr. В последней версии длл вроде принимает массивы, не пробовал использовать в длл пока. В таком случае нужно параметры $i и $j добавить в массив. Можно в начало, можно в конец.
 
из  справки:
Quote
Однако необходимо помнить, что массив должен содержать только целочисленные значения, иначе будет ошибка.

А у тебя sin(3) = 0.052 = 0
Если нужно именно так как ты написал, то можно и дробные пересылать в длл, но перед этим их нужно перевести целочисленные http://crapware.aidf.org/forum/index.php?topic=5212.0 , ну  или както попроще.

Вобщем, для начала, вот простенький пример твоей функции на делфи7, работает только с целочисленными.
Код делфи:
Code: (clickermann) [Select]
library test;

uses
  SysUtils;
//------------------------------------------------------------------------------
// Основное тело функции, идет на экспорт, вызывается из кликера
function execute( _mas: pInteger; _size: Integer): Integer; export; stdcall;
type
  pIntArr = array[0..0] of Integer;
var
  i, j : Integer;
begin
 // _mas  - указатель на начало массива параметров integer
 // _size - размер массива (число параметров)

   i := pIntArr(_mas^)[_size-2]; //наши два параметра
   j := pIntArr(_mas^)[_size-1];

 result := pIntArr(_mas^)[i + 10*j + 11]; // присваиваем возвращаемое значение

end;
//------------------------------------------------------------------------------

// список экспорта
exports execute;

begin
  // тело пусто
end.

Тестовый код, для проверки в кликере, версия 4.14.003 (x32):
Code: (clickermann) [Select]
FOR($a=0,$a<200)       //создаем рандомный массив со значениями от 0 до 9. 200 элементов
  ARRPUSH ($arr, rnd(0,9))
END_CYC


$i = 1
$j = 2

ARRPUSH ($arr, $i) //добавляем в конец наши параметры
ARRPUSH ($arr, $j)

print("результат расчитанный кликером = ", $arr[$i+10*$j+11])
 

callarr("test.dll", $arr)

print("результат расчитанный dll = ",$_return1)

halt

Результаты расчетов кликера и длл совпадают.

(https://i.imgur.com/1WwK58X.png)

Во вложении "test.dll"
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: Dimava on January 10, 2020, 11:03:36 PM
Вот тот мой препроцессор (работает только в браузере): https://output.jsbin.com/rafaqey ( код - https://jsbin.com/rafaqey/edit?js,output )

А вот что оно делает (там этот же пример)

Code: (clickermann) [Select]
#preprocessor "please_make_this_dll.dll"            #preprocessor "please_make_this_dll.dll"
                                                       
// пример                                           // пример
                                                   
// локальные переменные $x и $y - имена поменять    // локальные переменные $x и $y - имена поменять
sub(fn1, $x, $y)                                    sub(fn1, $_fn1_1, $_fn1_2)
   // возвращаемое значение - имя поменять             // возвращаемое значение - имя поменять
   $ret = $x * $x + $y * $y                            $_fn1_ret = $_fn1_1 * $_fn1_1 + $_fn1_2 * $_fn1_2
end_sub                                             end_sub
                                                   
for ($x = 0, $x < 5)                                for ($x = 0, $x < 5)
   for ($y = 0, $y < 5)                                for ($y = 0, $y < 5)
      // вызов функции - сохранить возвращаемое           // вызов функции - сохранить возвращаемое
      //     значение во временную переменную             //     значение во временную переменную
      $s = $s + fn1($x, $y)                               fn1($x, $y)
   end_cyc                                                $_temp_1 = $_fn1_ret
end_cyc                                                   $s = $s + $_temp_1
                                                       end_cyc
                                                    end_cyc

                                                   
// пример 2                                         // пример 2
                                                   
sub(fn2, $i)                                        sub(fn2, $_fn2_1)
   // возвращаемой значение - имя всегда $ret          // возвращаемой значение - имя всегда $_fn2_ret
   $ret = $i * ($i + 1)                                $_fn2_ret = $_fn2_1 * ($_fn2_1 + 1)
end_sub                                             end_sub
                                                   
// развёртка функций должна поддерживать            // развёртка функций должна поддерживать
// многократную вложенность                         // многократную вложенность
$v1 = fn2(1) + fn2(fn2(fn2(fn2(1))))                fn2(1)
                                                    $_temp_1 = $_fn2_ret
// встроенные функции не должны развёртываться      fn2(1)
$v2 = fn2(cos(sin(fn2(1))))                         $_temp_2 = $_fn2_ret
                                                    fn2($_temp_2)
                                                    $_temp_3 = $_fn2_ret
                                                    fn2($_temp_3)
                                                    $_temp_4 = $_fn2_ret
                                                    fn2($_temp_4)
                                                    $_temp_5 = $_fn2_ret
                                                    $v1 = $_temp_1 + $_temp_5
                                                   
                                                    // встроенные функции не должны развёртываться
                                                    fn2(1)
                                                    $_temp_6 = $_fn2_ret
                                                    fn2(cos(sin($_temp_6)))
                                                    $_temp_9 = $_fn2_ret
                                                    $v2 = $_temp_9
                                                   
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: h31p on February 01, 2021, 03:17:33 AM
Win7 x64 SP1, 4.14.03 (пробовал так же .02, от .01 нашёл только анонс с чейнджлистом, но не нашёл самих файлов) при запуске сразу пишет в errorlog.txt:

Code: [Select]
01.02.2021 01:56:56 Access violation at address 0063C4FE in module 'Clickermann.exe'. Read of address 00000000
и затем после открытия редактора - циклически:

Code: [Select]
01.02.2021 01:57:03 Access violation at address 00000000. Read of address 00000000
01.02.2021 01:57:03 Access violation at address 00000000. Read of address 00000000
01.02.2021 01:57:03 Access violation at address 00000000. Read of address 00000000
01.02.2021 01:57:03 Access violation at address 00000000. Read of address 00000000
01.02.2021 01:57:04 Access violation at address 00000000. Read of address 00000000
01.02.2021 01:57:04 Access violation at address 00000000. Read of address 00000000

при этом нельзя передвинуть окно редактора и нельзя передвинуть открытое окно лога - они "прыгают" назад туда, где изначально появились. после попытки запустить скрипт - пропадает кнопка запуска, в логе снова access violation уже с ненулевыми оффсетами, скрипт не запускается. это у меня что-то? 4.13.х из того же места работают без эксцессов.

а чё, собственно, полез в бету: Clickermann любой версии, включая последнюю релизную 4.13, выдаёт неверный unix timestamp в $_time_t, а именно - смещает его соответственно установленному в системе часовому поясу. так быть не должно, поскольку это число - абсолютный отсчёт секунд от.. ну вы в курсе, и в любой момент в любой точке мира одинаков.
в последней 4.14, судя по тому что поиск по форуму "$_time_t" никаких подобных комплейнов не нашёл - наверное, так же, проверить, вот, не удалось.
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: Vint on February 01, 2021, 09:15:25 AM
Win7 x64 SP1, 4.14.03 (пробовал так же .02, от .01 нашёл только анонс с чейнджлистом, но не нашёл самих файлов) при запуске сразу пишет в errorlog.txt:

Code: [Select]
01.02.2021 01:56:56 Access violation at address 0063C4FE in module 'Clickermann.exe'. Read of address 00000000

Я это ловил ещё на 4.13
http://crapware.aidf.org/forum/index.php?topic=4295.msg29320#msg29320

Потом она пропала и больше я её не видел, соответственно не разбирался.
Предполагаю, мог быть виноват каспер, но это не точно. Винда 10 точно не причина, т.к. тогда на работе стояла XP.


А вот $_time_t очень давно я проверял, всё было нормально. Сейчас проверил. Все и 4.14 и 4.13 и 4.11 и 4.8 и 4.6 (пропускал версии чтоб быстрее найти) выдают это вот сдвинутое на таймзону. Вот здесь не скажу кто виноват. Но давно, когда проверял ещё на XP было всё нормально, думаю версия была 4.8 и 4.11
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: h31p on February 02, 2021, 03:14:17 PM
Quote
А вот $_time_t очень давно я проверял, всё было нормально. Сейчас проверил. Все и 4.14 и 4.13 и 4.11 и 4.8 и 4.6 (пропускал версии чтоб быстрее найти) выдают это вот сдвинутое на таймзону. Вот здесь не скажу кто виноват. Но давно, когда проверял ещё на XP было всё нормально, думаю версия была 4.8 и 4.11

да вот и мне кажется (но это неточно), что 2-3 года назад я опирался в скрипте на абсолютное значение $_time_t, чтоб определённые фрагменты отрабатывали только в рамках установленного отрезка времени, и всё работало как надо. с той поры не изменилось ничего - тот же ноут, та же винда, даже та же версия clickermann, изменился почему-то только сам $_time_t  :o
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: Vint on February 02, 2021, 05:20:29 PM
Может всё таки десятка виновата? Она же пережила много обновлений включая глобальные.
Вот, я уже давал ссылку на статью, где обсуждается их изменение с временем
http://crapware.aidf.org/forum/index.php?topic=5437.msg35928#msg35928

Может и с Unix временем есть несколько функций. Одна учитывает таймзону, другая нет. Или это параметры одной функции.
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: h31p on February 02, 2021, 06:36:36 PM
Может всё таки десятка виновата?

у меня семёрка, и апдейты были выключены раньше чем кликерманн впервые на ней появился.
разве что оно использует какие-то дот-неты и иже с ними, которые ставятся отдельно и в принципе вероятность их обновления есть - я точно уже не вспомню.

если мне не изменяет память и $_time_t я раньше ↑↑ юзал без эксцессов - то это было на этом же бинаре, который сейчас, я его 100 лет не менял со времён какой-то нормально работающей беты 4.13, даже не релиза ещё.
больше похоже на костыль в функции (который, кстати, может быть в том на чём он написан, а не в самом кликере), высчитывающей unix ts, который раньше срабатывал, а теперь больше нет.

Quote
Может и с Unix временем есть несколько функций. Одна учитывает таймзону, другая нет. Или это параметры одной функции.

unix время и tz - это взаимоисключающие параграфы, не думаю что есть такая функция, ибо она бессмысленна.
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: lp85d on April 08, 2021, 08:56:23 PM
Clickermann_414003b.exe

Windows 10 PRO не срабатывает команда HTTPGet

errorlog.txt   08.04.2021 20:31:52 HTTPGet Error (https://ya.ru (https://ya.ru))

Code: (clickermann) [Select]
$str = httpget("https://ya.ru")
print($str)

и так вот как я решил проблему:
User agent с которого поступает запрос Mozilla/3.0 (compatible)
Соответственно если этого недостаточно то можно принимать запрос на своём сервере и перенаправлять его с заданным User agent

Code: (clickermann) [Select]
$str = httpget("http://1jf.ru/")
print($str)

Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: Vint on April 09, 2021, 01:45:16 PM
Windows 10 PRO не срабатывает команда HTTPGet

errorlog.txt   08.04.2021 20:31:52 HTTPGet Error (https://ya.ru (https://ya.ru))

Code: (clickermann) [Select]
$str = httpget("https://ya.ru")
print($str)

и так вот как я решил проблему:
User agent с которого поступает запрос Mozilla/3.0 (compatible)
Соответственно если этого недостаточно то можно принимать запрос на своём сервере и перенаправлять его с заданным User agent

Проблема в том, что https изначально не поддерживается. Для поддержки нужно скачать две dll-ки
http://crapware.aidf.org/forum/index.php?topic=356.msg26057#msg26057

Ты даже с темой угадал, ответ как раз здесь был  :)

А ну и несмотря на заявленную передачу дополнительных заголовков запроса, они не передаются. Я не смог добиться уже давно.
По идее передавать нужно так:
Code: (clickermann) [Select]
$URL = "https://ya.ru"
$UserAgent = "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:87.0) Gecko/20100101 Firefox/87.0"
LOGWRITE (HTTPGET($URL, $UserAgent)

но User-Agent не передаётся.
Проверял на "http://httpbin.org/headers" или "http://httpbin.org/user-agent"
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: Nitro on October 20, 2021, 01:37:31 PM
Добрый день! Извесна проблема, что в некоторых приложениях при привязке к окну getscreen делает снимок черный квадрат, без привязки все хорошго каринка как видит глаз?
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: arma on October 25, 2021, 05:26:49 PM
Через FReadData можно прочитать картинку bmp и сохранить массивом в памяти.
Как потом использовать этот массив в функциях If_picture_in или ScanPicture?
А то иногда приходится сравнивать экран с несколькими образцами, и если это в цикле, то каждая итерация гоняет чтение картинок с диска.
Title: Re: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)
Post by: Vint on October 26, 2021, 10:45:32 AM
Через FReadData можно прочитать картинку bmp и сохранить массивом в памяти.
Как потом использовать этот массив в функциях If_picture_in или ScanPicture?
Никак. Функции поиска не принимают ни массивы ни указатели, только путь к файлу.

А то иногда приходится сравнивать экран с несколькими образцами, и если это в цикле, то каждая итерация гоняет чтение картинок с диска.
Может и гоняет, я не проверял. А возможно там кэшируется и объект не удаляется. В любом случае, для меня не критично.