Насколько я понимаю, при присоединении NPC происходит следующие:
1. Меняется диалог в соответствии с PDIALOG.2DA. 2. Меняется default скрипт на dplayer2.bcs. 3. В ToB меняется override скрипт с тем же 2da. Все? Или что-то еще?
При этом у тех, кто в партии изначально, в default стоит dplayer3.bcs. Что касается dplayer.bcs, то его роль мне не ясна. У некоторых NPC он стоит в default до присоединения, но это не всегда так.
Из этого, казалось бы, вытекает простейший способ обеспечить выполнение скрипта для всех персонажей в партии: дописать его в dplayer2.bcs и dplayer3.bcs. Но с этим способом есть одна проблема — он не работает. Точнее, работает, только если у нас включен AI.
Посему — вопросы:
1. На какие уровни скриптов действует включение/выключение AI? На default — точно действует. На override — точно не действует. Что с остальными?
2. Как добиться выполнения скрипта для каждого члена партии, независимо от состояния AI? Можно добавить его всем присоединяемым NPC к override, но этот способ мне сильно не нравится. Идеальным было бы из baldur.bcs перехватить момент изменения состава партии, и в этот момент заюзать на нее ChangeAIScript. Это возможно?
P.S. Кстати, в BGT ржавение оружия реализовали, как выяснилось, именно через dplayer2.bcs и dplayer3.bcs. То-то я удивляюсь, что оно не ломается вообще!
|