MSFD использование точки для управление значением переменных
Это способ изменения локальных переменных не посредственно не объявленных в текущем скрипте.
Т.е. позволяет воздействовать из одного (глобального) скрипта, на другой (объект) локальный скрипт.
Подобную конструкцию (ОбъектID.ЗначениеПеременной в Х) можно вызывать, как из скриптов, так и прямо из диалогов.
В целом, использование точки (.) удобный способ сократить кол-во условий в некоем скрипте, перенеся таковые вычисления в другой.
По видимости, требуется наличие "физического" объекта которому присвоена переменная.
Т.е. переменная вызывает не сам скрипт в котором она указана, но ID объекта на который назначен этот скрипт.
В ванили, подобное можно видеть в скрипте:
Begin StrongSoulCheck
short counter
;in Greeting for HT_Stronghold (phase 1)
Set "llunela hleran".hasSoul to 0
Set counter to 0
if ( Player->HasSoulGem "atronach_storm" > 1 )
Set counter to ( counter + 2 )
elseif ( Player->HasSoulGem "atronach_storm" > 0 )
Set counter to ( counter + 1 )
endif
и далее (где идет перебор возможных вариантов камней с сильными душами)...
Сама же (локальная) переменная находится в скрипте прикрепленном на llunela Hleran.
Begin llunelaHleranScript
short hasSoul
End
Что "забавно" скрипт проверяющий наличие правильных камней душ, запускается всякий раз при разговоре с этим НПС.
Т.е. он прописан в стартовом диалоге, но не в основном диалоге посвященному строительству крепости, что было бы логично ожидать.
Возможно, это избавляет от лишних реплик, когда НПС вызывает скрипт и только потом получает измененное состояние переменной.
Т.е. (технически) ничто не мешает менять состояние переменной, как из поля result, так и вызывать отдельный скрипт.