Перейти к содержанию

Сообщения от Текущие вопросы и ответы по редактору карт

В ответ пользователю Ment
Аватар пользователя
14 лет назад
Ment
Не знаю, попробовал сам, тоже не вышло. Может, Вы посмотрите, как это делали разработчики на соответствующей карте?
В THE WORLD OF ENROTH освещение часто меняется. В файле main.lua данной карты карты есть освещение, можно наверняка покапаться.
В ответ пользователю Ment
Аватар пользователя
14 лет назад
Ment
Не знаю, попробовал сам, тоже не вышло. Может, Вы посмотрите, как это делали разработчики на соответствующей карте?
у разрабов написано
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
В ответ пользователю Олегарх
14 лет назад
Доброго времени суток. Просьба дочитать пост до конца прежде чем задавать вопросы. Извиняюсь за многократное повторение темы, но хотелось бы обсудить её. Недавно я начал создавать карту и решил заранее поставить двухсторонние монолиты. При проверке карты выдались пара ошибок на тему ground floor, НО монолиты стояли на ровной земле, достаточно далеко от воды и в середине карты. Когда я перетащил монолиты на пару клеток ошибки не было. Что могло вызвать такую ошибку? Ещё я заметил, что иногда такая ошибка является багом, так как при одном сохранении карты, выдалась такая же ошибка, при этом в указанном месте не было вообще ничего - только ровная земля. При проверке карты эта ошибка не повторилась. Я разумеется не ставлю объекты выходами на край карты, но мне кажется, там чересчур намудрено с такой защитой от ошибок в игре. Напишите пожалуйста насколько опасны такие ошибки, визуально на карте всё в порядке (точнее там и так почти ничего нету:) )
P.S. Извиняюсь за количество слов "ошибка" в посте.
P.P.S. Эх, где же те времена 3-х...Ни одной проблемы на карте, и в неё можно было нормально играть...
Аватар пользователя
14 лет назад
В редакторе много ошибок, которые не влияют на играбельность карты, а имеют "рекомендательный" характер. Полагаю, эта одна из них.
-----
тоже не идет. пишет, value was nil when getting global with name "round"
У Вас версия игры 3.0, там эта функция не работает. И массив подозрительный какой-то, думаю там в карте мод на добавление некоторых типов освещения.
В ответ пользователю Ment
Аватар пользователя
14 лет назад
Ment


У Вас версия игры 3.0, там эта функция не работает. И массив подозрительный какой-то, думаю там в карте мод на добавление некоторых типов освещения.

Версия игры у меня действительно 3.0. И что, никак нельзя, чтоб заработал SetAmbientLight?
Аватар пользователя
14 лет назад
Версия игры у меня действительно 3.0. И что, никак нельзя, чтоб заработал SetAmbientLight?
Именно SetAmbientLight должен работать на любой версии. Теоретически, конечно. А вот функция round -- нет.
В ответ пользователю Ment
Аватар пользователя
14 лет назад
Ment
Именно SetAmbientLight должен работать на любой версии. Теоретически, конечно. А вот функция round -- нет.
я пробовал запихнуть освещение в карту, все равно никак. Из одного из паков в папке data, называется underground
В ответ пользователю Олегарх
Аватар пользователя
14 лет назад
Олегарх

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 ;) )
В ответ пользователю Dyrman
Аватар пользователя
14 лет назад
Dyrman
В карте используются свои файлики ;)
'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su'
Копируй эти файлы себе в корень карты и проверь хотя бы "Вторник" ;) (и не нада тама будет никаких xdb#xpointer(/AmbientLight)) Также можно спокойно вытащить освещение, которое желаете, из ресов и запихать в карту.
"round" -это округление, вряд ли оно понадобится, поэтому не используй его (а лучше ставь 3.1 ;) )

не, не помогло. Я round не ставил, просто повесил на регион SetAmbientLight
и все.
Аватар пользователя
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
может както поможет ;)
В ответ пользователю KioM
Аватар пользователя
14 лет назад
KioM
Олегарх, вот что нашел в одной из оригинальных миссий (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
может както поможет ;)


а надо какую-то из них, например, на регион вешать?
Аватар пользователя
14 лет назад
Спасибо. Можно сделать, чтобы на карте дождь шел?
Аватар пользователя
14 лет назад
startThread(IsOrnellaMeetArantir); вот в данном случае стартует функцию при старте игры, можно вместо этого повесить триггер и вызвать ту же функцию, например:
Trigger(REGION_ENTER_WITHOUT_STOP_TRIGGER, 'youRegion', 'IsOrnellaMeetArantir');
В ответ пользователю KioM
Аватар пользователя
14 лет назад
KioM
startThread(IsOrnellaMeetArantir); вот в данном случае стартует функцию при старте игры, можно вместо этого повесить триггер и вызвать ту же функцию, например:
Trigger(REGION_ENTER_WITHOUT_STOP_TRIGGER, 'youRegion', 'IsOrnellaMeetArantir');

не помогло :mad:. но вот меня интересует "fog_light_level"..level, true, time
там же вроде надо путь к освещению задавать, да и откуда level?

Статистика

Приветствуем новейшего участника: recijeb