Извините, прорвало и не знал, куда написать. Это что-то вроде просьбы кого-то написать (или найти) такой плагин.

Какое-то время я восхищался плагинов TerraxLighting (кстати, перед тем как прочитать этот пост рекомендуется скачать последнюю версию этого чудесного плагина и разобраться в нём. Суть его - вызов при помощи небольшой строки в комментарии внутри события (пустая форма, которая находится правее формы имени). Из себя свет в этом плагине представляет точку, которой можно задать цвет, радиус, яркость и обрезание с одной из плоскостей. Я подумал "а почему такое не изобрести для звука" и представил небольшой концепт этого плагина.

Плагин назывался бы AmbientSoundSystem.

По сути после установки плагина нам бы потребовалось задать какому-либо id свой звук. Поле id включало бы номера от 00 до 99 (думаю столько должно хватит, ибо 999 и 255 это много).



Суть работы была бы как в TerraxLighting. Выбирается произвольное событие и в его комментарий писалась бы строка вида "snd 01 192 100 5".
snd - вызов функции (я могу быть безграмотным, так как студент, а не сеньор), 01 - id звука, 192 - радиус (пиксели), 100 - громкость, 5 - интервал между повторами звука (секунды и если поставить 0, то будет идеальное зацикливание звука).



Поведение было бы следующее. При радиусе 192 в самом центре клетки, в котором стоит событие громкость была бы максимальной - 100. То есть, стоя на 4 клетке напротив события (или на 2-3 клетке по диагонали) мы бы слышали звук с громкостью = 25. Зайдя на 5 клетку от события мы бы не слышали звук вообще. Предусматривается, чтобы при приближении к событию, которое является источником фонового звука, громкость менялась плавно.

Скорее всего такой плагин весил бы не меньше плагина на освещение (может даже больше, чем 55 КБ) и скорее всего его было бы труднее написать, но он получился бы очень классным и полезным. Думаю многим было бы приятно гулять по картам в RPG и, проходя мимо водопада, слышать его шум или, проходя мимо костра, слышать его потрескивание .

P.S.: Можно было бы спокойно совмещать этот плагин с TerraxLighting. Да, они оба используют одинаковый метод вызова, но что мешает рядом с событием, отвечающим за свет поставить событие, отвечающее за фоновый звук?

P.P.S.: Чтобы ощутить всю плавность смены громкости, можно было бы использовать Super Orange Movement.