fallout.ru

Звук

Разговор

Say, “имя файла”, “текст”

Заставляет анимированный объект «произносить» звуковые файлы формата mp3, расположенные в папке “Data files\Sound\Vo\”. Параметр «текст» содержит фразы, выводимые в окне сообщения в качестве субтитров к файлу.

SayDone

Возвращает ИСТИНУ, если объект ничего не произносит.

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

StreamMusic, “имя.расширение”

Функция проигрывает музыкальный файл, обычно формата mp3, находящийся в папке “Data Files/Music/”.

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

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

PlaySound, “ID Звука”
PlaySoundVP, “ID Звука”, громкость_числ, тон_числ
PlaySound3D, “ID Звука”
PlaySound3DVP, “ID Звука”, громкость_числ, тон_числ

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

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

Функция PlaySound3D проигрывает звук, громкость которого зависит от расстояния до игрока.

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

“ID Звука” можно узнать в меню Gameplay->Sounds. Туда можно добавить собственные звуки, расположив необходимые файлы с расширением wav где-то в папке “Data Files”. Эти звуки должны быть определённого формата (смотрите ниже), поэтому Вам придётся поменять его с помощью специальных программ, иначе в игре Вы их просто не услышите.

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

StopSound, "ID Звука"

Останавливает проигрыш звука, если это происходит по отношению к вызываемому объекту.

GetSoundPlaying, "ID Звука" (возвращает Boolean/short)

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

Пример: скрипт, заставляющий лаву издавать характерные звуки

begin lava

if ( menumode == 1 )
return
endif

if ( CellChanged == 0 )
            if ( GetSoundPlaying "lava layer" == 0 )
                        PlayLoopSound3DVP "lava layer", 1.0, 1.0
            endif
endif

HurtStandingActor, 20.0 ;20 пунктов урона в секунду

end lava

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

Несмотря на то, что все файлы проигрываются в редакторе, в игре корректно звучат лишь некоторые. Чтобы всё работало как надо, используйте следующий формат:

Формат файлов из папок "Cr" и "Fx":

  • Windows PCM (.wav)
  • 22050 Hz, 16-bit, Mono

Формат файлов из папки "Vo":

  • MPEG Layer-3, 64 Kbps
  • 44100 Hz, 16-bit, Mono