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

0 Members and 1 Guest are viewing this topic.

Космич

  • Активный участник
  • ***
  • Posts: 265
    • View Profile
препроцессор срабатывает до запуска скрипта, сразу же после загрузки скрипта в кликер. Так и должно быть?)
«Иногда ты ваяешь до тех пор, пока до тебя не дойдёт, что именно ты делаешь.»

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
препроцессор срабатывает до запуска скрипта, сразу же после загрузки скрипта в кликер. Так и должно быть?)
Думаю, что да... Он же как бы вставляет код в кликер, который в нем и должен быть по задумке...
Единственное, что я не понимаю, для чего нужно прописывать "halt":
Code: (clickermann) [Select]
#preprocessor "comas.dll"
halt
Ведь код из длл будет крутиться в кликере в цикле и для чего нужен этот halt, после #preprocessor "comas.dll", непонятно... А без halt-а полная хрень получается.
« Last Edit: July 05, 2019, 08:48:50 AM by Hito »
Я не ду... Потому и не бу...

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Code: (clickermann) [Select]
#preprocessor "script.dll"
HALT

Запускаю скрипт на хосте и все вроде работает. Запускаю этот же скрипт в виртуалке, из той же папки, и уже не работает... То есть - сам #preprocessor "script.dll" не срабатывает.
« Last Edit: July 08, 2019, 09:49:36 PM by Hito »
Я не ду... Потому и не бу...

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Фикса работы preprocessor-а в виртуалках ожидать...? Или заморочек по этому поводу не будет? Мне просто чтоб знать...
Я не ду... Потому и не бу...

Johnny

  • Создатель
  • Герой форума
  • *
  • Posts: 593
    • View Profile
а что прямо все плохо-плохо?
что за виртуалка, какая там система. молчит ли errorlog
тогда и проблему мб удастся локализовать.

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Сорри - завтра буду конкретно разбираться. Просто вот только что попробовал запихнуть в длл "Тестовый тест" и все сработало в виртуалке. Но закатываю в длл свой скрипт и на хосте работает все, а в виртуалке нет. В общем завтра буду более подробно копаться. Сегодня только с работы пришел... А так, при запуске в виртуалке, такое ощущение, что просто срабатывает HALT, который после #preprocessor "script.dll" стоит, чего в принципе никак быть не должно.
« Last Edit: July 08, 2019, 09:50:39 PM by Hito »
Я не ду... Потому и не бу...

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
В общем ситуация такая... Прописываю в длл просто наш "Тестовый тест" и все норм срабатывает в виртуалке. Потом закатываю в длл свой скрипт в котором получается 1477 строк + файл sub.cms, в котором еще порядка 1800 строк и который подключен в основном скрипте, как - #include "sub.cms". После этого в виртуалке вся эта тема перестает работать и даже если, после запуска такого скрипта, откатить все на наш "Тестовый тест", то и он уже не работает и вновь заработает только после полной перезагрузки виртуальной машины. В общем хрень какая-то получается...
На хосте все нормально работает.

На тесты, по понятным причинам, не хочу тут выкладывать весь свой скрипт. Если кому-то интересно (из тех, кого я тут знаю), я могу все выложить в личку. Просто в том проекте, в котором я работаю, онлайн очень не большой и даже с моим приходом на этот проект, цены на нужный ресурс очень упали. Еще одного или пару таких, как я, на этот проект и на нем делать нечего будет... А если мой скрипт обнародовать в этом проекте, то он вообще загнется...
« Last Edit: July 09, 2019, 12:19:23 PM by Hito »
Я не ду... Потому и не бу...

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Johnny, отправил видео в личку.
Может все из-за того, что на виртуалке та папка, из которой скрипт запускается, является сетевой...? Но если скрипт не закатывать в длл, то все работает на виртуалке, а там, и работа с ини-файлами, и со скринами, и с текстовыми файлами, и опять же с длл-ками другими и все лежит в тех же папках и скрипт со всем справляется...
« Last Edit: July 10, 2019, 01:16:45 PM by Hito »
Я не ду... Потому и не бу...

Johnny

  • Создатель
  • Герой форума
  • *
  • Posts: 593
    • View Profile
если файл не найден, включая преп, то выдается соответствующая ошибка. стало быть файл находится
если ошибка необрабатываемая, ошибка памяти или еще какая хрень, то должна быть запись в файле logerror
в другом случае надо смотреть сам скрипт

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
надо смотреть сам скрипт
Отправил в личку.
Я не ду... Потому и не бу...

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Тут еще один затык имеется...
Положим в папку со скриптом любой скрин, обозвав его "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, пока не закроем кликер.
« Last Edit: July 14, 2019, 08:36:50 PM by Hito »
Я не ду... Потому и не бу...

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
И еще вопрос... Ожидать реализации работы с ини-файлами, которые лежат в расшаренной папке, из запущенного скрипта, который лежит в виртуальной машине?
У меня, например, адрес получается такой - $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. То есть файл-то доступен...
« Last Edit: July 14, 2019, 10:25:03 PM by Hito »
Я не ду... Потому и не бу...

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Забыл отписать...
что за виртуалка, какая там система. молчит ли errorlog
1 - VMware Workstation 15 Pro 15.0.3 Build 12422535 RePack by KpoJIuK
2 - Windows 7 x32
3 - logerror молчит
Я не ду... Потому и не бу...

Космич

  • Активный участник
  • ***
  • Posts: 265
    • View Profile
Windows 10 1809 Clickermann v4.14 x32

Вот такой код у меня пожирает примерно 100 килобайт оперативной памяти в секунду
Code: (clickermann) [Select]
SUB(TEST, $x, $y)
   MOVE($x, $y)
END_SUB

TEST(0,0)

«Иногда ты ваяешь до тех пор, пока до тебя не дойдёт, что именно ты делаешь.»

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
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("Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст Текст ")