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

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


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

Всем привет,
 
помогите, пожалуйста, разобраться со следующей проблемой: я написал скрипт, удаляющий огни в интерьере в зависимости от значения глобальной переменной (скажем, 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 пользователей онлайн

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