Avec ceci, on aurait pu avoir l'altitude d'annoncé des meuchants avions rouge sur les quelques point d'observation aérienne
Code : Tout sélectionner
if ("target_attacked".Equals(shortName) && active)
{
AiAction Action = GamePlay.gpGetAction("target_attacked");
Timeout(3, () => // xs
{
int nt = 0;
double resAltiMini = 15000.00;
double resAltiMaxi = 0.00;
int camp = 1; // 1 = rouge, 2 = blue
AiAirGroup[] TriggerAirgroups = base.GamePlay.gpAirGroups(camp) ;
if (TriggerAirgroups != null)
{
foreach (AiAirGroup aag in TriggerAirgroups)
{
AiAircraft aircraft = aag.GetItems()[0] as AiAircraft;
bool isairborne = ( aag.GetItems()[0] as AiAircraft).IsAirborne();
Point3d StartPos = new Point3d(306361.00 , 160650.00, 0.00); //information à récupérer sur le fichier .mis, possible via parser...
if ((aag.Pos().distance(ref StartPos) < 8000) && isairborne && aag.Pos().z > 0)
{
if(resAltiMini > aag.Pos().z) { resAltiMini = aag.Pos().z;} // Alti Angel
if(resAltiMaxi < aag.Pos().z) { resAltiMaxi = aag.Pos().z; }
nt = aag.NOfAirc + nt; // additionne les items et les nb d'avion par groupe
}
}
}
Timeout(6, () =>
{
SendScreenMessageTo(Blue(), nt + " Avions ennemi sur Tramecourt ! ( P10) entre : " + Math.Round(resAltiMini, 0) + " et " + Math.Round(resAltiMaxi, 0) +"m");
});
});
GamePlay.gpGetTrigger("target_attacked").Enable = true;
}