Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Need help?

    Create a topic in the appropriate section
    Don't write everything in the chat!
  • Take a look at the marketplace

    There you can buy
    everything related to game servers
  • Don't want a ban?

    Please read our rules
    Don't disturb the order!
  • Sell or buy?

    Use services of the guarantor
    We will make your deal safe
  • 0
NickPS

Музыка в сейфзонах (радио).

Собственно задался вопросом как реализовать эту возможность.

Чем ближе игрок к сейф-зоне, тем громче музыка.

Желательно привязать это дело к какому-нибудь объекту, который можно поставить в сейфзоне.

Может быть кто-то видел похожий скрипт?

Share this post


Link to post
Share on other sites

9 answers to this question

Recommended Posts

  • 0
Пример местоположения скрипта спавна вехайлов:
\dayz_server\missions\Server_mission_HaPoDHa9I_CoJI9IHKa_3.Taviana\new_trade_city_stalker_style.sqf
Желтый и красный текст скорее всего у тебя свой, красный скорее всего - mission.sqf, а желтый - DayZ_Epoch_13.Taviana, путь дан от архива dayz_server, из папки @Server_HaPoDHa9I_CoJI9IHKa_3_Taviana, лежащей в корне армы, у тебя папка скорее всего зовется @DayZ_Epoch_Server
Вот пример кода:
_vehicle_428 = objNull;
if (true) then {
    [] spawn {
        _this = createVehicle ["MAP_radio_b", [15078.96, 5467.8955, 1.3736283], [], 0, "CAN_COLLIDE"];
        _vehicle_428 = _this;
        _this setDir -267.52289;
        _this setPos [15078.96, 5467.8955, 1.3736283];
        while {true} do {
            [objNull, _this, rSAY, "music_radio_bunker", 30] call RE;
            sleep 71;
        };
    };
};

По rSAY call RE:

_this - исполнящий разговорную речь юнит (в моем случае радио)

music_radio_bunker - класс звука из дискрипшона (в моем случае песня играющая в бункере сидоровича при спавне в SOC)

sleep 71 - длительность трека в сек. (репит, повторение трека по окончании)

30 - вроде бы где-то читал что громкость (дальность слышимости звука)

По description.ext (добавляем звук в миссию):

Ищешь класс CfgSounds, нету создаешь, в нем в массив sounds добавляешь класснейм звука который будешь использовать, допустим muzika_0, после чего создаешь в классе CfgSounds, класс звука с тем же названием что в массиве т.е. muzika_0 (ниже массива sounds), указываешь имя (которое никому в пизду не сдалось) путь к звуку, после чего идут цифры отвечает одна за громкость, 2-ая не помню, и тайтлес (тоже не кому нахуй не нужен) но ты на всякий заполни их, усе, радуйся  :smile:

class CfgSounds {
     sounds[] = {
          muzika_0 
     };
     class muzika_0 {
          name = "muzika_0";
          sound[] = {sounds\muzika_0.ogg,1,1};
          titles[] = {};
     };
};
Edited by hekut144 (see edit history)

Share this post


Link to post
Share on other sites





  • 0

Заспавни обьект на трейд зоне, и командой rSAY проиграй звук от него, если нужно репитнуть - цикл + слип, у меня в моде на основе данной команды так на трейде сталкеры с гитарами, играет музыка рандомная (из сталкеров), анекдоты травят и смеются по их окончанию, если нужен локальный то не получится увеличивать громкость при приближении (playSound)

Edited by hekut144 (see edit history)

Share this post


Link to post
Share on other sites
  • 0

Заспавни обьект на трейд зоне, и командой rSAY проиграй звук от него, если нужно репитнуть - цикл + слип, у меня в моде на основе данной команды так на трейде сталкеры с гитарами, играет музыка рандомная (из сталкеров), анекдоты травят и смеются по их окончанию, если нужен локальный то не получится увеличивать громкость при приближении (playSound)

 

А не мог бы рассказать как это сделать, может кусок кода скинуть, я в этом деле профан. Мне достаточно будет, чтобы просто музыка играла.

Share this post


Link to post
Share on other sites
  • 0

Встану, скину код, вообщем идёшь в серверный скрипт спауна вехайлов (где юниты и интерьер трейдов) создаешь какую нибудь фигню допустим MAP_radio_b (вроде так) присваиваешь ей переменную, используешь команду rSay указывая юнита, класс звука и дальность (аля громкость) оборачиваешь в цикл и делаешь слип на н-ое кол-во сек (длину трека в секундах) или больше дабы было молчание после проигрывания

Edited by hekut144 (see edit history)

Share this post


Link to post
Share on other sites
  • 0

