Так...Ну с этой ерундой вроде разобрался (не знаю,правильно ли)
float time=21.40;
int hh=time;
int min=(time-hh)*100;
Interface.Print ("time="+time+" hh="+hh+" min="+min) ;
результат: time=21.40 hh=21 min=39 (интересно,почему min= не 40?)
Задача:пасс из 5 вагонов прибывает на 1 путь.В хвост-прицепка 10 вагонов.Остановиться надо ближе к выходному светофору на триггере "TE2C"
Остановка раньше этого момента должна сопровождаться периодически повторяющимся сообщением информатора (у первой платформы протягивают пассажирский состав),чтобы подсказать игроку,что надо двигаться к светофору.
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));
}
// продолжение программы
Вроде бы логически все верно и компилятор ошибок не выдает,но в игре вылетает ошибка ER_Timeout в строке while (train1.IsStopped()==false) n=1;
|