View Single Post
  #6  
Old 01-11-2012, 04:22 AM
FG28_Kodiak FG28_Kodiak is offline
Approved Member
 
Join Date: Dec 2009
Location: Swabia->Bavaria->Germany
Posts: 884
Default

Corrected:
Code:
    private List<Player> Playerlist()
    {
        List<Player> players = new List<Player>();

        if (GamePlay.gpPlayer() != null)
            players.Add(GamePlay.gpPlayer());

        if (GamePlay.gpRemotePlayers() != null)
            players.AddRange(GamePlay.gpRemotePlayers());

        return players;
    }

    //example of side specific overflight trigger response, message indicator    
    public override void OnTrigger(int missionNumber, string shortName, bool active)
    {
        base.OnTrigger(missionNumber, shortName, active);
        int Chkarmy;
        /*===================de triggered mis=====================*/

        if ("de1".Equals(shortName) && active)
        {
            ScreenMsg(-1, shortName + " trigger stage 1");// rem out once checks complete

            Chkarmy = 1;

            if (Playerlist().Exists(players => players.Army() == Chkarmy))
            {
                switch (de1S)
                {
                    case 1:
                        ScreenMsg(-1, shortName + " trigger switch stage 2");// rem out once checks complete
                        de1M();//trigger for map load
                        break;
                    case 2:
                        ScreenMsg(-1, shortName + " trigger already in action");// rem out once checks complete
                        break;
                }
            }
        }
    }
The problem in your code
private void Playerlist()
voids doesn't have any value.
so i changed
private List<Player> Playerlist()
{
.
.
return players;
}

Now Playerlist() includes all players in the game.
so you can use
if (Playerlist().Exists(players => players.Army() == Chkarmy))

Last edited by FG28_Kodiak; 01-11-2012 at 04:40 AM.
Reply With Quote