MSFD Полезные диалоговые переменные
Ряд переменных Bethesda использует для блокирования определенных диалогов.
Они должны быть просто объявлены, без установки значений.
Они проверяются использую условие Not Local как описано в хелпе:
Nolore
Блокирует большинство общих диалогов
NoIdle
Блокирует голоса Idle, используется для вампиров
NoFlee
Блокирует голоса flee, используется для вампиров
NoHello
Блокирует голоса Hello, используется для вампиров
Т.е. в начале локального скрипта повешенного на НПС достаточно написать:
Nolore
И НПС забудет все "общие" темы, сохранив только уникальные и некие базовые.
Условие истинно, если игрок не имеет переменной.
В отличие от большинства условий "Not", этой не важно, во что вы установили переменную.
И в диалоге она (переменная) должна сравниваться с 0, и сама быть равной 0.
Это может быть странно.
Вот таблица, которая показывает как это работает:
|
Not Local
|
Переменная существует
|
Значение
|
Подходит?
|
|
(в диалоге)
|
(да/нет)
|
(в скрипте)
|
(говорящий это скажет)
|
|
= 0
|
Нет
|
Не доступно
|
Да
|
|
= 0
|
Да
|
0
|
Нет
|
|
= 0
|
Да
|
5
|
Да
|
|
= 1
|
Нет
|
Не доступно
|
Да
|
|
= -3
|
Да
|
-3
|
Нет
|