Добрый день. У меня возникла проблема, которую я на данный момент не могу разрешить.
А именно:
Я обнаружил следующую зависимость. 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 по типу СЛЫШУ_ВСЕ_ВИЖУ_ВСЕ, но не смог найти.
Вобщем буду признателен, если кто-нибудь сможет разрешить проблему.
Elf-Drow
May 8 2006, 15:15
Попробуй на броню или какую-нибудь вещь НПС наложить заклятие Видеть Истину. Может поможет...
ДМинвиз не палится никакими трусингами
QUOTE(Lex @ May 8 2006, 16:17) [snapback]81115[/snapback]
ДМинвиз не палится никакими трусингами
Это очевидно, но означает ли, что идей больше ни у кого никаких нет?
-fenix-
May 8 2006, 20:51
QUOTE
Это очевидно, но означает ли, что идей больше ни у кого никаких нет?
Да что-то ничего с персепшеном не думается.
Я так понимаю, нужно, чтобы ДМ в инвизе мог отдавать приказы неписю?
А что, если обойти персепшн и сделать контроль через активацию предметов или как еще. Конечно, функциональности и удобства меньше, но хоть что-то. Или вешать на ДМа не его инвиз? Или пусть ДМ выходит-заходит в инвиз перед началом действа?
А что, если делать диалог ДМу самим с собой, в котором и можно будет как-то воздействовать на непися?
TwilightCount
May 8 2006, 21:15
Не знаю, в тему или нет, но обходил похожие ситуации следующим образом. Весил на ДМа катсцен-инвиз и снимал ДМский инвиз.
TwilightCount, а каким образом можно снять ДМский инвиз? Я тоже размышлял над вопросом слышанья ДМов, когда писал систему дм-авторизации, но что-то не получилось :-/
QUOTE(kreon @ May 9 2006, 21:38) [snapback]81215[/snapback]
TwilightCount, а каким образом можно снять ДМский инвиз
просто в нем не ходить

Заменить кнопку инвиза на какой-нить ванд, который будет давать КатсценИнвиз..
я так понял
QUOTE(Lex @ May 9 2006, 22:30) [snapback]81217[/snapback]
просто в нем не ходить

Заменить кнопку инвиза на какой-нить ванд, который будет давать КатсценИнвиз..
я так понял

Это мой *черный* вариант ... Он был очевиден сразу, другое дело, что хочется более красивого решения, но похоже врятли получится найти.
Feron, а оно тебе для чего? - может, как вариант, мой
мегаубер-плагин для nwnx поможет?
QUOTE(dumbo @ May 10 2006, 11:02) [snapback]81246[/snapback]
Feron, а оно тебе для чего? - может, как вариант, мой
мегаубер-плагин для nwnx поможет?

Быть может и поможет. Дело в том, что на данный момент не встает вопрос об использовании nwnx как такового. Объясняется это причинами, углубляться в которые нет смысла. В любом случае, если решение сущевствует в данном случае, то оно должно быть реализуемо общедоступными средствами.