Well the Doonce in the script may be clamping the effect off before you hear it play.
Sometimes you may not necessarily hear sounds played via scripting each and every time you call them for various reasons related to the sound card and how busy your CPU is. So you need a reset on the trigger to undo the Doonce just for testing this.
Just to TEST this try:
short doOncebegin OnTriggerActor player if doOnce == 0 && player.issneaking == 0 set doOnce to 1 playSound mySoundObject endifendBegin Gamemode if Doonce == 1 && player.issneaking == 1 set Doonce to 0 endifend
NOW for this test walk into the zone, if you do not hear the sound crouch down into SNEAK and then UN- crouch out of sneak to reset the script for another try at hearing the sound.
Do this a few times to be sure.
If this works then we know something is blocking the sound from playing the first time. If it does not work then we need to look at the possibility you are not actually IN the trigger zone. Because it is not visible in the game you cannot be sure where it is at in the game. Also did your make a NEW trigger zone with its own FormID or did you just drag an exsiting one into the cell window in the CS?
You should be making a new one not using a drag and drop copy of the vanilla base object.
I made a trigger using your script but nothing happens when I walk through the trigger zone, Thanks for the info tho, now I know im on the right track.