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

Проигрывание музыки

[no fix] StreamMusic, “filename.ext”

Проигрывает звуковой файл "имя_файла.ext", обычно файл mp3, как текущий музыкальный файл. Он должен находится в папке data files/music/. Можно также проигрывать файлы MIDI (JOG).

Примечание: Несколько глючная: Вызов StreamMusic автоматически устанавливает громкость в 100 и оставляет такую громкость и после того, как музыка завершилась. Поскольку нет функции для установки громкости, приходится устанавлевать ее обратно вручную через меню.

Проигрывание звуков

[no fix] PlaySound, “sound ID”

[no fix] PlaySoundVP,“sound ID”, volume_enum, pitch_enum

PlaySound3D, “sound ID”

PlaySound3DVP, “sound ID”, volume_enum, pitch_enum

"ex_gg_portcullis_02"->Playsound3DVP "Dwemer Door Open" 1.0 1.0

Функция PlaySound проигрывает звук без модификаций. Не важно, к какому объекту прикреплен скрипт, использующий эту функцию, звук всегда будет слышен на полной громкости, так сказать, прямо в ухе игрока.

Функция PlaySound3D проигрывает направленный звук. Звук будет исходить от объекта, к которому прикреплен скрипт с этой функцией.

Варианты каждой из этих команд с "VP" позволяют установить громкость и высоту для проигрываемого звука. Bethesda особо не использовала эту команду, все, что она использована, это установки 1.0 для обеих команд, которые проигрываются также, как стандартные. Мои эксперименты показали, что звук не проигрывается, когда громкость устанавливается при помощи переменной, но это не окончательное суждение.

"Sound ID" — это ID, указанный в списке, который доступен через команду Gameplay – sounds. Вы можете добавить сюда звуки (поместите файл, формата.wav куда-нибудь в папку Data files/sounds). Хорошую подборку звуков в сети можно найти на http://www.findsounds.com/. Звуки должны быть определенных форматов (см. ниже), так что, возможно, вам придется поменять формат в подходящем звуковом редакторе, если вы не слышите звук в игре.

Управление звуком

StopSound, "Sound ID"

Object_ID -> StopSound "Lava Layer"

Останавливает звук "SoundID", если он проигрывается в данный момент вызывающим объектом.

GetSoundPlaying, "sound ID" (returns Boolean/short)

if ( GetSoundPlaying "lava layer" == 0 )

Возвращает 1, когда играет определенный звук. ID звука можно найти в меню Gameplay/sounds и /sound gen, где вы также можете выставить свои (см.ниже форматы). Эти функции могут использоваться для управления звуками, а также для сбора информации, так как некоторые звуки привязаны к конкретным событиям в игре, таким как “Critical Damage” или “Disarm trap”.

Пример: этот скрипт заставляет лаву звучать постоянно:

begin lava

if ( menumode == 1 )

return

endif

if ( CellChanged == 0 )

if ( GetSoundPlaying "lava layer" == 0 )

PlayLoopSound3DVP "lava layer", 1.0, 1.0

endif

endif

end lava

Форматы звуковых файлов:

Примечание: Не все звуковые файлы корректно проигрываются в игре (несмотря на то, что все играют в редакторе). Чтобы подстраховаться, используйте форматы, предложенные Bethesda (спасибо random name):

Папки "Cr" и "Fx" Windows PCM (.wav) 22050 kHz, 16-bit, Mono

Звуки более низкого качества также работают, например 8,000 kHz; 8 Bit; Mono. Это используется в моем моде "The Regulars" для музыки в тавернах.

Папка "Vo" MPEG Layer-3, 64 Kbps 44100 kHz, 16-bit, Mono