Advertisement
JackFighter

CUP Dynamic Ambient Script

Jul 31st, 2021
611
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQF 3.18 KB | None | 0 0
  1. // CUP Dynamic Ambient Music script by JackFighter
  2. // Definition of tracks
  3. actionAmbient =
  4. [
  5.     "CUP_A2_Insertion",
  6.     ["CUP_A2_Reinforcements", 24],
  7.     ["CUP_A2_Warpath", 30],
  8.     "CUP_A2_Harvest_Red",
  9.     "CUP_A2_Movement_To_Contact",
  10.     "CUP_A2_Logistics",
  11.     "CUP_A2_Large_Scale_Assault",
  12.     ["CUP_A2_The_Movement", 22],
  13.     "CUP_A2_Close_Quarter_Combat",
  14.     "CUP_A2_Morning_Sortie",
  15.     ["CUP_A2_Marauder_Song", 23],
  16.     "CUP_A2_Indian_Summer",
  17.     "CUP_A2_Electronic_Warfare",
  18.     "CUP_A2_Khe_Sanh_Riff",
  19.     "CUP_A2_Manhattan",
  20.     "CUP_A2EWEW_All_Helll_Breaks_Loose",
  21.     "CUP_A2EWEW_ToWar",
  22.     "CUP_A2OA_Arrowhead",
  23.     "CUP_A2OA_Arrowhead_D",
  24.     "CUP_A2OA_Good_Morning_TStan",
  25.     "CUP_A2OA_Airborne_D",
  26.     "CUP_A2OA_Zargabad_Market",
  27.     "CUP_A2OA_Coltan_Blues",
  28.     "CUP_A2OA_Coltan_Blues_D",
  29.     "CUP_A2OA_Dancing_Scimitar",
  30.     "CUP_A2OA_Death_From_Above",
  31.     "CUP_A2OA_Night_Visions",
  32.     "CUP_A2OA_Crude_Oil",
  33.     "CUP_A2OA_Iron_Mountain_D1",
  34.     "CUP_A2OA_Iron_Mountain_D2"
  35. ];
  36.  
  37. dayCalmAmbient =
  38. [
  39.     "CUP_A2_Dead_Forest",
  40.     "CUP_A2_Abandoned_Battlespace",
  41.     "CUP_A2_Last_Men_Standing",
  42.     "CUP_A2_Sharping_Knives",
  43.     "CUP_A2_Valentine",
  44.     "CUP_A2_Badlands",
  45.     "CUP_A2_Ghost_Waltz",
  46.     "CUP_A2_Rise_Of_The_Fallen",
  47.     "CUP_A2_Vague_Shapes",
  48.     "CUP_A2_Reforger",
  49.     "CUP_A2OA_Arrival",
  50.     "CUP_A2OA_Airborne",
  51.     "CUP_A2OA_Nightlife",
  52.     "CUP_A2OA_Revolver_Jam",
  53.     "CUP_A2OA_Iron_Mountain",
  54.     "CUP_A2OA_Iron_Mountain_V",
  55.     "CUP_A2OA_Concrete_Cell",
  56.     "CUP_A2PMC_Ghosttown",
  57.     "CUP_A2PMC_NoMansLand"
  58. ];
  59.  
  60. nightCalmAmbient =
  61. [
  62.     "CUP_A2EWEW_DEFCON",
  63.     "CUP_A2EWEW_Fallout",
  64.     "CUP_A2EWEW_MAD",
  65.     "CUP_A2EWEW_Sky_Net",
  66.     "CUP_A2EWEW_Wasteland"
  67. ];
  68.  
  69. //Script itself
  70. detectionBoolean = false;
  71. musicBooleanStop = false;
  72. addMusicEventHandler ["MusicStop", {musicBooleanStop = true}];
  73.  
  74. [] spawn {
  75. scopeName "checkingLoop",
  76. while {true} do
  77.     {
  78.         detectionBoolean = true;
  79.         _closestEnemy = player findNearestEnemy player;
  80.         _distanceToClosestEnemy = player distance2D _closestEnemy;
  81.         _enemyAwareness = opfor knowsAbout player; // <----------------------------------could be blufor, opfor or independent
  82.         if (_enemyAwareness > 1.495 and _distanceToClosestEnemy < 650) then {detectionBoolean = true;} else {detectionBoolean = false;};
  83.         sleep 0.5;
  84.     };
  85. };
  86.  
  87. [] spawn {
  88. scopeName "ambientLoop",
  89.     while {true} do {
  90.         _randomCalmDay = selectRandom dayCalmAmbient;
  91.         _randomCalmNight = selectRandom nightCalmAmbient;
  92.         _randomAction = selectRandom actionAmbient;
  93.             3 fadeMusic 1;
  94.         if (dayTime < 19) then {playMusic _randomCalmDay;} else {playMusic _randomCalmNight;};
  95.         waitUntil {detectionBoolean isEqualTo true or musicBooleanStop isEqualTo true};
  96.         if (musicBooleanStop isEqualTo true) then {musicBooleanStop = false};
  97.         if (detectionBoolean isEqualTo true) then {
  98.             scopeName "actionLoop",
  99.             while {true} do {
  100.                 3 fadeMusic 1;
  101.                 playMusic _randomAction;
  102.                 sleep 4;
  103.                 waitUntil {detectionBoolean isEqualTo false or musicBooleanStop isEqualTo true};
  104.                 if (musicBooleanStop isEqualTo true) then {musicBooleanStop = false};              
  105.                 sleep 0.5;
  106.                     3 fadeMusic 0;
  107.                     sleep 3;
  108.                 _randomAction = selectRandom actionAmbient;
  109.                 if (detectionBoolean isEqualTo false) then {breakOut "ActionLoop",};
  110.             };
  111.             sleep 0.5;
  112.         };
  113.         sleep 0.5;
  114.     };
  115. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement