Автор Тема: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)  (Прочитано 199792 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Johnny

  • Создатель
  • Герой форума
  • *
  • Сообщений: 593
    • Просмотр профиля
Re: [Alpha/Beta Testing]
« Ответ #75 : Март 31, 2014, 03:28:27 pm »
ммм.. есть проблема с проверкой условия с участием строк (вообще забыл про них). попробуем поковырять.

Vint

  • Супермодератор
  • Герой форума
  • *
  • Сообщений: 3903
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • Просмотр профиля
Re: [Alpha/Beta Testing]
« Ответ #76 : Март 31, 2014, 04:20:37 pm »
Может так же, как и везде. Пустая строка False  0... 
Ну и сравнение... хм. Ну равно/не равно понятно, а больше/меньше - длина? А булевы? Нах?
Да, и тогда уж в булевы not для полного счастья, а то как то неполноценно выходит.


Крис Тинка

  • Активный участник
  • ***
  • Сообщений: 171
    • Просмотр профиля
Re: [Alpha/Beta Testing]
« Ответ #77 : Апрель 12, 2014, 06:17:21 pm »
а больше/меньше - длина?
Больше/меньше - алфавитный порядок

Vint

  • Супермодератор
  • Герой форума
  • *
  • Сообщений: 3903
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • Просмотр профиля
Re: [Alpha/Beta Testing]
« Ответ #78 : Апрель 14, 2014, 08:02:00 am »
а больше/меньше - длина?
Больше/меньше - алфавитный порядок
Это самое очевидное. Но практического применения в таком виде практически не видел. Мёртвый груз. Разве что для цифр.


Крис Тинка

  • Активный участник
  • ***
  • Сообщений: 171
    • Просмотр профиля
Re: [Alpha/Beta Testing]
« Ответ #79 : Апрель 14, 2014, 02:22:53 pm »
а больше/меньше - длина?
Больше/меньше - алфавитный порядок
Это самое очевидное. Но практического применения в таком виде практически не видел. Мёртвый груз. Разве что для цифр.
Только для упорядочивания в алфавитном порядке и используется наверное)))

Johnny

  • Создатель
  • Герой форума
  • *
  • Сообщений: 593
    • Просмотр профиля
Re: [Alpha/Beta Testing]
« Ответ #80 : Август 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=Пример]
Код: Clickermann
  1. // generate primary array
  2. for($i, $i<30)
  3.  $arr_out[$i] = rnd(1,99)
  4. end_cyc
  5.  
  6. // save primary array
  7. tfwritearr("arr_save.txt", $arr_out)
  8.  
  9. // load to second array
  10. tfreadarr("arr_save.txt", $arr_in)
  11.  
  12. // print second array
  13. for($i, $i<30)
  14.  print($arr_in[$i])
  15. end_cyc
  16.  
  17. halt
[/spoiler]


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


[spoiler=Пример]
Код: Clickermann
  1. strseparate("login:pass:email", ":", $arr)
  2.  
  3. for($i, $i<arrsize($arr))
  4.  print($arr[$i])
  5. end_cyc
  6.  
  7. halt
[/spoiler]


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

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

все важные фиксы у меня выписаны в todo, некоторые темы я читаю периодически, поэтому про свич в свиче например можете не напоминать :)
« Последнее редактирование: Август 18, 2014, 02:51:58 pm от Johnny »

Vint

  • Супермодератор
  • Герой форума
  • *
  • Сообщений: 3903
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • Просмотр профиля
Re: [Alpha/Beta Testing]
« Ответ #81 : Август 18, 2014, 04:21:21 pm »
Не плохо бы увидеть todo, что бы не дёргаться  :)


Atas

  • Активный участник
  • ***
  • Сообщений: 147
    • Просмотр профиля
Re: [Alpha/Beta Testing]
« Ответ #82 : Август 19, 2014, 01:05:11 pm »
 :) Спасибо! :)

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Сообщений: 3685
  • Котэ
    • Просмотр профиля
Re: [Alpha/Beta Testing]
« Ответ #83 : Август 28, 2014, 01:02:32 pm »
Почему бы не вынести некоторые настройки в "Директивы препроцессора"
Например задержка в кликах для некоторых скриптов вообще не нужна, для других требуется большая задержка чем 30 мс

Код: Clickermann
  1. #smart_delay "0"



Запускаю кликер, загружаю скрипт не заходя в редактор
Код: Clickermann
  1. GETSCREEN
  2. SCREENSHOT
  3. HALT

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



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

« Последнее редактирование: Август 28, 2014, 05:58:00 pm от Oraven »

Vint

  • Супермодератор
  • Герой форума
  • *
  • Сообщений: 3903
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • Просмотр профиля
Re: [Alpha/Beta Testing]
« Ответ #84 : Сентябрь 15, 2014, 10:16:37 am »
strseparate вещь, спасибо. Костылик заполнения теперь в урну.

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

