MSFD Добавление темы для диалога
[no fix] AddTopic, "Topic"
AddTopic, "Topic_ID"
Даже когда вы поставите тему для диалога в TESCS, вы можете обнаружить, что все еще не можете говорить об этом с NPC, которым вы назначили этот диалог, так как вы еще не знаете эту конкретную тему. Есть два способа поправить положение: либо вы представляете тему в другой, объясняющей теме (например, в своем приветствии) или вы можете дать ее игроку через скрипт, что имеет значение, когда игрок должен говорить на эту тему без представления ему этого в объясняющем диалоге (например, если вы видите NPC, стоящего под водопадом, вы можете захотеть спросить его: "тебе не мокро?", даже если NPC не давал эту тему).
Чтобы сделать это, просто добавьте NPC маленький скрипт:
Begin AddSpecialDialogue
;добавить возможность спросить об этом
AddTopic, "тебе не мокро?"
End AddSpecialDialogue
Примечание: Вы не можете удалить тему через скрипт, тем не менее, можно использовать условия, которые соотносятся с локальными переменными в скрипте, как условия для говорящего в редакторе диалогов, чтобы достичь нужного эффекта.
AddTopic добавляет тему в список известных тем игрока.
Так что это не верно:
"Actor_ID"->AddTopic "blabla".
Примечание.
Т.е. самое простое добавлять новые топики в окно Result уже существующего топика (например Свежие Сплетни - создав там новую реплику и добавив оную некому НПС).
Либо, использовать стартовые скрипты. В случае если топик должен быть добавлен сразу, без дополнительных бесед.
См. как это сделано в Бладмуне чтобы сообщить игроку о появлении новой локации.
Такой вариант гарантирует появление топика в диалогах.
Еще вариант, добавлять темы через активации каких-то предметов.
begin ashStatueTopic
if ( OnActivate == 1 )
AddTopic "пепельная статуя"
Activate
endif
end ashStatueTopic
Хотя вешать локальный скрипт на предмет не лучший вариант, особенно если предметов много.
Такие предметы не "стекуются" в инвентаре.
С другой стороны, в ванили, скриптованный Алмаз и Алмаз обычный это разные ID, что позволяет сварить зелье используя 2 разных алмаза.
Т.е. локальный скрипт это не только неудобство с кучей одинаковых предметов в рюкзаке, но и способ создавать особо продвинутые зелья.