×
Меню
Индекс

MSFD Начало и окончание диалога

ForceGreeting
 
ForceGreeting используется, чтобы заставить актера начать диалог.
При вызове ForceGreeting откроется диалоговое окно, и актер использует приветствие, исходя из установок диалога.
Поэтому, если вы хотите вызвать специальное приветствие от актера, вы должны дать его через окно диалога в TES CS.
Не важно, где находится NPC, эта функция работает всегда, так что лучше использовать ее в связке с функциями GetDistance или GetPCCellВообще-то важно. ForceGreeting не будет работать, если до этого вы ни разу не говорили или хотя бы не были в одной ячейке с NPC, с которым хотите поговорить. Более того, если иметь копию NPC в какой-то удаленной ячейке, и поставить другую копию NPC перед игроком, а затем удалить ее, то ForceGreeting все рано не заработает. (Прим. Gwathobal).
 
Примечание: этот скрипт показывает хороший набор условий для проверки перед вызовом функции ForceGreeting
 
Begin balynScript
 
float timer
short doOnce
 
if ( GetJournalIndex "DA_Mephala" < 40 )
     Return
endif
if ( GetJournalIndex DA_Mephala >= 60 )
     Return
endif
Set timer to ( timer + GetSecondsPassed )
if ( timer < 5 )
     Return
endif
 
Set timer to 0
 
if ( doOnce == 0 )
     if ( GetDistance Player <= 1024 )
          if ( player->GetDistance "hlaalu_loaddoor_ 02_balyn" <=256 )
               if ( GetLOS Player == 1 )
                    ForceGreeting
                    Journal DA_Mephala 55
                    set doOnce to -1
               endif
          endif
     endif
endif
 
End
 
Примечание.
Это же позволяет создавать "радиостанции".
Хотя для начала все одно надо "увидеть" цель беседы.
Решается это просто, НПС телепортируется за спину игрока и тут же возвращается обратно в свою ячейку.
Достаточно одного раза.
Либо призывать НПС на все время беседы.
Таким образом, можно сделать консоль связи позволяющую игроку беседовать с Дивайт Фиром не выходя из Балморы, даже если ГГ ни разу не бывал в Тель Фире.

Другой вариант, если "вызываемый персонаж" имеет опцию Companion.
Т.е. дает доступ к своему инвентарю.
Здесь же не надо пояснять, что это "лютейший чит"?
Например "познакомившись" с неким дружелюбным (атронахом, например) можно оставить его сидеть в Сейда Нин, а самому (Игроку) гулять по всея Ввандерфелу налегке.
Периодически выходя на связь (посредство некоего предмета инициирующего диалог), дабы скинуть весь набранный лут и прочее...
 

[no fix?] Goodbye
 
Goodbye приведет к завершению диалога.
После вызова этой функции (она обычно используется в секции result темы для диалога, не в скриптах) игрок может выбрать только опцию «прощай», которая закроет диалоговое окно.