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

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

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


Готика 1, персонаж - Чани, по расписанию находится в состоянии ZS_Babe_SitAround. Написал диалог с important = 1.

Диалог отрабатывает так, как если бы он был с important = 0. Т. е. начинается только по инициативе ГГ. Однако, если поймать Чани на переходе из одного состояния в другое (т. е. при смене функции расписания), она диалог инициирует.

Пробовал по-разному "подкрутить" ZS_Babe_SitAround. Пробовал добавлять *B_SetBabeDefaultPerceptions(), пробовал прописывать Perc_SetRange в самой функции. Пробовал завершать loop-функцию по return LOOP_END; Убирал из функции AI_UseMob.

Ничего не помогает.

Сработало только явное указание B_AssessTalk в теле функции, но, понятно, независимо от каких-либо условий (даже от фактического расстояния и расстояния восприятия) и со страшными побочными эфектами (зацикливание вхождения в диалог). Попробовал "обернуть" B_AssessTalk в if с проверкой расстояния между персонажами - диалога нет.

Куда копать и что подкрутить?
Ответить с цитированием