Jump to content


Photo

Проигрывание своего аудио скриптом


Best Answer vlad333000 , 14 June 2014 - 11:23

Сначало в файле Description.ext прописываешь свой звук/речь (cfgSounds) звук долженбыть в формате .ogg
Затем в нужно скрипте прописываешь строчку:
playSound "Название звука"

 

Description.ext:

class CfgSounds
{
    sounds[] = {};
    class Название звука // имя использующиеся для вызова в скриптах
    {
        // имя звука в редакторе (пример: эффекты в триггере)
        name = "Название звука";
        // путь до звука (относительно файла с миссией), громкость, тон
        sound[] = {"звуки\звук1.ogg", 1, 1};
        // время субтитров (секунды), текст субтитров (если это речь при использовнии команды say)
        titles[] = {1, "бла-бла-бла"};
    };
};

Что бы добавить еще звуки просто в этом же файле еще раз вставляешь строчки с 4 по 12:

class CfgSounds
{
    sounds[] = {};
    class звук1
    {
    };
    class звук2
    {
    };
};
Go to the full post


  • Please log in to reply
63 replies to this topic

#1 OFFLINE   Djon

Djon

    Старшина

  • Пользователи
  • 433 posts

Posted 14 June 2014 - 09:53

Как сделать проигрывание своего аудио, которое должно запускаться скриптом и как сделать, чтоб этих аудио файлов можно было использовать в одной миссии множество. Спасибо за помощь! 


  • 0

#2 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 posts
  • Откуда:Кострома

Posted 14 June 2014 - 11:23   Best Answer

Сначало в файле Description.ext прописываешь свой звук/речь (

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание

) звук долженбыть в формате .ogg
Затем в нужно скрипте прописываешь строчку:

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание

"Название звука"

 

Description.ext:

class CfgSounds
{
    sounds[] = {};
    class Название звука // имя использующиеся для вызова в скриптах
    {
        // имя звука в редакторе (пример: эффекты в триггере)
        name = "Название звука";
        // путь до звука (относительно файла с миссией), громкость, тон
        sound[] = {"звуки\звук1.ogg", 1, 1};
        // время субтитров (секунды), текст субтитров (если это речь при использовнии команды say)
        titles[] = {1, "бла-бла-бла"};
    };
};

Что бы добавить еще звуки просто в этом же файле еще раз вставляешь строчки с 4 по 12:

class CfgSounds
{
    sounds[] = {};
    class звук1
    {
    };
    class звук2
    {
    };
};

Edited by vlad333000, 14 June 2014 - 11:47.

  • 2

#3 OFFLINE   Djon

Djon

    Старшина

  • Пользователи
  • 433 posts

Posted 14 June 2014 - 11:46

Сначало в файле Description.ext прописываешь свой звук/речь (

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание

) звук долженбыть в формате .ogg
Затем в нужно скрипте прописываешь строчку:

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание

"Название музыки"

Огромное спасибо) А в Description.ext можно прописывать сколько угодно аудио файлов? Если да то я так понимаю нужно менять wolf1 на wolf2 и т.д. и прописывать все еще раз? И куда сам файл положить? В папке с игрой создать папку CfgSounds?


  • 0

#4 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 posts
  • Откуда:Кострома

Posted 14 June 2014 - 11:50

 

Сначало в файле Description.ext прописываешь свой звук/речь (

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание

) звук долженбыть в формате .ogg
Затем в нужно скрипте прописываешь строчку:

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание

"Название музыки"

Огромное спасибо) А в Description.ext можно прописывать сколько угодно аудио файлов? Если да то я так понимаю нужно менять wolf1 на wolf2 и т.д. и прописывать все еще раз? И куда сам файл положить? В папке с игрой создать папку CfgSounds?

 

Я обновил свой ответ, посмотри там все обьяснено


  • 1

#5 OFFLINE   Djon

Djon

    Старшина

  • Пользователи
  • 433 posts

Posted 14 June 2014 - 11:57

Спасибо) Теперь все предельно ясно)))


  • 0

#6 OFFLINE   aleksei_544

aleksei_544

    Рядовой

  • Пользователи
  • 12 posts

