sndinfo.работа со звуком

Статья была изменена автором.

Итак, мы сделали камеру или НЛО по инфе с прошлых туторов, и вы хотите добавить ко всему этому звуковое сопровождение, но звука нет или вооще не знаете как, и в помощь идёт sndinfo

Итак, для начала нам нужно добавить сам звук

Я на момент создания тутора без своего ноута и по этому я за чужим пк, который мне доверили, вот и цензура папок и другого

Форматы звукового файла, которые поддерживаются: mp3(не рекомендую), wav, ogg,flac, doom sound(в slade`е wav можно конвертировать в doom sound за два клика, я считал)

Для звукового файла не нужны маркеры как у спрайтов, маркеры можно добавить по желанию,

ну и создаём сам файл sndinfo

Ну и давайте к коду

gg\lol sound

То что в начале gg\lol это кодовое название (Для понимания, название файла это не кодовое название) а то что в конце sound это название самого файла

И теперь вы можете вставлять звук куда угодно,

Дефолтный канал для всех функций воспроизведения звука 4ый канал Chan_Body(есть ещё Chan_Auto(0), Chan_Weapon(1), Chan_Voice(2), Chan_Item(3), Chan_5(5), Chan_6(6), Chan_7(7)), канал можно указывать циврами

В decorate

A_PlaySound("кодовое название звука", канал(необязательно), громкось от 0.0 до 1.0(дефолт 1.0, необязательно), цикл(либо false(дефолт, не зацикленный) либо true(зацикленный), необязательно), дальность звука(чем меньше тем дальше, от 0.0(везде), до 1.0(дефолт) необязательно)
//проигрывание звука с помощью этой команды звук может перебить другой звук(ещё зависит от параметров в sndinfo, перебьют ли звук)

A_PlaySoundEx("кодовое название звука", канал, цикл(либо false(дефолт, не зацикленный) либо true(зацикленный), необязательно), громкость&дальность(-1 - очень короткая дальность, звук не на полной громкости, 0 - дефолт, обычное воспроизведение, 1 - полная громкость и звук слышен везде на уровне, 2 - тоже самое что и 1 но звук объёмный(необязательно))

В acs

playsound(id предмета от которого будет проигрываться звук, "кодовое название звука", звуковой канал по желанию и по умолчанию стоит chan_body, громкость звука по желанию и по умолчанию стоит 1.0)

И в zscript(zdoom script, да это слово сокращено) всё так же как и в decorate

И так, половину мы выучили но есть ещё одно, рандомный звук,

ну и давайте перейдём к рандомным звукам

$random lols\attack{ gg\lol1 gg\lol2 gg\lol3 }
gg\lol1 sound
gg\lol2 soun1
gg\lol3 soun2

И так, давайте это всё разберём по косточкам

$random lols\attack{ gg\lol1 gg\lol2 gg\lol3 }

lols\attack Это кодовое название, то есть рандомер это типа звука но он не играет а выбирает другие

{ gg\lol1 gg\lol2 gg\lol3 } Это список тех самых других звуков, их можно вставить больше чем три

gg\lol1 sound
gg\lol2 soun1
gg\lol3 soun2

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

Есть ещё такая штука как $limit, это лимит того сколько одновременно может играть один и тот же звук, если число одних и тех же звуков превысило лимит, то звуки будут перебивать друг друга, 0 — нет лимита

$limit кодовое_имя_звука лимит

и сказочке пришёл конец

ВсеМ

ДОСВИДОС, ДОС НАМ В НОС