Спасибо
Попробовал втиснуть в код. В итоге вылазит ошибка в игре и ничего не считается.
System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта.
Server stack trace:
в Mission.OnBattleStarted() в c:\...\race.cs:строка 22
Понимаю что надо как-то связать переменную Stat с моим объектом в игре через его имя (Static0)
Сделал так: Stat = GamePlay.gpActorByName("Static0") as AiActor;
Результат нулевой.
Код://$debug using maddox.game; using maddox.game.world; using maddox.GP; using System.Collections.Generic; using Math = System.Math; public class Mission : AMission { bool raseStart = false; AiAircraft playerPlane; AiActor Stat; double dis2; public override void OnBattleStarted() { base.OnBattleStarted(); MissionNumberListener = -1; Stat = GamePlay.gpActorByName("Static0") as AiActor; // это уже от себя дописал Point3d pos = Stat.Pos(); // вот на эту строку ругается if (GamePlay.gpPlayer().Place() is AiAircraft) playerPlane = GamePlay.gpPlayer().Place() as AiAircraft; double distance = playerPlane.Pos().distance(ref pos); dis2 = distance; } public override void OnTickGame() { base.OnTickGame(); GamePlay.gpHUDLogCenter(null, "расстояние равно{0}", new object[] {(dis2).ToString("f2")}); if (raseStart) { double Scorost = playerPlane.getParameter(part.ParameterTypes.Z_VelocityTAS, -1); GamePlay.gpHUDLogCenter(null, "Скорость равна: {0}", new object[] { (Scorost * 3.6).ToString("f2") }); } }