проект не открывается при выполнении скрипта

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

    function _sa(id) {
        var tm = new Date();
        var h  = tm.getHours();    if (h < 10) h = "0" + h;
        var m  = tm.getMinutes();  if (m < 10) m = "0" + m;
        var s  = tm.getSeconds();  if (s < 10) s = "0" + s;
        var time_ = h + ":" + m + ":" + s;
        var threadNum = thread_number();
        var logLine = "[" + id + "] [" + time_ + "] Поток №" + threadNum + "\r\n";
        var projectDir = directory_of(project_path());
        var logsDir    = combine_path(projectDir, "logs");
        directory_create(logsDir);
        var logFile = combine_path(logsDir, "log.txt");
        file_append(logFile, logLine);
    }
    

    выполняется нормально, все сохраняется, но после того как закрываю проект, он перестает запускаться)
    пробовал еще сделать вариант, с сохранением в основной файл лога:

    function _sa(id) {
        var tm = new Date();
        var h = tm.getHours();
        var m = tm.getMinutes();
        var s = tm.getSeconds();
        if (h < 10) h = "0" + h;
        if (m < 10) m = "0" + m;
        if (s < 10) s = "0" + s;
        var time_ = h + ":" + m + ":" + s;
        var threadNum = thread_number();
        var logLine = "[" + id + "] [" + time_ + "] Поток №" + threadNum + "\r\n";
        file_append(Logger.GetFileName(), logLine);
        ScriptWorker.SetCurrentAction(id);
    }
    

    но помимо того что проект перестал запускаться, он еще и ломал сохранение основного лога в файл

    собственно, был бы благодарен, если бы кто-то смог объяснить почему это происходит)

  • This post is deleted!
  • @Int64 спасибо за достаточно подробную инфу, но насчет _sa(id)
    в таком варианте:

    _sa = function(id)
    {
        log_html("<a href='action://action"+ id + "' style='color:gray;'>[" + id + "]</a>","[" + id + "]")
        ScriptWorker.SetCurrentAction(id)
    }
    

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

  • @Tekumi
    я уже нахуярился походу. все работает и в записи и запуске
    e30f9f33-5f55-478a-ab61-f524a415ee10-image.png

  • @Int64 спасибо огромное)

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

  • @Tekumi в коде вызвать функцию _is_record(), или использовать это действие:

    l6gMoZ9azH.png

  • @Oyasumi-Punpun спасибо

  • @Tekumi у меня
    ScriptWorker.GetIsRecord() хотя
    _is_record() это обертка функции выше. первый вариант мне больше нравится.