![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#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 по типу СЛЫШУ_ВСЕ_ВИЖУ_ВСЕ, но не смог найти. Вобщем буду признателен, если кто-нибудь сможет разрешить проблему. |
![]()
Сообщение
#2
|
|
Level 8 ![]() ![]() ![]() Класс: Теневой Танцор Характер: True Neutral Раса: Эльф ![]() |
Попробуй на броню или какую-нибудь вещь НПС наложить заклятие Видеть Истину. Может поможет... (IMG:style_emoticons/kolobok_light/scratch_one-s_head.gif)
|
![]()
Сообщение
#3
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
ДМинвиз не палится никакими трусингами
|
![]()
Сообщение
#4
|
|
Level 3 ![]() Класс: Обыватель Характер: True Neutral Раса: Человек NWN: Модмейкер Сиала ![]() |
QUOTE(Lex @ May 8 2006, 16:17) [snapback]81115[/snapback] ДМинвиз не палится никакими трусингами Это очевидно, но означает ли, что идей больше ни у кого никаких нет? |
![]()
Сообщение
#5
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [Sn] ![]() |
QUOTE Это очевидно, но означает ли, что идей больше ни у кого никаких нет? Да что-то ничего с персепшеном не думается. (IMG:style_emoticons/kolobok_light/scratch_one-s_head.gif) Я так понимаю, нужно, чтобы ДМ в инвизе мог отдавать приказы неписю? А что, если обойти персепшн и сделать контроль через активацию предметов или как еще. Конечно, функциональности и удобства меньше, но хоть что-то. Или вешать на ДМа не его инвиз? Или пусть ДМ выходит-заходит в инвиз перед началом действа? А что, если делать диалог ДМу самим с собой, в котором и можно будет как-то воздействовать на непися? |
![]()
Сообщение
#6
|
|
Level 10 ![]() Класс: Страшный Пират Характер: Chaotic Evil Раса: Животное NWN: DM ![]() |
Не знаю, в тему или нет, но обходил похожие ситуации следующим образом. Весил на ДМа катсцен-инвиз и снимал ДМский инвиз.
|
![]()
Сообщение
#7
|
|
Level 8 ![]() Класс: Некромант Характер: Chaotic Evil Раса: Дракон NWN: Скриптинг [PW] ![]() |
TwilightCount, а каким образом можно снять ДМский инвиз? Я тоже размышлял над вопросом слышанья ДМов, когда писал систему дм-авторизации, но что-то не получилось :-/
|
![]()
Сообщение
#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) |
![]()
Сообщение
#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) Это мой *черный* вариант ... Он был очевиден сразу, другое дело, что хочется более красивого решения, но похоже врятли получится найти. |
![]()
Сообщение
#10
|
|
Level 9 ![]() Класс: Фея Характер: Chaotic Evil Раса: Тварь NWN: Скриптинг [PW] ![]() |
Feron, а оно тебе для чего? - может, как вариант, мой мегаубер-плагин для nwnx поможет? (IMG:style_emoticons/kolobok_light/wizard.gif)
|
![]()
Сообщение
#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 как такового. Объясняется это причинами, углубляться в которые нет смысла. В любом случае, если решение сущевствует в данном случае, то оно должно быть реализуемо общедоступными средствами. |
![]() ![]() |
Текстовая версия | Сейчас: 28th April 2025 - 14:48 |