Не знаю, попробовал сам, тоже не вышло. Может, Вы посмотрите, как это делали разработчики на соответствующей карте?
у разрабов написано SetAmbientLight(GROUND, 'c5m5_day',true , 5) ни с ";" в конце, ни без не работает
в карте WOE написано так: local SET_LIGHT_GROUND = { 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su' } if mod(GetDate(DAY), 3) == 0 then local lightIndex = mod(round(GetDate(DAY)/3),7)+1 SetAmbientLight( GROUND, SET_LIGHT_GROUND[lightIndex], nil, 0 ) end
тоже не идет. пишет, value was nil when getting global with name "round" attempt to call a nil value
Доброго времени суток. Просьба дочитать пост до конца прежде чем задавать вопросы. Извиняюсь за многократное повторение темы, но хотелось бы обсудить её. Недавно я начал создавать карту и решил заранее поставить двухсторонние монолиты. При проверке карты выдались пара ошибок на тему ground floor, НО монолиты стояли на ровной земле, достаточно далеко от воды и в середине карты. Когда я перетащил монолиты на пару клеток ошибки не было. Что могло вызвать такую ошибку? Ещё я заметил, что иногда такая ошибка является багом, так как при одном сохранении карты, выдалась такая же ошибка, при этом в указанном месте не было вообще ничего - только ровная земля. При проверке карты эта ошибка не повторилась. Я разумеется не ставлю объекты выходами на край карты, но мне кажется, там чересчур намудрено с такой защитой от ошибок в игре. Напишите пожалуйста насколько опасны такие ошибки, визуально на карте всё в порядке (точнее там и так почти ничего нету:) ) P.S. Извиняюсь за количество слов "ошибка" в посте. P.P.S. Эх, где же те времена 3-х...Ни одной проблемы на карте, и в неё можно было нормально играть...
Ment
14 лет назад
В редакторе много ошибок, которые не влияют на играбельность карты, а имеют "рекомендательный" характер. Полагаю, эта одна из них. -----
тоже не идет. пишет, value was nil when getting global with name "round"
У Вас версия игры 3.0, там эта функция не работает. И массив подозрительный какой-то, думаю там в карте мод на добавление некоторых типов освещения.
local SET_LIGHT_GROUND = { 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su' } if mod(GetDate(DAY), 3) == 0 then local lightIndex = mod(round(GetDate(DAY)/3),7)+1 SetAmbientLight( GROUND, SET_LIGHT_GROUND[lightIndex], nil, 0 ) end
тоже не идет. пишет, value was nil when getting global with name "round" attempt to call a nil value
В карте используются свои файлики ;) 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su' Копируй эти файлы себе в корень карты и проверь хотя бы "Вторник" ;) (и не нада тама будет никаких xdb#xpointer(/AmbientLight)) Также можно спокойно вытащить освещение, которое желаете, из ресов и запихать в карту. "round" -это округление, вряд ли оно понадобится, поэтому не используй его (а лучше ставь 3.1 ;) )
В карте используются свои файлики ;) 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su' Копируй эти файлы себе в корень карты и проверь хотя бы "Вторник" ;) (и не нада тама будет никаких xdb#xpointer(/AmbientLight)) Также можно спокойно вытащить освещение, которое желаете, из ресов и запихать в карту. "round" -это округление, вряд ли оно понадобится, поэтому не используй его (а лучше ставь 3.1 ;) )
не, не помогло. Я round не ставил, просто повесил на регион SetAmbientLight и все.
KioM
14 лет назад
Олегарх, вот что нашел в одной из оригинальных миссий (3.1):
function SetLight( level, time ) SetAmbientLight( GROUND, "fog_light_level"..level, true, time); end;
вызов идет достаточно просто в одной из функций:
function IsOrnellaMeetArantir() SetLight(2, 3); end;
startThread(IsOrnellaMeetArantir);
место расположение скрипта: Maps/scenario/A2C1M4 может както поможет ;)
startThread(IsOrnellaMeetArantir); вот в данном случае стартует функцию при старте игры, можно вместо этого повесить триггер и вызвать ту же функцию, например:
startThread(IsOrnellaMeetArantir); вот в данном случае стартует функцию при старте игры, можно вместо этого повесить триггер и вызвать ту же функцию, например: