Показать сообщение отдельно
Старый 25.10.2007, 13:13   #1911
kraw

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: М: Скриптинг в Готике

Может кто сталкивался с такой проблемой, и/или может что-то посоветовать:

В движке Готики есть возможность диалога 2-х персонажей, один из которых ГГ.
Понадобилось мне ввести в диалог 3-го персонажа. Сделал это достаточно просто. Он говорил, обращаясь к other, пришлось еще его заставить AI_WaitTillEnd, ну и AI_TurnToNPC. Немного пошлифовал синхронизацию и добился желаемого эффекта. В диалоге участвовало трое.

Дальше - больше. Понадобился диалог, где участвуют четверо. Причем ГГ - как сторонний наблюдатель. И вот один из собеседников (из тех, что не self и не other) вываливается из диалога. Т. е. вдруг продолжает свое расписание и не хочет говорить диалоговые фразы. Например, если у него в расписании SmallTalk, то говорит эти фразы вместо диалоговых. Может уйти раньше завершения диалога на свою wp. Или, если у него в расписаннии GuidePC, повернул голову к ГГ, несмотря на AI_TurnToNPC.

Может кто-нибудь, что-нибудь посоветует как избавиться от этих эффектов?

PS: Пришла идея, а что, если бы other сделать не ГГ, а другого персонажа. Может кто что-то похожее делал?

Добавление от 10/25/07, в 13:32:41
Цитата:
Сообщение от okin link=board=gothic&t=1105030050&start=3815250#38152 71 date=10/25/07, в 13:11:44
Vam:
360:

Спасибо. Буду играться... :)

ВОПРОС: Везде пишут, что при изменении скриптов надо начинать игру заново,а то неписи новые не вставляются и изменений не будет... Но некоторые изменения все-таки видны, иногда срабатывают свеженаписанные функции, которых точно в сейвах не было. Но вроде тоже не все... ::)

Почему так получается и, соответственно, когда нужно начинать новую игру, а когда не обязательно? Я уже Ксара в начале игры видеть не могу, хоть и закомментировала диалоги... И ждать долго...

Насколько я понимаю, когда добавляется новый объект (диалог, персонаж, предмет и т.п., т. е. instance), тогда надо начинать заново, чтобы при инициализации эти объекты были сосзданы. Если же добавляются функции, то это уже процедурные изменения, объекты не добавляются, инициализировать нет необходимости.

Исходя из этого я поступаю следующим образом. Задумывая сюжетную линию, прогнозирую сколько будет добавлено диалогов и у каких персонажей (чтобы они получали более-менее адекватные идентификаторы, иначе легко будет запутаться). Условия к ним возвращают 0. Также поступаю и с персонажами. И потом только наполняю эти объекты содержанием. Поэтому переигрывать при создании сюжетной линии не приходится.
Ответить с цитированием