
Сообщение от
aeros
Ded, минимальная высота считается только на триггерах ворот/шикан. То есть получается(как я думаю) что в момент отработки триггера он "начинает" отслеживать самолет и фиксирует параметры в точке траектории, ближайшей к центру триггера. При этом остальные точки траектории внутри диаметра триггера могут быть на любых высотах без последствий. Вне тириггеров можно летать сколь угодно низко. Это нужно править. В идеале - одним триггером диаметром на всю трассу.
naryv - помогите пожалуйста. Возможно ли одним триггером, или нужно их множество по траектории.
если надо смотреть минимальную высоту на всём протяжении полёта, то можно без триггеров обойтись, добавить в public override void OnTickGame() проверку, вот так:
Код:
public override void OnTickGame()
{
base.OnTickGame();
if (raceStart) // все проверки делаем если гонка начата
{
double curH = playerPlane.getParameter(part.ParameterTypes.Z_AltitudeMSL, -1) ; // проверка минимальной высоты полёта
if (curH < hMin)
{
GamePlay.gpHUDLogCenter(null, "Disqualification ! Height:{0} is too low", new object[] { curH.ToString("f1") }, 30);
InitRace();
return;
}
// дальше всё как было, начиная с double curSpeed = playerPlane.getParameter(part.ParameterTypes.Z_VelocityTAS, -1); // тут считаем среднюю и максимальную скорости
на всём протяжении полёта (после прохождения стартовых ворот) высота будет сравниваться с hMin, если ниже - дисквалификация.