Форум HeroesWorld-а - Показать сообщение отдельно - Скрипты
Тема: Скрипты
Показать сообщение отдельно
#3953
Старый 05.12.2024, 06:07
  #3953
^
Jack_of_shadows
 
Аватар для Jack_of_shadows
📖
Регистрация: 08.09.2013
Сообщения: 551
Выставка наград
Регистрация: 08.09.2013
Сообщения: 551
Выставка наград
По умолчанию
Re: Скрипты

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();
__________________
РПГ-сценарий для HoMM5: Путь героя

ЧаВо по созданию карт для HoMM5: ЧаВо
РПГ-сценарий для HoMM5: Путь героя

ЧаВо по созданию карт для HoMM5: ЧаВо
Jack_of_shadows вне форума
Ответить с цитированием