i believe sound is a handle, therefore this code has a memory leak; also, ClearTextMessages() will clear all displayed text, so say for instance you are given a QUEST instruction and then you have an error, it will clear the instruction.
SimError
not ratedLets you create a realistic looking error message. Looks almost exactly like real error messages, except that the change in y is ignored by DisplayTimedTextToPlayer, so it's a little higher than it should be.