here you are:
void OnStart(){AddEntityCollideCallback("Player", "areaenter", "areaenter", true, 1);}
void areaenter(string &in asParent, string &in asChild, int alState){ FadeOut(5); PlaySoundAtEntity("", "react_sigh.snt", "Player", 0, false); }
well thats it as you can see sound start as you enter area so if you want it to start later use Timer command.. change number in fadeout if you want to change black screen duration time..
AddEntityCollideCallback("Player", "areaenter", "areaenter", true, 1);} - if player touch script area which is called areaenter..
void areaenter - this is fuction which happens after touching it
PlaySoundAtEntity - play sound at player position or anywhere else where u want you change script also you can change sound ..
for changing map use this inside void Onstart:
AddEntityCollideCallback("Player", "areaenter", "areaenter", true, 1);
for changing put this script inside areaenter void:
ChangeMap("MAPNAME", "NAMEOFSTARTPOSITION", "STARTSOUND.ogg", "ENDSOUND.ogg");