Dogenator, на оба вопроса я отвечал в своём ЧаВо.
1. Скрипт начинает выполнение в начале первого дня и поэтому триггер NEW_DAY_TRIGGER не сработает для первого хода, он в этот момент ещё не установлен. Можно просто добавить в конце всего скрипта вызов функции вручную first_day().
2. Когда проверяется день недели, можно же вызвать не одну функцию, а несколько:
function first_day ()
if GetDate (0) == 3 then -----Проверка дня недели (среда)
function_1();
function_2();
end;
end;
3. И бонусом: то, что вы вызываете все функции в новом потоке через startThread(day_1) конечно в данном случае работать будет, но если вы не уверены зачем именно вы это делаете, а просто где-то подсмотрели, то это потенциально источник багов, например если будет код наподобие:
startThread(function_1) -- какой-то код
startThread(function_2) -- другой код, который предполагает что код из function_1 уже выполнен
то оно работать не будет (или ещё хуже, будет работать не всегда), так как эти две функции фактически запускаются параллельно и нельзя определённо сказать какая из них будет выполнена первой. Можно просто делать так:
function_1();
function_2();