Veloth Опубликовано 12 ноября, 2020 Жалоба Поделиться Опубликовано 12 ноября, 2020 Всем привет, помогите, пожалуйста, разобраться со следующей проблемой: я написал скрипт, удаляющий огни в интерьере в зависимости от значения глобальной переменной (скажем, LIGHTS): Из диалога с неписем стартует первый скрипт, выставляющий значение переменной на 1, и тогда срабатывает второй скрипт (он висит на огнях в ячейке): begin LIGHTS_remover if ( LIGHTS < 1 )if ( GetDisabled == 1 ) returnendifelseif ( LIGHTS >= 1 )if ( GetDisabled == 0 ) disableendifendif End Этот скрипт висит и на других активаторах в помещении.Вроде бы, все нормально работает, НОпри загрузке раннего сейва, в котором я еще не говорил с неписем, огни уже оказываются погашенными. Все остальные активаторы по-прежнему на своих местах.Что это и что тут можно сделать? Ссылка на комментарий Поделиться на другие сайты Поделиться
Муурн Шепард Опубликовано 12 ноября, 2020 Жалоба Поделиться Опубликовано 12 ноября, 2020 (изменено) А если так? begin LIGHTS_remover if ( LIGHTS != 1 ) if ( GetDisabled == 1 ) Enable endif else if ( GetDisabled == 0 ) disable endif endif End Изменено 12 ноября, 2020 пользователем Муурн Шепард Ссылка на комментарий Поделиться на другие сайты Поделиться
Veloth Опубликовано 12 ноября, 2020 Автор Жалоба Поделиться Опубликовано 12 ноября, 2020 Спасибо, помогло!А не объясните, почему этот скрипт все делает правильно, а мой глючит с огнями? Вроде бы, разницы существенной между ними нет... Ссылка на комментарий Поделиться на другие сайты Поделиться
Муурн Шепард Опубликовано 12 ноября, 2020 Жалоба Поделиться Опубликовано 12 ноября, 2020 (изменено) Я предполагаю, что дело в том, что почему-то глобальная переменная по умолчанию была больше нуля. Не помню, от чего это зависит, но, емнип, иногда случается баг, когда переменная инициализируется с максимальным значением, а не с тем, которое проставлено в Globals. В моем варианте огни снова включаются командой Enable, если команду на выключение еще не давали/отменили. Изменено 12 ноября, 2020 пользователем Муурн Шепард Ссылка на комментарий Поделиться на другие сайты Поделиться
Veloth Опубликовано 13 ноября, 2020 Автор Жалоба Поделиться Опубликовано 13 ноября, 2020 Я предполагаю, что дело в том, что почему-то глобальная переменная по умолчанию была больше нуля.Тогда бы и другие активаторы исчезали при перезагрузке. Но с ними все в порядке, они на месте, а вот огней нет.В Scripting for Dummies говорится, что может возникнуть проблема с освещением, если включаешь/выключаешь огни. Но там, ЕМНИП, речь о том, что огонь есть - а освещения окружающих предметов нет. Предлагается не гасить, а перемещать огонь глубоко под пол командой SetPos Z. Решил попробовать, вдруг мой случай - результат был тем же. Ссылка на комментарий Поделиться на другие сайты Поделиться
Larkin Опубликовано 19 ноября, 2020 Жалоба Поделиться Опубликовано 19 ноября, 2020 Тогда бы и другие активаторы исчезали при перезагрузке. Но с ними все в порядке, они на месте, а вот огней нет.В Scripting for Dummies говорится, что может возникнуть проблема с освещением, если включаешь/выключаешь огни. Но там, ЕМНИП, речь о том, что огонь есть - а освещения окружающих предметов нет. Предлагается не гасить, а перемещать огонь глубоко под пол командой SetPos Z. Решил попробовать, вдруг мой случай - результат был тем же.Да, так и надо. Нужно двигать освещение а не дизейблить. Примеры есть в плагине true light and darkness. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти