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

Использование звука для обнаружения событий

Я думаю, что это очень умная идея (спасибо BalorNG), так что описываю ее еще и здесь, хотя ранее она описана в разделе о звуке. Можно использовать функцию GetSoundPlaying, чтобы обнаружить некоторые ситуации в игре, не доступные другим способом. Просто взгляните на звуки в меню Gameplay/sounds, и это, возможно, даст вам повод к размышлению: определить, что кто-то упал, определить, когда рядом определенный монстр48, определить удар оружием и т.д.

Вот дополнительная информация (спасибо Horatio):

GetSoundPlaying – это очень мощная команда, при помощи которой можно обнаружить что игрок (и, я полагаю, другие Актеры) выполняют определенное действие, такое как чтение заклинания или вытаскивание оружия. Я использовал это в моем моде, чтобы определить, когда игрок кастует заклинание и какой оно школы. Формат следующий:

if ( player->GetSoundPlaying, "Sound ID" == 1 )

;сделать что-то крутое здесь

endif Посмотрите меню звуков в TESCS, чтобы определить какой Sound ID соответствует нужному действию. Например "illusion cast" соответствует моменту, когда игрок читает заклинание школы Иллюзий. Возможно, что вам придется немного поэкспериментировать немножко. Примечание: по какой то причине Sound ID "drink" вызывает ошибку, так что не проверяйте, пьет ли игрок зелье49.

Большие сражения

(от Horatio)

Самый простой способ организовать большую битву между двумя группами NPC — это использовать команды ИИ. Для примера давайте используем группу имперских легионеров, в союзе с которыми находится игрок, против банды темного братства. Сначала установим значение параметра 'fight' (на закладке AI) NPC Темного Братства в 100, так, чтобы они атаковали игрока при визуальном контакте. Затем нужно выставить AI легионеров следующим образом:

AIFollow, player, 0,0,0,0,0

Это можно сделать как при помощи скрипта, присоединенного к легионеру NPC, так и при помощи внешнего скрипта. Назначение команды AIFollow по умолчанию заставляет NPC атаковать того, кто напал на персону, за кем он следует. Так что когда парни из ТБ нападут на игрока, все легионеры начнут сражаться с ними. Получаем быструю гигантское месилово.

Я использовал вариацию этого метода в моде GIANTS, чтобы заставить охранников атаковать монстров, являющихся, на самом деле, NPC (вампиры, тени, гиганты, горги и т.д.).

Руководство по созданию объектов для езды

(By MadMax_001)

MadMax поделился своими взглядами на тему, как создавать объекты для езды (например, лодки), особенно тем, какие встают проблемы и как их решать. В этой главе много интересной информации, которая выходит за рамки обсуждаемой темы. Вы можете посмотреть его скрипты в модах "Fishing Academy" и "Magic Carpet" (но не используйте их в своих модах без согласия).

Выбор объектов

Можно использовать практически все объекты (статику/активаторы). Тем не менее, выбор правильного объекта очень важен. Позже это сделает написание скрипта гораздо более легким делом. Итак, какие же объекты подходят? Предпочтение нужно отдать маленьким и с наименьшей высотой (тонким). Другой немаловажный фактор — это центральная точка, которая также является точкой, где будет стоять ваш персонаж. Это также убережет вас от сложного программирования позже. Если центральная точка не та, которая требуется, тогда это можно исправить, импортировав объект в 3DS и передвинув координаты в ту точку, куда вы планируете поставить ваш персонаж. Здесь я не буду объяснять, как сделать это в 3DS, так как есть множество руководств, в которых уже это все описано.