×
Меню
Индекс

MSFD Специальные диалоговые функции

В числе функций, доступных для определения условий диалога в редакторе диалогов, есть некоторые, не имеющие прямого эквивалента в функциях для скриптов.
Используя диалог (напр.: ForceGreeting, голосовой диалог или стратегически расположенного квестового NPC) и поле Редактора диалогов result, вы можете использовать эти функции для скриптовых целей, например, устанавливая глобальную переменную в поле result. Вот примеры этих функций:
 
PC Sex (dialog)
0, если игрок мужчина и 1, если женщина.
Примечание: Это единственный способ определить пол игрока – вы можете использовать это, чтобы установить глобальную переменную, содержащую пол игрока – самый легкий способ через Voice, то есть поместить приветствие hello для всех NPC вверху листа, которое устанавливает переменную в 1 - если игрок мужчина, и 2 – если женщина.
В теме также должно быть условие, что эта переменная равна нулю, то есть, не установлена.
 

Talked to PC (dialog)
1, если говорящий уже разговаривал с игроком и 0, если нет.
Вы можете использовать эту функцию, чтобы кто-то сказал что-то, когда игрок говорит с ним в первый раз, или для наших скриптовых целей, чтобы пометить актера, как “известного” игроку.
Похоже, что Talked to PC сбрасывается в 0, если игрок провел 72 часа вне ячейки с NPC.
(не 72 а 24?)(либо когда игра перезагружает НПС, это как-раз 72 по умолчанию в ГМСТ).
(также, ГФМ может менять поведение этого параметра, записывая оный на постоянку. Т.е. сброса не будет происходить) (не помню точно)
(возможно что-то зависит от версии МВ.ехе и версии МСП. Так или иначе, но Talked to PC сбрасывался через сутки после беседы)
(т.е. проверяйте и тестируйте этот момент на всякий случай отдельно)
 
Это ограничение также применяется к другим диалоговым функциям, например ForceGreeting: NPC доступен из другой ячейки только 72 часа.
Этот можно обойти вызывая PositionCell на NPC каждый день (даже не перемещая его никуда). (Информация с форумов / Cortex, Srikandi).
Этот фокус, похоже, требует, что ячейка, куда они перемещаются, должна быть не той же самой ячейкой, где игрок впервые встретил их. (Информация с форумов / Cortex)
Это предполагает, что или ячейка не должна быть ячейкой, куда их поместили в редакторе, или ячейкой, где игрок еще не бывал.
Я использую интерьер для этого, и у меня все работает.
Так что после того, как вы их встретили, они посылаются в эту ячейку каждый день, хотя они и так уже там.
(фз, сколько раз вызывали не посещенных существ и нпс и оно работало. Т.е. данные не факт, что точны).
(т.е. атронах компаньон вызывался много раз без прямого контакта с оным и множественных перезагрузок сейвов)
 

Rank Requirement (dialog)
Эта функция для проверки вашего соответствия для следующего ранга во фракции говорящего.
 

PC Clothing Modifier (dialog)
Это полная стоимость всей одежды и брони, надетой на игрока.
Стоимость вашего снаряжения меняет отношение к вам людей в игре.
 

Friend Hit (dialogue)
Используется в диалоге для того, чтобы определить реакцию члена вашей группы на вашу же атаку на них.
 
Возвращаемые значения:
0 = атаки не было
1 = атакован игроком в первый раз
2 = атакован игроком во второй раз
3 = атакован игроком в третий раз
4 = атакован игроком в четвертый раз и npc/животное не дерется с игроком.