Posted 18 June 2014 - 00:00

Здравствуйте, хотел бы спросить, может кто сталкивался с такой проблемой как создание звука который проигрывается только для одного игрока, тоесть другие совсем его не слышат. Я пробовал подобным образом проделать это   If(!(Side player ==east)) exitWitch { player play "название звукового файла из дискрипшена"}  , но походу это не то. Заранее спасибо


  • 0

#7 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 posts
  • Откуда:Кострома

Posted 18 June 2014 - 08:29

Здравствуйте, хотел бы спросить, может кто сталкивался с такой проблемой как создание звука который проигрывается только для одного игрока, тоесть другие совсем его не слышат. Я пробовал подобным образом проделать это If(!(Side player ==east)) exitWitch { player play "название звукового файла из дискрипшена"} , но походу это не то. Заранее спасибо

Зачем так мучатся?
В init.sqf пишешь:
Для команды
if (side player == west) then {playMusic name;};
Для игрока
if (player == musicalplayer) then {playMusic name;};

Edited by vlad333000, 18 June 2014 - 17:19.

  • 0

#8 OFFLINE   aleksei_544

aleksei_544

    Рядовой

  • Пользователи
  • 12 posts

Posted 18 June 2014 - 19:52

А musicalplayer это название юнита за которого зашел игрок или команда


  • 0

#9 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 posts
  • Откуда:Кострома

Posted 18 June 2014 - 19:55

А musicalplayer это название юнита за которого зашел игрок или команда

Это типок которому потребовалась твоя музЫчка )

 

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


Edited by vlad333000, 18 June 2014 - 19:56.

  • 0

#10 OFFLINE   aleksei_544

aleksei_544

    Рядовой

  • Пользователи
  • 12 posts

Posted 18 June 2014 - 20:00

Понял, спасибо)


 

 


  • 0

#11 OFFLINE   aleksei_544

aleksei_544

    Рядовой

  • Пользователи
  • 12 posts

Posted 18 June 2014 - 20:43

чет я нахимичил тут, правильно вставил код?                                                                                                                                                                                                                                  
scratch = 0.1; // кол-во урона до "агонии" (макс =1)
stun = 0.0000000000000000000000001; // кол-во урона до оглушения (макс = 1 мин = scratch)
stride = 0.01; // как быстро боец оклимется от стана ( макс = 1- stun; min > 0)
agony = { player playActionNow "agonystart";
player groupChat "ранен!"; _DP2 = damage  player;
waituntil {  _DP2 != damage  player };
    switch  (true)  do {
        case ( damage  player >= stun and  alive player ) : { call enSimtr };
        case ( damage  player < scratch ) : {   player playActionNow "agonystop"; player enableSimulation true;  call  wait;   };
    };  
 };
enSimtr = { player switchMove "AinjPpneMstpSnonWrflDnon";
WaitUntil {animationstate player == "ainjppnemstpsnonwrfldnon"};
null=[]spawn{sleep 0.4; player enableSimulation false;for "_i" from 0 to 0.31 step stride do {        
 if (    damage  player    >= stun ) then {  player setDamage ( damage player - stride ) and playsound "kontyzia" ;
 _a =  ((damage  player - stun )/ stride ) + 1 ; _a = _a - (_a mod 1); titleText [format [ "ОГЛУШЕН осталось %1 сек.", _a*5 ],"BLACK IN",2]; };
 if ( damage  player < stun ) exitWith { };
sleep 5;
 }; };
waituntil {  damage  player  < stun } ; player enableSimulation true; player playActionNow "agonystop"; player setUnconscious false;
switch  (true)  do {
        case ( damage  player >= stun and  alive player ) : {   call  enSimtr    };
        case ( damage  player >= scratch and damage  player < stun and alive player ) : {   call  agony    };
        case ( damage  player < scratch ) : {   player playActionNow "agonystop"; player enableSimulation true;  call  wait;   };
    };  
};
        
wait = {
waituntil {  damage  player >= scratch };
    switch  (true)  do {
        case ( damage  player >= stun and  alive player ) : {   call  enSimtr    };
        case ( damage  player >= scratch and damage  player < stun and alive player ) : {   call  agony    };
        };  
    };
