Просмотр
Материал из DoomDev
Страница «
SNDINFO
»
Перейти к:
навигация
,
поиск
__TOC__ SNDINFO содержит множество определений связанных со звуками. Этот ламп позволяет задавать соответствия имен лампов звуков (DSSAWHIT, DSBAREXP и т.д.) любым звуковым событиям, например, смерти игрока или нахождению секрета. В отличие от Hexen в ZDoom лампы SNDINFO кумулятивны - все найденные лампы SNDINFO обрабатываются в том порядке, в котором они записаны в [[WAD]]е. Поэтому, если нужно что-то изменить, не нужно копировать все из оригинального лампа SNDINFO. В SNDINFO можно использовать комментарии, обозначая их начало символами '''//''' (конец комментария совпадает с концом строки) или заключая их в '''/*''' (начало комментария) и '''*/''' (конец комментария). Всё содержимое комментария игнорируется. (Если вы раньше пользовались блоком SNDINFO в Hexen, обратите внимание, что здесь комментарии не начинаются с символа ''';'''.) Поддерживаются следующие команды: == <логическое_имя> <имя_лампа> == Два имени просто записываются подряд в одну строчку: логическое имя (имя звука, используемуе в командах ниже, в игре или в других лампах) и имя лампа звука. Логические имена звуков не могут начинаться с символа доллара ($), а имена содержащие пробелы должны быть заключены в кавычки ("). Логические имена звуков не чувствительны к регистру, поэтому «misc/keytry» и «Misc/KeyTry» считаются одинаковыми. Имена звуков не обязаны начинаться с символов «ds». == $random <псевдоним> {<логическое_имя1> <логическое_имя2> <логическое_имя3> ...} == Определяет случайный звук. Созданный псевдоним используется как и обычное логическое_имя, но для проигрывания случайным образом выбирается один из перечисленных в списке звуков. Количество звуков в списке неограничено. Обратите внимание, что соответствие логических имен в списке реальным лампам должно задаваться отдельно. == $alias <псевдоним> <имя_звука> == Задает еще одно логическое имя уже определенному звуку. "Определенный звук" также может быть случайным звуком или псевдонимом. Любое изменение звука-оригинала в последующих SNDINFO автоматически производится и с новым звуком. == $limit <имя_звука> <количество> == Задает максимальное '''количество''' "экземпляров" звука, которое может проигрываться одновременно. 0 - без ограничения. == $pitchshift <имя_звука> <диапазон> == Задает предел случайной вариации высоты указанного звука при проигрывании. '''Диапазон''' может принимать значения от 0 до 7. == $pitchshiftrange <диапазон> == Задает значение pitchshift применяемое по умолчанию ко всем нижеследующим определениям звуков. == $playerreserve <имя_звука> (устарела) == Резервирует указанное '''имя_звука''' для использования игроком. Эта команда должна находиться перед любыми другими определениями звуков игрока и не должна использоваться в [[PWAD]]ах. == $playersound <класс_игрока> <пол> <логическое_имя> <имя_лампа> == Определяет звук, используемый игроком. '''Класс_игрока''' должен быть 'player', если звук предназначен для стандартного класса игрока Doom, Strife или Heretic. Если же звук предназначен для пользовательского класса, должно использоваться значение свойства [[Classes:PlayerPawn#player.soundclass|Player.SoundClass]]. Если звук предназначен для использования [[S_SKIN|скин]]ом, должно использоваться имя скина. Кроме того, для Hexen допустимы значения 'fighter', 'mage' и 'cleric'. Пол может быть 'male' (мужской), 'female' (женский) или 'other' (другой). На странице [[Звуки игрока]] перечислены все звуки игрока и их назначение. == $playersounddup <класс_игрока> <пол> <логическое_имя> <логическое_имя2> == Задает псевдоним для уже определенном звуку игрока == $playeralias <класс_игрока> <пол> <логическое_имя> <логическое_имя2> == Задает псевдоним для уже определенном звуку игрока == $playercompat <класс_игрока> <пол> <логическое_имя> <совместимое_имя> == Определяет псевдоним совмесимости для указанном звука игрока. При определении звука с данным именем совместимости, вместо этого будет переопределен соответствущий звук игрока. При проигрывании также используется соответствующий звук игрока. == $ambient <индекс> <логический_звук> <тип> <режим> <громкость> == Определяет звук окружающего мира, проигрываемый при размещении на карте соответствующего предмета (типы 14001-14065). '''Индекс''' определяет какой тип (14000+индекс) должен иметь соответствующий предмет звука или какой аргумент должен иметь соответствующий универсальный предмет звука. '''Логический_звук''' определяет проигрываемый звук. Используя один и тот же логический_звук для различных окружающих звуков, можно использовать один и тот же звук с различными параметрами. '''Тип''' может иметь одно из следующих значений: :* point [<аттен>] ::Определяет точечный звук. Громкость, с которой слышен звук уменьшается по мере удаления от источника (соответствующего предмета). Опциональный дробный параметр аттен указывает с какой скоростью падает громкость по мере удаления от источника. По умолчанию - 1.0. :* surround ::Проигрывает звук через канал surround с громкостью, независящей от расстояния до предмета-источника. :* world ::Указывает, что звук проигрывается с одинаковой громкостью независимо от расстояния до предмета-источника. Ключевое слово 'world' необязательно. World-звуки были и в [[Heretic]], и в [[Hexen]], а точечные звуки являются нововведением ZDoom. '''Режим''' может быть: :* continuous ::Звук проигрывается непрерывным циклом :* random минсек макссек ::Звук проигрывается через случайные интервалы. Минимум и максимум интервала - дробные значения в секундах. :* periodic сек ::Звук должен проигрываться через постоянный интервал '''сек''', задаваемый дробным числом в секундах. '''Громкость''' - относительная громкость звука (0,0-1,0). 0,0 – звук выключен и никогда не проигрывается. 1,0 – полная громкость. Для точечных звуков это громкость, с которой будет проигрываться звук, когда игрок стоит непосредственно у соответствующего предмета. Чем дальше от него находится игрок, тем тише будет слышен звук. Для остальных звуков это громкость, с которой они будут проигрываться, независимо от местонахождения игрока. == $ifdoom $ifheretic $ifhexen $ifstrife == Нижеследующие определения до '''$endif''' обрабатываются только в соответствующей игре == $endif == Завершает блок '''$if*''' == $map <номер_карты> <музыка> (устарела) == Эта команда определяла музыку карты в [[Hexen]]. Поддерживается только для совместимости и не должна использоваться в новых проектах. Музыка карты должна определяться в лампе [[MAPINFO]]. == $musicvolume <музыка> <коэффициент> == Задает коэффициент громкости. Используется для компенсации при использовании музыки, которая имеет другую громкость. == $registered == Игнорируется. Допустима для совместимости с Hexen. == $archivepath <строка> == На данный момент не используется. == $mididevice <устройство> (только для [[SVN]]-версии) == Задает устройство по умолчанию для проигрывания данного звукового файла. Может быть полезно, если он хорошо звучит только при одном из способом воспроизведения. Допустимы Timidity, Windows Synth и OPL playback (для MUS). == Замечания == В ZDoom поддерживаются различные звуки боли игрока в зависимости от его здоровья. Но в Doom, Heretic и Hexen был только один звук боли, поэтому в SNDINFO сделано так: $playersound player male *pain100 dsplpain $playersounddup player male *pain75 *pain100 $playersounddup player male *pain50 *pain100 $playersounddup player male *pain25 *pain100 Для *pain75, *pain50 и *pain25 вместо имени лампа использован *pain100, чтобы он проигрывался независимо от здоровья игрока. Но это, разумеется, можно изменить. ---- В [[SVN]]-версии звук боли и звук смерти может зависеть от типа ущерба. Например: $playersound player male *death-fire dsburn При нанесении ущерба игроку ZDoom сначала попробует найти звук соответствующий типу ущерба, а если такового нет, будет использован общий звук (например, *death). == Примеры == Данный пример делает звук смерти игрока случайным: $random pl_death { player/death1 player/death2 player/death3 } player/death1 pldth1 player/death2 pldth2 player/death3 pldth3 $playersound player male *death pl_death Реально проигрывается случайный звук из набора pldth1, pldth2 и pldth3. {{zdoomwikibased}}{{zdoom}}
Шаблон:Zdoom
Шаблон:Zdoomwikibased
Возврат к странице
SNDINFO
.
Просмотры
Статья
Обсуждение
Просмотр
История
Личные инструменты
Представиться системе
Навигация
Заглавная страница
Сообщество
Текущие события
Свежие правки
Случайная статья
Справка
Поиск
Инструменты
Ссылки сюда
Связанные правки
Загрузить файл
Спецстраницы