Difference between revisions of "Учебник Bethesda Продвинутые диалоги"

imported>Vitamant
imported>Vitamant
Line 44: Line 44:


==Флаг "Random"==
==Флаг "Random"==
Представь - у нас есть персонаж, у него есть приветствие, и он раз за разом повторяет его игроку, словно заведенный. Нужен нам в игре такой робот? Едва ли. Для того чтобы заставить персонажа произнести ''удовлетворяющий условиям'' случайный монолог из набора и служит этот флаг.
Представь - у нас есть персонаж, у него есть приветствие, и он раз за разом повторяет его игроку, словно заведенный. Нужен нам в игре такой робот? Едва ли. Для того чтобы заставить персонажа произнести '''удовлетворяющий условиям''' случайный монолог из набора и служит этот флаг.


Прежде чем его использовать, вспомни, что все доступные монологи, в случае ответа на выбранную персонажем тему (равно как и на специальную тему), выстраиваются в стек и берется тот из них, что расположен выше всех (и отвечает условиям). Для того, чтобы указать - какие монологи будут произноситься в случайном порядке, а какие нет, нужно пометить верхний из них флагом "Random", а нижний - флагом "Random End". Тогда выбор будет проводиться между элементами, лежащими в стеке между ними (включительно).
Прежде чем его использовать, вспомни, что все доступные монологи, в случае ответа на выбранную персонажем тему (равно как и на специальную тему), выстраиваются в стек и берется тот из них, что расположен выше всех (и отвечает условиям). Однако, если мы будем использовать таймеры в совокупности со случайными ответами, то может возникнуть проблема, когда все доступные варианты отвечающие ситуации будут исчерпаны, и персонаж в разгар какого-нибудь важного задания, вдруг заговорит общими фразами, не относящимися к делу. Чтобы этого не случилось, стоит пометить самый нижний из случайных вариантов флажком "Random End". Тогда, даже если каждый монолог будет произнесен и заработает определенный таймаут, игра будет выводить помеченный, как конечный монолог, пока таймеры остальных не восстановятся.


Ниже приведен пример.
Всё это может показаться сложным, поэтому ниже приведен пример.


==Как всё это использовать==
==Как всё это использовать==
Anonymous user