Подскажите плз, как настроить постоянный звук лопастей вертолёта? Что бы когда он летел или стоял на месте, то этот звук постоянно проигрывался.
Я пробовал через ауру, сделал вот так (как на скрине). Но звука никакого нету
`
ОЖИДАНИЕ РЕКЛАМЫ...
32
Там у юнита же есть в насткойках издавать звуки, а абилка только при касте издает такой звук.
28
quq_CCCP, у юнита в настройках вроде только для того, кто управляет им

можно триггерно прикрепить звук к юниту
12
quq_CCCP, у юнита в настройках вроде только для того, кто управляет им

можно триггерно прикрепить звук к юниту
У меня на карте можно построить от 1 до 10 и больше таких вертолётов... Думаю триггеры так будут баговать
28
FIRERANGER, не будут баговать, просто ты не знаешь как правильно делать звуки для дальнейшего использования, помимо этого можно локальный звук создать
25
Итак, я это делал, звуки еще та проблема в варике, с ними нужно научиться правильно работать (а кто нам это объяснит? Никто. Сам).
Короче вот ответ для тебя
Итак импортируем звук .wav и создаем в редакторе звука переменную, указав наш файл "использовать как звук". Формат должен быть как на скрине:
Далее в триггерах создаем из этого звука локальную переменную sound, ее прикрепляем к нужному юниту и воспроизводим. Усе.
Вот пример, где я сделал, чтобы звук давался каждому вертолету, который появится на карте:
А вот код:
local sound s=CreateSoundFromLabel("EngineLoop.wav",true,true,false,500,1000)
call AttachSoundToUnitBJ( s, GetTriggerUnit() )
call StartSound(s)
(Если что-то не понятно из кода, пиши, объясню)

Кстати, вот карта-пример для теста где это реализовано.

Правда в таком подходе есть проблема, что звук повторяется. То есть даже после смерти юнита он останется. Для этого можно создать систему, где ты сохраняешь юнита и его звук отдельно в переменных, и когда юнит умирает - удаляешь его звук.
33
Ну можно закринжевать, заменить какой-нить стандартный звук на свой, и воспроизводить звук в модели, но это уже давно утерянная технология
25
Вот немного доделал систему, так звук будет удалятся после уничтожения юнита.
Ответ
Начало создания системы описано тут
i - просто целочисленная переменная для цикла с перебором.
Sounds - массив звуков, где и храним до уничтожения.
Смысл в том, что при создании звука, сначала находим свободное место в массиве, сохраняем туда звук а номер этого места сохраняем в кастомное значение юнита (если не желаете его использовать, кастомное значение, тогда придется параллельно массив создать с юнитами, где и сохраним этого юнита, при этом номер в обоих массивах должен быть одинаковым).
Далее останавливаем цикл и при смерти юнита уничтожаем звук и обнуляем переменную (освобождаем место для следующего звука).
Карту прикрепил (Reforged): xgm.guru/files/100/283063/comments/487506/testmap.w3m
Загруженные файлы
28
konvan5, помимо этого, локальный звук ещё и утекает, идеально было бы на глобальном массиве это сделать

а, ты уже сделал, молодец)

но звук лучше не удалять, просто останавливать
25
но звук лучше не удалять, просто останавливать
Если не удалять, то по этой системе их будет накапливаться бесконечное кол-во, что будет забивать память. А если использовать звук снова на новом юните, то надо как-то идентифицировать, что звук свободен, а если звуков не хватает, то создать еще. Это все то-же усложнит систему. Учитывая что заранее я не знаю, сколько звуков может пригодится для карты. Тут-же все динамически будет создаваться и удаляться в зависимости от кол-ва юнитов.
28
konvan5, очень сильно заблуждаешься


повторюсь, лучше заранее сделать массив звуков и их использовать, не удалять, просто останавливать
25
konvan5, очень сильно заблуждаешься


повторюсь, лучше заранее сделать массив звуков и их использовать, не удалять, просто останавливать
В плане оптимизации для варика согласен)

rsfghd тогда думаю этот вариант будет более оптимизированным:
Итоговое решение
Продолжение прошлых наработок
Добавляем массив юнитов, где будут храниться вертолеты. По нему и определяем, что звук свободен. А в массив со звуками добавляем новые только тогда, когда их становится не хватать.
В итоге при смерти юнита, удаляем его из массива юнитов, а в массиве звуков просто останавливаем звук с тем-же индексом. При создании вертолета, он добавляется в массив юнитов где есть место, а звук прикрепляется к новому юниту и запускается (и только при надобности создается).
Карта (Рефандед):
Загруженные файлы
Этот комментарий удален
Чтобы оставить комментарий, пожалуйста, войдите на сайт.