Official Fulqrum Publishing forum

Official Fulqrum Publishing forum (http://forum.fulqrumpublishing.com/index.php)
-   FMB, Mission & Campaign builder Discussions (http://forum.fulqrumpublishing.com/forumdisplay.php?f=203)
-   -   How to send message to player at takeoff? (http://forum.fulqrumpublishing.com/showthread.php?t=27863)

salmo 11-15-2011 08:16 AM

How to send message to player at takeoff?
 
How to send a message only to the player who has just taken off? I have this so far ...

code removed by author

As you can see, I've tried sending the GamePlay.gpHUDLogCenter text to ThePlane.AiActor.Name() and AiActor.Name() which produce errors. I guess I neeed to also test if the plane is AI or player controlled since I don't need to send a screen message to the AI.

FG28_Kodiak 11-15-2011 08:28 AM

You can use the Player(int placeindex) member of the AiAircraft Class:

For example
GamePlay.gpLogServer(new Player[] { (actor as AiAircraft).Player(0) }, " Test ", null);

You should test the null value, if null no human player (Ai).

To send the message to all possible players in an Aircraft:
Code:

for (int i = 0; i < aircraft.Places(); i++)
            if (aircraft.Player(i) != null)
                GamePlay.gpLogServer(new Player[] {aircraft.Player(i)}, " Test ", null);


salmo 11-15-2011 08:30 AM

Thankyou for your quick reply Kodiak

Smokeynz 11-23-2011 08:17 AM

C# allows for many methods, Kodiak always seems to come up with nice examples :)

I am using this method with success, it is from the collection of samples from this forum.
What is nice is different msg's to team and plane type.

Code:

public override void OnPlaceEnter(Player player, AiActor actor, int placeIndex)
    {
        base.OnPlaceEnter(player, actor, placeIndex);
        AiAircraft aircraft = actor as AiAircraft;
       
        if (aircraft != null)
        switch (aircraft.Army())
        {               
            case 1:
                if (aircraft.Type() == AircraftType.Bomber)
                { GamePlay.gpHUDLogCenter(new Player[] { player},"Red Bomber, Bomb it all, hitler caput"); }
                else { GamePlay.gpHUDLogCenter(new Player[] { player }, "Red Fighter, fight them all"); }
                break;
            case 2:
                if (aircraft.Type() == AircraftType.Bomber)
                { GamePlay.gpHUDLogCenter(new Player[] { player }, "Das bomber!"); }
                else { GamePlay.gpHUDLogCenter(new Player[] { player }, "Das jager!"); }
                break;

        }
    }



All times are GMT. The time now is 04:37 AM.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright © 2007 Fulqrum Publishing. All rights reserved.