For your random soundscape, use a simple switch function. In your OnStart() put this:
AddTimer("soundscape_start", RandInt(10,20), "SoundScape");
Add any number of areas around your map and index them, meaning name them soundarea_1, soundarea_2, soundarea_3, etc. Now you create your SoundScape function.
void SoundScape(string &in asTimer)
{
switch(RandInt(1,4)) {
case 1:
PlaySoundAtEntity("", "soundfile1.snt", "soundarea_"+RandInt(1,10), 0, false);
break;
case 2:
PlaySoundAtEntity("", "soundfile2.snt", "soundarea_"+RandInt(1,10), 0, false);
break;
case 3:
PlaySoundAtEntity("", "soundfile3.snt", "soundarea_"+RandInt(1,10), 0, false);
break;
case 4:
PlaySoundAtEntity("", "soundfile4.snt", "soundarea_"+RandInt(1,10), 0, false);
break;
}
AddTimer("soundscape_reloop", RandInt(10,20), "SoundScape");
}
//change the RandInt(1,10) to however many areas you have. If you have 10 areas make it 1,10; if you have 20 make it 1,20 etc. You can change the frequency of the sounds by altering the timer duration under each case.