So im trying to get music to play at random on my server. I can somewhat get it to play via client side, but the music files make the mission like 20+ mb
So i want to make it server side.
here is the code I have so far, but being that ive gotten it from other forums and originally was for arma 2, 2 functions are not working.
under @epochhive\addons I have my pbo file
ambients.pbo
in that pbo i have samples folder with my music ogg files
in the root of the pbo i have my init.sqf with the code
[spoiler]
if (!isDedicated) then {
private ["_sound","_length","_pause","_enableAmbient","_minWaitTime","_maxWaitTime","_musicArray","_waitTimeDifference","_randomWait"];
// Enable Ambient music? true/false
_enableAmbient = true;
waitUntil {alive vehicle player};
waitUntil {typeOF player != "VirtualMan_EPOCH"};
if (_enableAmbient) then {
// Minimum amount of time before running the next track (in seconds)
// Default for my script is 10 minutes. (600 seconds)
// Must be less than the maximum wait time.
_minWaitTime = 120;
// Maximum amount of time before running the next track (in seconds)
// Default for my script is 30 minutes. (1800 seconds)
// Must be more than the maximum wait time.
_maxWaitTime = 900;
// The array of your ambient tracks. These must match the class of a
// cfgMusic entry either in the default DayZ cfgMusic or Description.ext
// In your Mission.pbo. (Example: class bombs)
// It will choose a random track from this array.
_musicArray = ["Misc_strange_wind","stinger_0","stinger_1","suspense_0","suspense_1","suspense_2","suspense_3","suspense_4","suspense_5","suspense_6","suspense_7","suspense_8","suspense_9","suspense_10","suspense_11","suspense_12","suspense_13","suspense_14","suspense_15","suspense_16","suspense_17","suspense_18","suspense_19","suspense_20","suspense_21","suspense_22","suspense_23","suspense_24","suspense_25","suspense_26","suspense_27","suspense_28","suspense_29","suspense_30","suspense_31","suspense_32","suspense_33","suspense_34","suspense_35"];
// Pick a sound
_sound = _musicArray select floor random count _musicArray;
// Get it's length from the cfgMusic/Description.ext
_length = getNumber(configFile >> "cfgMusic" >> _sound >> "Duration");
// Lets figure out the random wait time
_waitTimeDifference = ((_maxWaitTime) - (_minWaitTime));
_randomWait = (random (_waitTimeDifference));
_pause = (_randomWait) + (_length);
// Play the song
if (!r_player_unconscious and !r_pitchWhine) then {
playMusic _sound;
};
// Let the script sleep the song length and the random amount of time
sleep _pause;
};
};
in my pbo file i also have my config.cpp with
class cfgMusic {
tracks [] = {"Misc_strange_wind", "stinger_0", "stinger_1", "suspense_0", "suspense_1", "suspense_2", "suspense_3", "suspense_4", "suspense_5", "suspense_6", "suspense_7", "suspense_8", "suspense_9", "suspense_10", "suspense_11", "suspense_12", "suspense_13", "suspense_14", "suspense_15", "suspense_16", "suspense_17", "suspense_18", "suspense_19", "suspense_20", "suspense_21", "suspense_22", "suspense_23", "suspense_24", "suspense_25", "suspense_26", "suspense_27", "suspense_28", "suspense_29", "suspense_30", "suspense_31", "suspense_32", "suspense_33", "suspense_34", "suspense_35"};
class Misc_strange_wind {
name = "Misc_strange_wind";
sound [] = {"\ambients\samples\fx_misc4.ogg", 1.000000, 1.000000};
duration = 25;
};
class stinger_0 {
name = "stinger_0";
sound [] = {"\ambients\samples\stinger_0.ogg", 1.000000, 1.000000};
duration = 27;
};
class stinger_1 {
name = "stinger_1";
sound [] = {"\ambients\samples\stinger_1.ogg", 1.000000, 1.000000};
duration = 19;
};
class suspense_0 {
name = "suspense_0";
sound [] = {"\ambients\samples\suspense_0.ogg", 1.000000, 1.000000};
duration = 17;
};
class suspense_1 {
name = "suspense_1";
sound [] = {"\ambients\samples\suspense_1.ogg", 1.000000, 1.000000};
duration = 13;
};
class suspense_2 {
name = "suspense_2";
sound [] = {"\ambients\samples\suspense_2.ogg", 1.000000, 1.000000};
duration = 14;
};
class suspense_3 {
name = "suspense_3";
sound [] = {"\ambients\samples\suspense_3.ogg", 1.000000, 1.000000};
duration = 16;
};
class suspense_4 {
name = "suspense_4";
sound [] = {"\ambients\samples\suspense_4.ogg", 1.000000, 1.000000};
duration = 13;
};
class suspense_5 {
name = "suspense_5";
sound [] = {"\ambients\samples\suspense_5.ogg", 1.000000, 1.000000};
duration = 15;
};
class suspense_6 {
name = "suspense_6";
sound [] = {"\ambients\samples\suspense_6.ogg", 1.000000, 1.000000};
duration = 22;
};
class suspense_7 {
name = "suspense_7";
sound [] = {"\ambients\samples\suspense_7.ogg", 1.000000, 1.000000};
duration = 17;
};
class suspense_8 {
name = "suspense_8";
sound [] = {"\ambients\samples\suspense_8.ogg", 1.000000, 1.000000};
duration = 24;
};
class suspense_9 {
name = "suspense_9";
sound [] = {"\ambients\samples\suspense_9.ogg", 1.000000, 1.000000};
duration = 18;
};
class suspense_10 {
name = "suspense_10";
sound [] = {"\ambients\samples\suspense_10.ogg", 1.000000, 1.000000};
duration = 14;
};
class suspense_11 {
name = "suspense_11";
sound [] = {"\ambients\samples\suspense_11.ogg", 1.000000, 1.000000};
duration = 15;
};
class suspense_12 {
name = "suspense_12";
sound [] = {"\ambients\samples\suspense_12.ogg", 1.000000, 1.000000};
duration = 15;
};
class suspense_13 {
name = "suspense_13";
sound [] = {"\ambients\samples\suspense_13.ogg", 1.000000, 1.000000};
duration = 12;
};
class suspense_14 {
name = "suspense_14";
sound [] = {"\ambients\samples\suspense_14.ogg", 1.000000, 1.000000};
duration = 6;
};
class suspense_15 {
name = "suspense_15";
sound [] = {"\ambients\samples\suspense_15.ogg", 1.000000, 1.000000};
duration = 23;
};
class suspense_16 {
name = "suspense_16";
sound [] = {"\ambients\samples\suspense_16.ogg", 1.000000, 1.000000};
duration = 17;
};
class suspense_17 {
name = "suspense_17";
sound [] = {"\ambients\samples\suspense_17.ogg", 1.000000, 1.000000};
duration = 28;
};
class suspense_18 {
name = "suspense_18";
sound [] = {"\ambients\samples\suspense_18.ogg", 1.000000, 1.000000};
duration = 13;
};
class suspense_19 {
name = "suspense_19";
sound [] = {"\ambients\samples\suspense_19.ogg", 1.000000, 1.000000};
duration = 17;
};
class suspense_20 {
name = "suspense_20";
sound [] = {"\ambients\samples\suspense_20.ogg", 1.000000, 1.000000};
duration = 65;
};
class suspense_21 {
name = "suspense_21";
sound [] = {"\ambients\samples\suspense_21.ogg", 1.000000, 1.000000};
duration = 89;
};
class suspense_22 {
name = "suspense_22";
sound [] = {"\ambients\samples\suspense_22.ogg", 1.000000, 1.000000};
duration = 44;
};
class suspense_23 {
name = "suspense_23";
sound [] = {"\ambients\samples\suspense_23.ogg", 1.000000, 1.000000};
duration = 59;
};
class suspense_24 {
name = "suspense_24";
sound [] = {"\ambients\samples\suspense_24.ogg", 1.000000, 1.000000};
duration = 52;
};
class suspense_25 {
name = "suspense_25";
sound [] = {"\ambients\samples\suspense_25.ogg", 1.000000, 1.000000};
duration = 52;
};
class suspense_26 {
name = "suspense_26";
sound [] = {"\ambients\samples\suspense_26.ogg", 1.000000, 1.000000};
duration = 158;
};
class suspense_27 {
name = "suspense_27";
sound [] = {"\ambients\samples\suspense_27.ogg", 1.000000, 1.000000};
duration = 130;
};
class suspense_28 {
name = "suspense_28";
sound [] = {"\ambients\samples\suspense_28.ogg", 1.000000, 1.000000};
duration = 116;
};
class suspense_29 {
name = "suspense_29";
sound [] = {"\ambients\samples\suspense_29.ogg", 1.000000, 1.000000};
duration = 129;
};
class suspense_30 {
name = "suspense_30";
sound [] = {"\ambients\samples\suspense_30.ogg", 1.000000, 1.000000};
duration = 117;
};
class suspense_31 {
name = "suspense_31";
sound [] = {"\ambients\samples\suspense_31.ogg", 1.000000, 1.000000};
duration = 33;
};
class suspense_32 {
name = "suspense_32";
sound [] = {"\ambients\samples\suspense_32.ogg", 1.000000, 1.000000};
duration = 29;
};
class suspense_33 {
name = "suspense_33";
sound [] = {"\ambients\samples\suspense_33.ogg", 1.000000, 1.000000};
duration = 14;
};
class suspense_34 {
name = "suspense_34";
sound [] = {"\ambients\samples\suspense_34.ogg", 1.000000, 1.000000};
duration = 15;
};
class suspense_35 {
name = "suspense_35";
sound [] = {"\ambients\samples\suspense_35.ogg", 1.000000, 1.000000};
duration = 20;
};
};
in my mission init.sqf i call on the pbo's init.sqf
execVM "\q\addons\ambients\init.sqf";
am I forgetting anything?
and finally
// Play the song
if (!r_player_unconscious and !r_pitchWhine) then {
playMusic _sound;
};
instead of
(!r_player_unconscious and !r_pitchWhine) what would you recommend i use as a trigger? this is what is used in arma 2, but could not find these in arma 3 epoch code anywhere.
Question
tinboye
So im trying to get music to play at random on my server. I can somewhat get it to play via client side, but the music files make the mission like 20+ mb
So i want to make it server side.
here is the code I have so far, but being that ive gotten it from other forums and originally was for arma 2, 2 functions are not working.
under @epochhive\addons I have my pbo file
ambients.pbo
in that pbo i have samples folder with my music ogg files
in the root of the pbo i have my init.sqf with the code
in my pbo file i also have my config.cpp with
in my mission init.sqf i call on the pbo's init.sqf
execVM "\q\addons\ambients\init.sqf";
am I forgetting anything?
and finally
instead of
Edited by tinboyeLink to comment
Share on other sites
11 answers to this question
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now