У меня тесты показали значительный прирост скорости. Странно, что у тебя всего несколько мс.
Поиск картинки 18х17 без колормода прозрачности и процентов. Экран 1280х1024.
  • GETSCREEN  - полный экран
    IF_PICTURE_IN  - полный экран (0,0, $_xmax,$_ymax)
    Время getscreen       60-70 мс
    Время всего теста  ~308-330 мс

  • GETSCREEN  - область (1066,908, 1102,938)
    IF_PICTURE_IN  - полный экран (0,0, $_xmax,$_ymax)
    Время всего теста  ~232-234 мс

  • GETSCREEN  - полный экран
    IF_PICTURE_IN  - область (1066,908, 1102,938)
    Время всего теста   ~60-70 мс
    (здесь время поиска практически 0)

  • GETSCREEN  - область (1066,908, 1102,938
    IF_PICTURE_IN  - область (1066,908, 1102,938)
    Время getscreen       0-1 мс
    Время всего теста   ~1-2 мс


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

В 4.10 вот такой код
Код: Clickermann
  1. $a = "abc"
  2. LOGWRITE ($a)
  3. $b = $a+" cde"
  4. LOGWRITE ($b)
выдавал
11:19:53 abc
11:19:53 "abc"+" cde"

В 4.11 уже лучше
11:18:32 abc
11:18:32 abc+ cde
ещё бы от плючиков избавится и STRCONCAT пойдёт лесом.
« Последнее редактирование: Сентябрь 15, 2014, 10:22:07 am от Vint »


Johnny

  • Создатель
  • Герой форума
  • *
  • Сообщений: 593
    • Просмотр профиля
Re: [Alpha/Beta Testing]
« Ответ #85 : Октябрь 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
« Последнее редактирование: Октябрь 03, 2014, 06:21:17 pm от Johnny »

aden

  • Оплот сообщества
  • ****
  • Сообщений: 363
    • Просмотр профиля
Re: [Alpha/Beta Testing]
« Ответ #86 : Октябрь 03, 2014, 06:49:34 pm »
потоки мегавкусняшка, а вот макросы не нашел описания как их использовать

ps. еще компиляцию в exe и я откажусь от затеи кодить свой преферанс с поэтессами ::)
« Последнее редактирование: Октябрь 03, 2014, 06:53:06 pm от aden »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Сообщений: 3685
  • Котэ
    • Просмотр профиля
Re: [Alpha/Beta Testing]
« Ответ #87 : Октябрь 03, 2014, 08:45:23 pm »
потоки мегавкусняшка, а вот макросы не нашел описания как их использовать

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

Вот пример.
Код: Clickermann
  1. WAIT(2)
  2. #define #A:RNDFROM("#Q","#W","#E")
  3. KEYPRESS(#A)

Так можно создать мутационный код
« Последнее редактирование: Октябрь 03, 2014, 08:47:41 pm от Oraven »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Сообщений: 3685
  • Котэ
    • Просмотр профиля
Re: [Alpha/Beta Testing]
« Ответ #88 : Октябрь 03, 2014, 08:54:32 pm »
Приостанавливать поток хорошо, но необходимо также перезапускать поток, начинать выполнение с начала..
Дополнил "Команды и Шаблоны" новыми функциями. Добавил подписи к каждому пункту, для новичков будет полезно.



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



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


Баг
Если скрипт состоит из одних только потоков, то кликер после запуска невозможно остановить, только пауза работает.
Код: Clickermann
  1. thread(Поток1)
  2.   print("Поток 1")
  3.   wait(5)
  4. end_thread
  5.  
  6. thread(Поток2)
  7.   print("Поток 2")
  8.   wait(1)
  9. end_thread


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

Вот что пишет в errorlog.txt
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  :-\
« Последнее редактирование: Октябрь 07, 2014, 10:22:45 am от Johnny »

Atas

  • Активный участник
  • ***
  • Сообщений: 147
    • Просмотр профиля
Re: [Alpha/Beta Testing]
« Ответ #89 : Октябрь 03, 2014, 09:04:38 pm »
Открыл файл Справки > Основные конструкции > THREAD (потоки), читаю...
Код: Clickermann
  1. Поток представляет собой независимую цепочку действий, выполняющихся одновременно с основным телом скрипта (он же родительский поток) и другими потоками.
... ВСЁ! БАШНЮ СОРВАЛО!!! АААААААААА!!!! Урааа!!!
Это ПРАЗДНИК, со слезами на глазах! Вот СПАСИБО! :) Вот ЭТО ПОДАРОК! Да с ЭТИМ мы БОГИ!!!!

Спасибо Johnny! :)

P.S. Завтра тестить буду, сегодня голова несможет вместить такое. Так об этом мечтал, что теперь даже боюсь спугнуть эту радость!
Всё, я курить и в WoW, всех уделаю релизной v4.10 (build 003) напоследок! :) А уж завтра!... 8)