Author Topic: [Alpha/Beta Testing] Тестируем сырые обновления (ссылки в первом посте)  (Read 232680 times)

0 Members and 2 Guests are viewing this topic.

Johnny

  • Создатель
  • Герой форума
  • *
  • Posts: 593
    • View Profile
Re: [Alpha/Beta Testing]
« Reply #90 on: October 05, 2014, 04:11:34 PM »
ладно разберемся. новшество сильно новое видимо.
с рандомными зависаниями еще интереснее.. есть какой нить скрипт чтоб погонять?

но "разберемся с вашей помощью" будет по-быстрее. погоняйте глючную версию, посмотрите на предметы зависаний, закономерностей. если повис, смотрите что пишет errorlog.txt (он очищается при каждом запуске имейте ввиду).
« Last Edit: October 05, 2014, 05:20:37 PM by Johnny »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: [Alpha/Beta Testing]
« Reply #91 on: October 05, 2014, 05:25:51 PM »
Точно установлено что в errorlog.txt пишутся ошибки при нажатии кнопки "Стоп" если скрипт не запущен.
Удалось добиться зависаний  8)

Игра Clicker Heroes
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

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


« Last Edit: October 05, 2014, 06:08:09 PM by Oraven »

i0

  • Оплот сообщества
  • ****
  • Posts: 353
  • CMann 4.13.014 final, ie, presto, win7 x86, x64
    • View Profile
Re: [Alpha/Beta Testing]
« Reply #92 on: October 05, 2014, 08:13:08 PM »
ммм.. есть проблема с проверкой условия с участием строк (вообще забыл про них). попробуем поковырять.
Code: [Select]
if ( $sString = "" )в Clickermann v4.11 вызывает ошибку интерпретации (в 4.10.003 всё норм.)

Johnny

  • Создатель
  • Герой форума
  • *
  • Posts: 593
    • View Profile
Re: [Alpha/Beta Testing]
« Reply #93 on: October 06, 2014, 02:18:57 PM »
Включаю-выключаю это все понятно и впринципе примерно ясно где баг. Там то что называется есть риск остановить в неправильное время (и судя по всему в неправильном месте).
А вот в процессе работы оно не висло? То есть просто запустил, нажал плей и она крутится?

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: [Alpha/Beta Testing]
« Reply #94 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 // Без хальта на втором проходе висяк
« Last Edit: October 06, 2014, 06:13:28 PM by Oraven »

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: [Alpha/Beta Testing]
« Reply #95 on: October 06, 2014, 03:32:47 PM »
Сколько не включал/выключал явного сбоя не добился xp sp3
Хотя мне кажется какой-то поток не останавливался.
« Last Edit: October 06, 2014, 03:34:50 PM by Vint »


Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: [Alpha/Beta Testing]
« Reply #96 on: October 07, 2014, 02:43:09 PM »
Там в Командах и шаблонах что я написал есть ошибка
Файл qinsert_menu.txt стока 237 не хватает точки с запятой в конце
Code: [Select]
Define - Объявляет макрос; #define find:replace;Надо исправить, иначе этот пункт работать не будет.
« Last Edit: October 07, 2014, 02:46:06 PM by Oraven »

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: [Alpha/Beta Testing]
« Reply #97 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);


Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: [Alpha/Beta Testing]
« Reply #98 on: October 07, 2014, 03:50:25 PM »
91 наверно хотел так?:
Code: [Select]
IF( ); IF($a = $b);
Нет там пример, опять же зачем вставлять в скрипт какие то $a = $b? Чтоб потом тратить время на удаление.

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

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

Вот последний исправленный вариант.
« Last Edit: October 07, 2014, 04:23:42 PM by Oraven »

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: [Alpha/Beta Testing]
« Reply #99 on: October 07, 2014, 04:49:15 PM »
Насчёт лишних, да.
Я просто смотрю по аналогии. Ведь в
FOR($a, $a < 5)
у тебя вставлено, то что потом придётся удалять.  И не только там.

Я давно там всё правлю в упрощённую сторону и без вставки комментов.
А, например подпрограммы сразу с оформлением разделителями.


Johnny

  • Создатель
  • Герой форума
  • *
  • Posts: 593
    • View Profile
Re: [Alpha/Beta Testing]
« Reply #100 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 теперь не сбрасывается
очередное дисциплинирующее нововведение, да. с другой стороны в ряде случаев позволяет сэкономить костыли и не портить изящество кода
« Last Edit: October 07, 2014, 05:23:48 PM by Johnny »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: [Alpha/Beta Testing]
« Reply #101 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


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


« Last Edit: October 07, 2014, 07:35:20 PM by Oraven »

Johnny

  • Создатель
  • Герой форума
  • *
  • Posts: 593
    • View Profile
Re: [Alpha/Beta Testing]
« Reply #102 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
Если в ходе выполнения скрипта (любого) в редакторе нажать Применить то кликер невозможно остановить.
ну вы совсем уже... к таким же примерно результатам приведет попытка открыть другой сценарий в момент выполенния первого.

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: [Alpha/Beta Testing]
« Reply #103 on: October 09, 2014, 01:28:28 PM »
ну вы совсем уже... к таким же примерно результатам приведет попытка открыть другой сценарий в момент выполенния первого.
Однако в 4.10.003 нажатие Применить останавливает скрипт.
Юзеры своими рученками куда только не тыкнут, надо учитывать все.

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: [Alpha/Beta Testing]
« Reply #104 on: October 09, 2014, 02:27:50 PM »
Ко всем запрещённым кнопкам подвести напряжение  :D ;D