Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скрипты Morrowind.doc
Скачиваний:
92
Добавлен:
29.10.2018
Размер:
2.81 Mб
Скачать

Несколько золотых правил

  • Самые специфичные ответы должны быть сверху списка, ответы «для всех» должны быть в самом низу! Помните, тот ответ, который возвращает «истину», тот и берется. Так что вы не должны ставить ответ для всех в Вивеке выше, чем ответ для конкретного NPC в Вивеке.

  • Если вы хотите, чтобы NPC мог говорить с игроком о чем-то особенном, вы должны представить тематическую фразу, например в приветствии (greeting) или в отклике на тему "свежие сплетни". Как альтернативу можно использовать скрипт с функцией AddTopic.

  • Не используйте обычные слова как темы для журнала. Topic, Greeting, Journal на самом деле единая БД – вот почему журнальные темы используют формат, вида A1_dreams. Если бы стояло просто "dreams", тогда журнальная запись для "dreams" могла появиться, как отклик на диалог для слова "dreams".

  • Никогда не удаляйте тему, которая принадлежит к оригинальному Морру/Трибуналу. Это тяжело исправить и это может привести к фатальным ошибкам в сэйвах. (Emma)

  • Когда используйте секцию Greetings, не помещайте свои приветствия в самом верху. Верхние приветствия принадлежат определенным квестам, и должны быть оставлены наверху, что они всегда появлялись.

Диалог 101

Нижеследующее суммирует некоторые наиболее распространенные проблемы с диалогами. Это список был собран из дискуссий на форумах, которые прислали Klinn, Emma и GarryB.

Совет 1) Мои новые темы исчезают! Зайдите в Фильтры внизу списка тем. Выберете самый верхний пустой элемент в выпадающем меню. Рекомендуется вызвать окно диалогов с панели инструментов, а не из окон Актеров.

Совет 2) Мои NPC постоянно задают мне один и тот же вопрос! Убедитесь, что ответы находятся выше вопроса. Звучит странно, но это работает.

Совет 3) Мой NPC говорит обо всем! Чтобы NPC не говорил на стандартные Морровские темы, присоедините скрипт «nolore» к нему. Если он уже имеет скрипт, то добавьте в него объявление переменной Short NoLore.

Совет 4) Мой NPC все равно имеет дополнительные темы! Некоторые другие темы всегда будут появляться в зависимости от класса и фракции NPC. Например, члены Имперского Легиона всегда будут говорить о своей фракции, Империи и т.д.

Совет 5) Как я могу добавить темы только для моего NPC? После создания темы и ответов для нее, укажите в графе Speaker Conditions ID своего NPC.

Совет 6) Я добавил темы, но мой NPC их не имеет! Две возможности: NPC должен употребить это слово до того, как вы можете его об этом спрашивать. Обычно это делается тем, что слово добавляется в приветствие. Второе: возможно Speaker Conditions не позволяют теме появится. Даже когда вы фильтруете диалог для NPC, некоторые темы зависят от того, достиг ли игрок определенного места игры, имеет ли нужную запись в журнале и т.д.

Совет 7) Как можно поменять порядок ответов? Используйте левую и правую стрелки на клавиатуре, чтобы передвигать ответы вверх и вниз.

Совет 8) Как можно создать диалог с существами? Каждое существо может иметь свои диалог. Это можно сделать так же как и диалога с NPC, кроме одного различия.

Нужно создавать диалог, не фильтруя его. После того как вы создали диалог, можете его фильтровать для этого существа31.

Совет 9) Как чаще всего используются поля result? Emma приводит здесь полезные и часто используемые команды для полей result.

  • Player->AddItem "my item" 1 (нужный предмет добавляется игроку в инвентарь)

  • Player->RemoveItem "my item" 1 (нужный предмет удаляется из инвентаря игрока)

  • ModDisposition 5 (реакция NPC увеличится на 5 пунктов)

  • cast "my_new_spell" player (NPC скастует заклинание)

  • AiFollow Player 0 0 0 0 0 (NPC пойдет за игроком)

  • AiWander 0 0 0 0 0 0 0 0 0 0 0 0 (NPC перестанет ходить за игроком)

  • SetFight 100 (NPC нападет на игрока)

  • StartCombat->player (NPC нападет на игрока)

  • StopCombat (ааа, вы догадались. Прекратить бой)

  • StartScript "my_global_script" (начать определенный скрипт32)

  • Set companion to 1 (если вы добавили "short companion" в скрипт на NPC, то NPC станет с вами делится, требует Трибунал)

  • SetHealth 100 (установит здоровье NPC в 100, тоже самое можно использовать с другими скиллами и атрибутами, например SetMagicka, SetLongBlade и др.)

  • disable (NPC исчезнет)

  • goodbye (завершит разговор с игроком. Может быть полезно, чтобы избежать последующего разговора с NPC, который исчез)

Совет 10) Я создал много диалогов, как я могу проверить их на орфографию? Проверка орфографии осуществляется, используя функции экспорта-импорта в CS. Экспортируйте “новые” диалоги в файл, проверьте его на ошибки своим текстовым редактором и импортируйте обратно. Это гораздо проще, чем лазить по тысячам тем (Информация с форумов / GarryB)