You can use SayToGroup
maddox.game.world.AiAircraft
void SayToGroup(maddox.game.world.AiAirGroup group, string msg)
msg is the filename without ogg. (blue in de folder, red in gb folder) Different Aircrafts uses different voices (Actor1..4)
In my example the 'pilot' from Aircraft 0:BoB_LW_JG26_I.000 says "one mile" "Cargo Ships" "Destroy targets left to right" "Attack" (in German) to his group (for testing after ca.10sec, you can use triggers etc. also).
Code:
using System;
using maddox.game;
using maddox.game.world;
public class Mission : AMission
{
AiActor a1;
AiAircraft airc1;
public override void OnBattleStarted()
{
base.OnBattleStarted();
a1 = GamePlay.gpActorByName("0:BoB_LW_JG26_I.000");
if (a1 == null)
{
GamePlay.gpLogServer(null, "SCRIPT ERROR: Aircraft not found\n", new object[] {});
}
airc1 = (AiAircraft)a1;
}
public override void OnTickGame()
{
if (Time.tickCounter() == 300) // ca 10sec.
{
double initTime = 0.0;
airc1.SayToGroup(airc1.AirGroup(), "1_mile");
Timeout(initTime += 5.0, () =>
{
airc1.SayToGroup(airc1.AirGroup(), "Cargo_Ships");
});
Timeout(initTime += 5.0, () =>
{
airc1.SayToGroup(airc1.AirGroup(), "Destroy_targets_left_to_right");
});
Timeout(initTime += 5.0, () =>
{
airc1.SayToGroup(airc1.AirGroup(), "Attack");
});
}
}
}