Jump to content


Photo

Как сделать так, чтобы после смерти игрока аутентичные звуки боя не прекращалмсь?


  • Please log in to reply
6 replies to this topic

#1 OFFLINE   Вася_клёвый1щ1

Вася_клёвый1щ1

    Рядовой

  • Пользователи
  • 6 posts
  • Откуда:Russia
  • Отряд:Нет отряда

Posted 21 April 2023 - 08:27

Всем привет! У меня такой вопрос, как сделать так, чтобы аутентичные звуки как бы боя на карте не пропадали. Делаю я это все через description, но после смерти звуки пропадают. Помогите, пожалуйста
  • 0

#2 OFFLINE   11Varan11

11Varan11

    Ефрейтор

  • Пользователи
  • 72 posts
  • Откуда:Kostroma

Posted 26 April 2023 - 23:09

Всем привет! У меня такой вопрос, как сделать так, чтобы аутентичные звуки как бы боя на карте не пропадали. Делаю я это все через description, но после смерти звуки пропадают. Помогите, пожалуйста

К сожалению, через description невозможно сделать так, чтобы звуки как бы боя на карте не пропадали после смерти игрока.
 
Однако, для реализации подобного эффекта, вы можете использовать скрипт на сервере, который будет проигрывать атмосферные звуки на карте и не зависит от игроков.
 
Пример скрипта, который проигрывает звуки на сервере:
 
В созданном вами "description.ext" файле добавьте следующую строку:
class CfgSounds {
    sounds[] = {};
    class BattleAmbience {
        name = "Battle Ambience";
        sound[] = {"sounds\battle_ambience.ogg", 1, 1};
        titles[] = {};
    };
};
Создайте папку "sounds" в корневом каталоге миссии и поместите туда аудиофайл вашего выбора с названием "battle_ambience.ogg".
 
В скрипте инициализации сервера ("initServer.sqf") добавьте следующий код:
 
//Проигрывает звуковой эффект на карте
[_soundPos, "BattleAmbience"] call BIS_fnc_effectKilled;
Запустите миссию и убедитесь, что звук проигрывается на всей карте и не зависит от игроков.
Заметьте, что код будет проигрывать атмосферные звуки на карте постоянно, пока миссия запущена. Вы можете изменить их частоту и громкость, используя параметры "sound[]" в первом шаге.

  • 0

#3 OFFLINE   Вася_клёвый1щ1

Вася_клёвый1щ1

    Рядовой

  • Пользователи
  • 6 posts
  • Откуда:Russia
  • Отряд:Нет отряда

Posted 27 April 2023 - 11:37

Понял, хорошо, а вот теперь такой вопрос, где находится инициализации сервера, чтобы такой скрипт сделать? Заранее спасибо

Edited by Вася_клёвый1щ1, 27 April 2023 - 11:38.

  • 0

#4 OFFLINE   11Varan11

11Varan11

    Ефрейтор

  • Пользователи
  • 72 posts
  • Откуда:Kostroma

Posted 27 April 2023 - 14:36

Понял, хорошо, а вот теперь такой вопрос, где находится инициализации сервера, чтобы такой скрипт сделать? Заранее спасибо

создаешь файл initServer(хоть в блокноте хоть ещё где)расшерение файла sqf,то же что и у дискрипшен и получиться initServer.sqf...Но работать будет только в онлайне,если в одиночке то можно просто в init.sqf


  • 0

#5 OFFLINE   Вася_клёвый1щ1

Вася_клёвый1щ1

    Рядовой

  • Пользователи
  • 6 posts
  • Откуда:Russia
  • Отряд:Нет отряда

Posted 27 April 2023 - 14:37

Все, понял. Спасибо большое!
  • 0

#6 OFFLINE   Андрей Воробей

Андрей Воробей

    Рядовой

  • Пользователи
  • 1 posts
  • Откуда:Россия
  • Отряд:Grach

Posted 27 April 2023 - 15:08

 

Понял, хорошо, а вот теперь такой вопрос, где находится инициализации сервера, чтобы такой скрипт сделать? Заранее спасибо

создаешь файл initServer(хоть в блокноте хоть ещё где)расшерение файла sqf,то же что и у дискрипшен и получиться initServer.sqf...Но работать будет только в онлайне,если в одиночке то можно просто в init.sqf

 

Я попробовал и мне выдало ошибку в редакторе в одиночке


  • 0

#7 OFFLINE   11Varan11

11Varan11

    Ефрейтор

  • Пользователи
  • 72 posts
  • Откуда:Kostroma

Posted 27 April 2023 - 16:37

 

 

Понял, хорошо, а вот теперь такой вопрос, где находится инициализации сервера, чтобы такой скрипт сделать? Заранее спасибо

создаешь файл initServer(хоть в блокноте хоть ещё где)расшерение файла sqf,то же что и у дискрипшен и получиться initServer.sqf...Но работать будет только в онлайне,если в одиночке то можно просто в init.sqf

 

Я попробовал и мне выдало ошибку в редакторе в одиночке

 

да извиняюсь  лучше так 

battleAmbienceSound = "BattleAmbience" createSoundSource [0, 0, 0]; setSoundSourceRadius _battleAmbienceSound 0; _battleAmbienceSound setSoundParams ["BattleAmbience", 1, 1, 300, 1, 0, [], [], ""];

Этот код создает звуковой источник с именем "battleAmbienceSound" и устанавливает его начальные параметры, чтобы воспроизводить звуковую петлю "BattleAmbience" на всей карте.

Код начинается с использования функции "createSoundSource", которая создает звуковой источник с заданными координатами (0, 0, 0), то есть в центре карты. Затем, функция "setSoundSourceRadius" используется для установки радиуса звукового источника на 0, что означает, что звуковой эффект будет воспроизводиться на всей карте.

Далее, мы используем "setSoundParams" для установки параметров звуковой петли. Здесь мы устанавливаем:

  • имя звука "BattleAmbience"
  • громкость звука 1 (максимальная громкость)
  • дистанцию, на которую звук будет слышен, равной 300 метрам
  • параметры, связанные с пространственным звуковым эффектом (используя ноль для этих параметров)
  • пустые массивы для параметров, связанных с зацикливанием звука
  • флаг "BattleAmbience", который устанавливает зацикливание звука.

В итоге звуковая петля "BattleAmbience" будет воспроизводиться на всей карте в полной громкости, а позиция звукового источника не будет иметь значения.

Чтобы остановить звуковую петлю:
_battleAmbienceSound setSoundParams ["", 0, 0, 0, 0, 0, [], [], ""];


  • 0




Яндекс.Метрика