логически неверно. Ты скобки неверно поставил.
int n=0;
while(n<2)
{
while (train1.IsStopped()==false)
{
n=1;
Sleep (Math.Rand(2,5));
}
if ( Navigate.OnTrigger(me,train1,"TE2C",Navigate.TRIGG ER_ENTER))
n=3;
if (n==1)
Sleep (World.Play2DSound(SCN_dir, "ob_na_vokz_118"+".mp3"));
Sleep (Math.Rand(5,10));
}