z-Hunter Опубликовано 29 мая, 2012 Жалоба Поделиться Опубликовано 29 мая, 2012 (изменено) Не один час я убил пытаясь понять, почему два NPC (босс и его охранник, который привёл игрока к нему для беседы) вместо того, чтобы начать совместно лупить игрока если тот нападёт на босса, ни с того ни с сего начинают мочить друг друга. Причина оказалась в команде AIEscort. Второй NPC "помнил", что когда-то первый конвоировал игрока, и потому считал его в одной команде с ним. И поэтому после команды StartCombat, player атаковал вместо игрока первого NPC если тот был ближе! А тот давал сдачи, и поехало. Пришлось делать боссу проверку цели через GetTarget. Сначала пытался делать наоборот -- у охранника делать AIFollow на босса, чтобы босс "понял", что охранник на его стороне. Это помогло в том плане, что босс перестал нападать на охранника, но и охранник почему-то перестал нападать на игрока, и вообще впал в полный аутизм, не реагируя ни на что. Вот такие вот грабли. Update: Экспериментируя случайно открыл значение загадочного 6-го параметра AIEscort. В MSFD синтаксис этой команды указан так: AIEscort, "Actor ID", duration, x, y, z, [reset] При этом про [reset] написано, что неизвестно на что он влияет. Так вот (барабанная дробь), если его задать равным 1, то после того, как AIEscort отработает, NPC "выходит из команды игрока", и на него больше не нападают другие неписи отрабатывая StartCombat, player.По-видимому, это относится и к AIFollow. Наверное это надо в MSFD внести. Изменено 31 мая, 2012 пользователем z-Hunter Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти