Форум HeroesWorld-а - Показать сообщение отдельно - [ВОПРОС] Смена дня и ночи
Показать сообщение отдельно
#3
Старый 14.03.2020, 17:18
  #3
^
Gerter
 
Аватар для Gerter
📖
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 752
pegn0ly#9113
Выставка наград
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 752
pegn0ly#9113
Выставка наград
По умолчанию
Re: [ВОПРОС] Смена дня и ночи

да, это делается через триггер нового дня, который автоматически вызывается в начале каждого хода, кроме первого. по поводу конкретно освещений: во-первых, все ресурсы освещения, которые будут использоваться в карте, должны быть добавлены в нее в этих вкладках -

далее, каждому освещение нужно добавить скриптовое имя в его настройках(вообще нужно в какой-то одной из них, но я не помню точно, поэтому в обеих пишу) -

ну и потом нужно написать скрипт, используя функцию SetAmbientLight(). у нее есть 4 параметра:
-скриптовое имя освещения
-уровень, на котором меняется освещение(GROUND/UNDERGROUND)
-использовать задержку при смене освещения(nil - нет, 1 - да)
-длительность задержки в секундах

в конце концов, если ты, например, ставишь целью менять освещение каждый день, то код будет примерно такой(на примере смены за 5 сек):

	curr_light = 'day'

function NewDay()
  if curr_light == 'day' then
    SetAmbientLight('имя_ночного_освещения', GROUND, 1, 5.0)
    curr_light = 'night'
  else
    SetAmbientLight('имя_дневного_освещения', GROUND, 1, 5.0)
    curr_light = 'day'
  end
end

Trigger(NEW_DAY_TRIGGER, 'NewDay')
__________________
Сценарий для HoMM V:
Сердце ночи v 1.4

Кампания за Академию/ТЭ - 4/5

MCCS:
мод, добавляющий новые механики и контент в мультиплеер(v. 0.1.0)
Gerter вне форума
Ответить с цитированием