то B_GiveXP сработает сразу же. вот такое поведение является стандартным? в длинных диалогах просто забываешь иногда, что в начале тебе что-то дали
|
Вполне. Если отсутвуют звуковые файлы диалогов, так и происходит... Диалог тогда лучше разбивать на несколько веток, например:
- Вот то что ты просил (передача прдемета)
- Как насчет награды? (дача опыта и руды)
Еще есть смысл давать предметы невидимо для игрока (как в случае с доспехами), чтобы текст не накладывался друг на друга, или переписать саму функцию вывода текста при передачи предмета.
Кстати, что конкретно делает AI_StopProcessInfos? Например, AI_StopProcessInfos(other) и AI_StopProcessInfos(self) синонимичны или могут быть нюансы?
|
AI_StopProcessInfos (c_npc npc); - режим диалога НПС npc, начатый предыдущей функцией, заканчивается.
Есть особенность, что некоторые функции во время своего выполнения могут вернуть значение, которое заменит self. Т.е. вместо
НПЦ А, начавшего диалог, в self будет храниться ссылка на некого
НПЦ Б, вызванного например Wld_InsertNpc. И диалог с "НПЦ А" не завершиться. В таком случаее разумнее будет написать не "AI_StopProcessInfos(self)" а "AI_StopProcessInfos(Инстанция_НПЦ_А)".