NPC's perception |
Здравствуйте, гость ( Вход | Регистрация )
NPC's perception |
May 7 2006, 13:04
Сообщение
#1
|
|
Level 3 Класс: Обыватель Характер: True Neutral Раса: Человек NWN: Модмейкер Сиала |
Добрый день. У меня возникла проблема, которую я на данный момент не могу разрешить.
А именно: Я обнаружил следующую зависимость. NPC у которого стоит SetListenPattern() может "слышать" только те объекты, которые проходят через его on_perveption event. Что это значит в моем случае. Мы имеем DMa, который должен быть "услышан" NPC-ом. Здесь 2 варианта а) DM на момент появления рядом со "слушающим" NPC находился в невидимости (здесь подразумевается стандартная функция DM клиента исчезать) и в этом же состоянии он произносит что-то. Результат: NPC не реагирует. б) DM хотя бы один раз выходил из невидимости рядом с NPC. Далее не важно уходил ли он обратно или нет. Результат: NPC будет слышать его. Примечание. Если DM появился перед NPC и тот его услышал, то в этой локации он будет его слышать. Но, как только DM покинет локацию и после этого например кинет к себе NPC (находясь в состоянии невидимости) то NPC опять не будет "слышать" его. Техническая сторона сего момента заключается в том, что совершенно не важно, какой скрипт стоит на on_perception NPC. Его может вобще не быть. Это не играет никакой роли. То есть получается в хардкодед части происходит, грубо говоря, переход в состояние *могу слышать того, кого только что заметил*. Находясь в состоянии невидимости DM не вызывает on_perception NPC, что и приводит к тому, что нпс его не слышит. Вопрос: Быть может кто-то посоветует, как сделать так, чтобы несмотря на невидимость дма - срабатывал on_perception NPC, либо, если есть другие закономерности сделать так, чтобы NPC слышал DMа независимо от того, почуял ли он его или нет. Я пытался найти какой-нибудь флаг в системе AI по типу СЛЫШУ_ВСЕ_ВИЖУ_ВСЕ, но не смог найти. Вобщем буду признателен, если кто-нибудь сможет разрешить проблему. |
May 8 2006, 15:15
Сообщение
#2
|
|
Level 8 Класс: Теневой Танцор Характер: True Neutral Раса: Эльф |
Попробуй на броню или какую-нибудь вещь НПС наложить заклятие Видеть Истину. Может поможет... (IMG:style_emoticons/kolobok_light/scratch_one-s_head.gif)
|
May 8 2006, 15:17
Сообщение
#3
|
|
Level 5 Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени |
ДМинвиз не палится никакими трусингами
|
May 8 2006, 19:56
Сообщение
#4
|
|
Level 3 Класс: Обыватель Характер: True Neutral Раса: Человек NWN: Модмейкер Сиала |
QUOTE(Lex @ May 8 2006, 16:17) [snapback]81115[/snapback] ДМинвиз не палится никакими трусингами Это очевидно, но означает ли, что идей больше ни у кого никаких нет? |
May 8 2006, 20:51
Сообщение
#5
|
|
Level 19 Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [Sn] |
QUOTE Это очевидно, но означает ли, что идей больше ни у кого никаких нет? Да что-то ничего с персепшеном не думается. (IMG:style_emoticons/kolobok_light/scratch_one-s_head.gif) Я так понимаю, нужно, чтобы ДМ в инвизе мог отдавать приказы неписю? А что, если обойти персепшн и сделать контроль через активацию предметов или как еще. Конечно, функциональности и удобства меньше, но хоть что-то. Или вешать на ДМа не его инвиз? Или пусть ДМ выходит-заходит в инвиз перед началом действа? А что, если делать диалог ДМу самим с собой, в котором и можно будет как-то воздействовать на непися? |
May 8 2006, 21:15
Сообщение
#6
|
|
Level 10 Класс: Страшный Пират Характер: Chaotic Evil Раса: Животное NWN: DM |
Не знаю, в тему или нет, но обходил похожие ситуации следующим образом. Весил на ДМа катсцен-инвиз и снимал ДМский инвиз.
|
May 9 2006, 20:38
Сообщение
#7
|
|
Level 8 Класс: Некромант Характер: Chaotic Evil Раса: Дракон NWN: Скриптинг [PW] |
TwilightCount, а каким образом можно снять ДМский инвиз? Я тоже размышлял над вопросом слышанья ДМов, когда писал систему дм-авторизации, но что-то не получилось :-/
|
May 9 2006, 21:30
Сообщение
#8
|
|
Level 5 Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени |
QUOTE(kreon @ May 9 2006, 21:38) [snapback]81215[/snapback] TwilightCount, а каким образом можно снять ДМский инвиз просто в нем не ходить (IMG:style_emoticons/kolobok_light/biggrin.gif) Заменить кнопку инвиза на какой-нить ванд, который будет давать КатсценИнвиз.. я так понял (IMG:style_emoticons/kolobok_light/unknw.gif) |
May 10 2006, 08:10
Сообщение
#9
|
|
Level 3 Класс: Обыватель Характер: True Neutral Раса: Человек NWN: Модмейкер Сиала |
QUOTE(Lex @ May 9 2006, 22:30) [snapback]81217[/snapback] просто в нем не ходить (IMG:style_emoticons/kolobok_light/biggrin.gif) Заменить кнопку инвиза на какой-нить ванд, который будет давать КатсценИнвиз.. я так понял (IMG:style_emoticons/kolobok_light/unknw.gif) Это мой *черный* вариант ... Он был очевиден сразу, другое дело, что хочется более красивого решения, но похоже врятли получится найти. |
May 10 2006, 10:02
Сообщение
#10
|
|
Level 9 Класс: Фея Характер: Chaotic Evil Раса: Тварь NWN: Скриптинг [PW] |
Feron, а оно тебе для чего? - может, как вариант, мой мегаубер-плагин для nwnx поможет? (IMG:style_emoticons/kolobok_light/wizard.gif)
|
May 10 2006, 20:10
Сообщение
#11
|
|
Level 3 Класс: Обыватель Характер: True Neutral Раса: Человек NWN: Модмейкер Сиала |
QUOTE(dumbo @ May 10 2006, 11:02) [snapback]81246[/snapback] Feron, а оно тебе для чего? - может, как вариант, мой мегаубер-плагин для nwnx поможет? (IMG:style_emoticons/kolobok_light/wizard.gif) Быть может и поможет. Дело в том, что на данный момент не встает вопрос об использовании nwnx как такового. Объясняется это причинами, углубляться в которые нет смысла. В любом случае, если решение сущевствует в данном случае, то оно должно быть реализуемо общедоступными средствами. |
Текстовая версия | Сейчас: 26th September 2024 - 03:26 |