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

Проблема с гашением огней и перезагрузками


Рекомендуемые сообщения

Всем привет,
 
помогите, пожалуйста, разобраться со следующей проблемой: я написал скрипт, удаляющий огни в интерьере в зависимости от значения глобальной переменной (скажем, LIGHTS):
 
Из диалога с неписем стартует первый скрипт, выставляющий значение переменной на 1, и тогда срабатывает второй скрипт (он висит на огнях в ячейке):
 
begin LIGHTS_remover
 
if ( LIGHTS < 1 )
if ( GetDisabled == 1 )
    return
endif
elseif ( LIGHTS >= 1 )
if ( GetDisabled == 0 )
    disable
endif
endif
 
End
 
Этот скрипт висит и на других активаторах в помещении.
Вроде бы, все нормально работает, НО
при загрузке раннего сейва, в котором я еще не говорил с неписем, огни уже оказываются погашенными. Все остальные активаторы по-прежнему на своих местах.

Что это и что тут можно сделать?

Ссылка на комментарий
Поделиться на другие сайты

А если так?

begin LIGHTS_remover
 
if ( LIGHTS != 1 )
 if ( GetDisabled == 1 )
     Enable
 endif
else
 if ( GetDisabled == 0 )
     disable
 endif
endif
 
End
Изменено пользователем Муурн Шепард
Ссылка на комментарий
Поделиться на другие сайты

Спасибо, помогло!
А не объясните, почему этот скрипт все делает правильно, а мой глючит с огнями? Вроде бы, разницы существенной между ними нет...

Ссылка на комментарий
Поделиться на другие сайты

Я предполагаю, что дело в том, что почему-то глобальная переменная по умолчанию была больше нуля. Не помню, от чего это зависит, но, емнип, иногда случается баг, когда переменная инициализируется с максимальным значением, а не с тем, которое проставлено в Globals.

 

В моем варианте огни снова включаются командой Enable, если команду на выключение еще не давали/отменили.

Изменено пользователем Муурн Шепард
Ссылка на комментарий
Поделиться на другие сайты

Я предполагаю, что дело в том, что почему-то глобальная переменная по умолчанию была больше нуля.

Тогда бы и другие активаторы исчезали при перезагрузке. Но с ними все в порядке, они на месте, а вот огней нет.

В Scripting for Dummies говорится, что может возникнуть проблема с освещением, если включаешь/выключаешь огни. Но там, ЕМНИП, речь о том, что огонь есть - а освещения окружающих предметов нет. Предлагается не гасить, а перемещать огонь глубоко под пол командой SetPos Z. Решил попробовать, вдруг мой случай - результат был тем же.

Ссылка на комментарий
Поделиться на другие сайты

Тогда бы и другие активаторы исчезали при перезагрузке. Но с ними все в порядке, они на месте, а вот огней нет.

В Scripting for Dummies говорится, что может возникнуть проблема с освещением, если включаешь/выключаешь огни. Но там, ЕМНИП, речь о том, что огонь есть - а освещения окружающих предметов нет. Предлагается не гасить, а перемещать огонь глубоко под пол командой SetPos Z. Решил попробовать, вдруг мой случай - результат был тем же.

Да, так и надо. Нужно двигать освещение а не дизейблить. Примеры есть в плагине true light and darkness.
Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...