Не-не-не!!! Сори!
Я этой функцией вывода вспомогательного сообщения, только ввел вас в заблуждение.
Все! Забыли про Sss("Удалили красную зену: " + actorName); Дело вовсе не в этом. Ошибка есть так или иначе. Вот код без этой функции и ошибка все равно возникает:
Проверил только что еще раз. Ошибка есть. И нет ошибки, если проделать все тоже самое, но с секундной задержкой.Код:public override void OnActorDead(int missionNumber, string shortName, AiActor actor, List<DamagerScore> damages) { base.OnActorDead(missionNumber, shortName, actor, damages); if (actor is AiGroundActor) { (actor as AiGroundActor).Destroy(); } }
Но подчеркиваю: И в том и в этом случае, зенитка все равно нормально удаляется.
Ошибка возникает такая:
Еще один вопрос Зенитка принадлежит к "AiGroundActor". А к чему принадлежит аэростат-лебедка этого типа: "Aeroanchored.Balloon_winch_GER1"? (это название из файла-миссии)Код:================================================= System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта. в C73nDcVHkfNlG1HRmmb.RW57KCVWohHyXJ5krUt.ydxsYS7apyu(d19kQTbEvXhjHykyf8d , dICXoRXk7y7vkkUvR4v , Int16 , Boolean ) в 12oB5s7LiQTBW7EtP2V.n61Vjl7SllEshhqKbYQ.kHlBq45JnvX(oXNPnT8Hh3UKJa6ZZy , SUsxEiF3QjXTYkAujT1 , B75N63VkDk3IVOC1G3Q , GPYJGEs07NMqUYFIJRN , Double& ) в C73nDcVHkfNlG1HRmmb.RW57KCVWohHyXJ5krUt.msgShot(SUsxEiF3QjXTYkAujT1 ) в H9k668FBsuD6ndx8Z0w.SUsxEiF3QjXTYkAujT1.P0colRfLS3u(SUsxEiF3QjXTYkAujT1 ) в H9k668FBsuD6ndx8Z0w.SUsxEiF3QjXTYkAujT1.X7cYOeKBYyql3jthiEO0(Object ) в H9k668FBsuD6ndx8Z0w.SUsxEiF3QjXTYkAujT1.Tm6oln8qMcy(d19kQTbEvXhjHykyf8d , Tujx1nWZkdCL5iBIZk , String , Point3d& , Vector3d& , Double , Double , b5X4V3c4exFtE9L5FjX , Double , bV5YXhceO4t4hjKDLyi ) в iTQ2F3BmBVt9SCk6mLU.ZwK9QMBBEsmk1BR0vEh.cujSBu15Yef(Tujx1nWZkdCL5iBIZk , String ) в ni37tVPHruIq9NlxXSS.U44P7gPWjvHAMLK3Rv5.pkis5BedngrRoylBJHRX(Object , Object , Object ) в ni37tVPHruIq9NlxXSS.U44P7gPWjvHAMLK3Rv5.QkEsNixkSaq(Object ) в PDEYCdwa2J4QMrF1lcD.d4vV2vwCQi0a584sPXx.JBeVQdP174(Object ) =================================================
Я это к тому спрашиваю, что тоже, как и зенитку, хотел бы его удалять по факту попадания в него. Как это сделать? Ведь такой код для аэростата тут уже явно не сработает:
if (actor is AiGroundActor)
{
(actor as AiGroundActor).Destroy();
}





Ответить с цитированием