I'm rather new to the scripting, but I can give it a whirl.
I have a script that displays the objectives of a level. May not be as good as other scripters could create, but for a first attempt it works great for us.
;Artificial Intelligence Script
;Header
desc = Level 1 Objective 01 (Infiltrate Outpost-2)
;Triggers
:state=0:hudreset,hudx=50,hudy=30,hudimagefine=gamecoretextimp_df_l1obj01.tga,hudname=l1obj01,hudhide=1,hudmake=display,state=10
:state=10,plrdistwithin=60:hudshow=l1obj01,hudfadeout=l1obj01
:state=10,plrdistwithin=60,plrusingaction=1:activate=2
:state=10,activated=2:state=1,setframe=0,sound=$0
:state=1:incframe=0
:state=1,frameatend=0:state=2,coloff
:state=2,plrdistwithin=60,plrusingaction=1:activate=0
:state=2,activated=0:state=3,sound=$1,colon
:state=3:decframe=0
:state=3,frameatstart=0:state=10,setframe=0
;End of Script
Then I create a trigger zone right in front of where the player will spawn at the start. When they hit the zone, the objectives display. In the settings for the trigger zone, I specified a sound file.
Note the hudimagefine label points to the hud you are using.
If you give hudname label the name objectives, then also give that name to hudshow and hudfadeout labels. You can see from my script I use l1obj01 which tells me it's the level 1 objectives.
I hope that helps or makes sense.