Перейти к содержимому


Фотография

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


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 6

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

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

    Рядовой

  • Пользователи
  • 6 сообщений
  • Откуда:Russia
  • Отряд:Нет отряда

Отправлено 21 April 2023 - 08:27

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

#2 OFFLINE   11Varan11

11Varan11

    Ефрейтор

  • Пользователи
  • 64 сообщений
  • Откуда:Kostroma

Отправлено 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 сообщений
  • Откуда:Russia
  • Отряд:Нет отряда

Отправлено 27 April 2023 - 11:37

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

Сообщение отредактировал Вася_клёвый1щ1: 27 April 2023 - 11:38

  • 0

#4 OFFLINE   11Varan11

11Varan11

    Ефрейтор

  • Пользователи
  • 64 сообщений
  • Откуда:Kostroma

Отправлено 27 April 2023 - 14:36

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

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


  • 0

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

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

    Рядовой

  • Пользователи
  • 6 сообщений
  • Откуда:Russia
  • Отряд:Нет отряда

Отправлено 27 April 2023 - 14:37

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

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

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

    Рядовой

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

Отправлено 27 April 2023 - 15:08

 

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

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

 

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


  • 0

#7 OFFLINE   11Varan11

11Varan11

    Ефрейтор

  • Пользователи
  • 64 сообщений
  • Откуда:Kostroma

Отправлено 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




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