PDA

View Full Version : C# Scripts: Referencing an AI aircraft.


SG1_Lud
10-29-2012, 01:48 PM
Hi all:

Imagine we have the player aircraft inflight (A), and another one AI (B).

I can get the reference to the player aircraft (A) using:


//Get player aircraft
cur_Plane = GamePlay.gpPlayer().Place() as AiAircraft;


Similarly, how can I get a reference to the other aircraft in flight (B) ?


Thanks.

FG28_Kodiak
10-29-2012, 03:36 PM
Depens on situation:

Normaly with gpActorByName in this example the Aircraft with name "0:BoB_RAF_F_111Sqn_Early.000"

AiAircraft aircraft = GamePlay.gpActorByName("0:BoB_RAF_F_111Sqn_Early.000") as AiAircraft;

if (aircraft != null)
{
// code
}

SG1_Lud
10-29-2012, 05:16 PM
Depens on situation:

Normaly with gpActorByName in this example the Aircraft with name "0:BoB_RAF_F_111Sqn_Early.000"

AiAircraft aircraft = GamePlay.gpActorByName("0:BoB_RAF_F_111Sqn_Early.000") as AiAircraft;

if (aircraft != null)
{
// code
}




Thank you Kodiak, that worked. My problem was that I was using the wrong name. In the .mis file I had "BoB_RAF_F_242Sqn_Early.00", but I see now: I have to use "0:BoB_RAF_F_242Sqn_Early.000".

So, if I got it ok,
BoB_RAF_F_242Sqn_Early.00 is a group and
n:BoB_RAF_F_242Sqn_Early.000 is an specific ac in that group
(where n = 0,1,,2 ...)

For the trailing added 0 I have no explanation



It is easier to get the name if I run the mission, right click ->view and hover the mouse over the ac of interest. Then a label appears with the exact name. I read this from you time ago and I had forgotten...

Thanks for pointing me in the right direction-

S!

FG28_Kodiak
10-30-2012, 08:56 AM
the 0:, 1:, 2: are the missionNumbers of the Actor, so you must take care, if you load a new mission or create an actor via action and you like to reference one of the new actors you need the correct missionNumber.