Встану, скину код, вообщем идёшь в серверный скрипт спауна вехайлов (где юниты и интерьер трейдов) создаешь какую нибудь фигню допустим MAP_radio_b (вроде так) присваиваешь ей переменную, используешь команду rSay указывая юнита, класс звука и дальность (аля громкость) оборачиваешь в цикл и делаешь слип на н-ое кол-во сек (длину трека в секундах) или больше дабы было молчание после проигрывания

 

Буду ждать с нетерпением, т.к. на "серверном скрипте спауна вехайлов" я уже застрял.  :laugh:

Share this post


Link to post
Share on other sites
  • 0

 

Пример местоположения скрипта спавна вехайлов:
\dayz_server\missions\Server_mission_HaPoDHa9I_CoJI9IHKa_3.Taviana\new_trade_city_stalker_style.sqf
Желтый и красный текст скорее всего у тебя свой, красный скорее всего - mission.sqf, а желтый - DayZ_Epoch_13.Taviana, путь дан от архива dayz_server, из папки @Server_HaPoDHa9I_CoJI9IHKa_3_Taviana, лежащей в корне армы, у тебя папка скорее всего зовется @DayZ_Epoch_Server
Вот пример кода:
_vehicle_428 = objNull;
if (true) then {
    [] spawn {
        _this = createVehicle ["MAP_radio_b", [15078.96, 5467.8955, 1.3736283], [], 0, "CAN_COLLIDE"];
        _vehicle_428 = _this;
        _this setDir -267.52289;
        _this setPos [15078.96, 5467.8955, 1.3736283];
        while {true} do {
            [objNull, _this, rSAY, "music_radio_bunker", 30] call RE;
            sleep 71;
        };
    };
};

По rSAY call RE:

_this - исполнящий разговорную речь юнит (в моем случае радио)

music_radio_bunker - класс звука из дискрипшона (в моем случае песня играющая в бункере сидоровича при спавне в SOC)

sleep 71 - длительность трека в сек. (репит, повторение трека по окончании)

30 - вроде бы где-то читал что громкость (дальность слышимости звука)

По description.ext (добавляем звук в миссию):

Ищешь класс CfgSounds, нету создаешь, в нем в массив sounds добавляешь класснейм звука который будешь использовать, допустим muzika_0, после чего создаешь в классе CfgSounds, класс звука с тем же названием что в массиве т.е. muzika_0 (ниже массива sounds), указываешь имя (которое никому в пизду не сдалось) путь к звуку, после чего идут цифры отвечает одна за громкость, 2-ая не помню, и тайтлес (тоже не кому нахуй не нужен) но ты на всякий заполни их, усе, радуйся  :smile:

class CfgSounds {
     sounds[] = {
          muzika_0 
     };
     class muzika_0 {
          name = "muzika_0";
          sound[] = {sounds\muzika_0.ogg,1,1};
          titles[] = {};
     };
};

 

Подскажи еще один вопрос. Как сделать, чтобы проигрывалось несколько треков, а после по кругу шло?

 

Как попробовал я и ничего не получилось. =)

_vehicle_428 = objNull;
if (true) then 
	{
		[] spawn 
		{
			_this = createVehicle ["MAP_radio_b", [8251.9, 15494.4, 0.91400248], [], 0, "CAN_COLLIDE"];
			_vehicle_428 = _this;
			_this setDir -267.52289;
			_this setPos [8251.9, 15494.4, 0.91400248];
			while {true} do 
			{
				[objNull, _this, rSAY, "Track01", 30] call RE;
				sleep 240;
				[objNull, _this, rSAY, "Track02", 30] call RE;
				sleep 480;
				[objNull, _this, rSAY, "Guitar01", 30] call RE;
				sleep 240;
				[objNull, _this, rSAY, "Guitar02", 30] call RE;
				sleep 240;
				[objNull, _this, rSAY, "Guitar03", 30] call RE;
				sleep 240;
				[objNull, _this, rSAY, "Guitar04", 30] call RE;
				sleep 240;
				[objNull, _this, rSAY, "Guitar05", 30] call RE;
				sleep 240;
				[objNull, _this, rSAY, "Guitar06", 30] call RE;
				sleep 240;
				[objNull, _this, rSAY, "Guitar07", 30] call RE;
				sleep 240;
				[objNull, _this, rSAY, "Guitar08", 30] call RE;
				sleep 240;
				[objNull, _this, rSAY, "Guitar09", 30] call RE;
				sleep 240;
			};
		};
	};

Share this post


Link to post
Share on other sites
  • 0

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

Edited by hekut144 (see edit history)

Share this post


Link to post
Share on other sites
  • 0

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

 

А как это реализовать в моем случае? Я кодить вообще не умею. Только основные правила знаю.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site, you automaticly agree to our Guidelines and Privacy Policy.
We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.