waituntil {  damage  player >= scratch };
call  wait;
 


  • 0

#12 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 posts
  • Откуда:Кострома

Posted 18 June 2014 - 20:47

Вопрос что хотели получить таким образом?
  • 0

#13 OFFLINE   aleksei_544

aleksei_544

    Рядовой

  • Пользователи
  • 12 posts

Posted 18 June 2014 - 20:50

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


  • 0

#14 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 posts
  • Откуда:Кострома

Posted 18 June 2014 - 21:20

If ((damage player) > 0.1) then {
Player groupChat "Ранен!";
PlaySound "sound";
For "_i" from 30 to 0 steep -1 do {
Player SwitchMove "анимация ранения";
Hint format ["осталось %1 секунд",_i];
Sleep 1;
};
Player PlayMove "анимация вставания";
Hitn "you live!";
};
Моя импровизация, возможны косяки с анимацией
  • 0

#15 OFFLINE   Djon

Djon

    Старшина

  • Пользователи
  • 433 posts

Posted 19 June 2014 - 00:31

А возможно источником звук


  • 0

#16 OFFLINE   aleksei_544

aleksei_544

    Рядовой

  • Пользователи
  • 12 posts

Posted 19 June 2014 - 00:46

А возможно источником звук

имя обьекта play sound3d "имя звукового файла", громкость регулируется в дискрипшине


  • 0

#17 OFFLINE   Djon

Djon

    Старшина

  • Пользователи
  • 433 posts

Posted 19 June 2014 - 10:27

 

А возможно источником звук

имя обьекта play sound3d "имя звукового файла", громкость регулируется в дискрипшине

 

Благодарю, что поняли мысль по не дописанному предложению, очень плохой инет и не прогрузился целиком вопрос. Я так понял звук будет исходить допустим от б!u043Eта даже если он движется и все будет работать как надо?


  • 1

#18 OFFLINE   Djon

Djon

    Старшина

  • Пользователи
  • 433 posts

Posted 19 June 2014 - 15:39

 

А возможно источником звук

имя обьекта play sound3d "имя звукового файла", громкость регулируется в дискрипшине

 

В таком виде

unit play sound3d "music";

Выдает ошибки ну да ладно, пишется с точки синтаксиса правильно так:

playsound3d ["music",unit4];

Но и это не работает, хотя и ошибок не выдает.

Вот этот пример 

playSound3D ["A3\Sounds_F\sfx\blip1.wav",

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание

]

Если дословно выполнять, то нужно ссылки от A3 до файла звука?

И еще вот этот wav момент смущает, формат не ogg должен быть?

 

Содержимое Дескрипшена:

class CfgSounds
{
    sounds[] = {};
    class music
    {
        name = "music";
        sound[] = {"sound\music.ogg", 1, 1};
        titles[] = {1, "Текст"};
    };
    class music1
    {
        name = "music1";
        sound[] = {"sound\music1.ogg", 1, 1};
        titles[] = {1, "Текст"};
    };
};
Может где то накосячил я?
 
Я так понял эта функция использует только стандартные #7вуки%2åa520и что бы засун$3ть тåA443да собственный звук то собственно нужно распаковывать файлы аддо#Dов, мåенять звук на свой к пример%u вот %2åA5u044Dтот A3\Sounds_F\sfx\blip1.wav и и надеяться безнад%u0436но нåAадеяться, что Арма будет работать как раньше)

Edited by Djon, 19 June 2014 - 18:42.

  • 0

#19 OFFLINE   Djon

Djon

    Старшина

  • Пользователи
  • 433 posts

Posted 19 June 2014 - 18:38

Много тем тут прочитал и кучу функций перелапатил, по ходу закрепить за ботом источник звука не возможно(((


  • 0

#20 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 posts
  • Откуда:РФ

Posted 19 June 2014 - 18:38

class music
    {
        name = "music";

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


Много тем тут прочитал и кучу функций перелапатил, по ходу закрепить за ботом источник звука не возможно(((

Возможно, позже выложу


  • 0




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