Fulqrum Publishing Home   |   Register   |   Today Posts   |   Members   |   UserCP   |   Calendar   |   Search   |   FAQ

Go Back   Official Fulqrum Publishing forum > Fulqrum Publishing > IL-2 Sturmovik: Cliffs of Dover > FMB, Mission & Campaign builder Discussions

 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
  #13  
Old 03-19-2012, 04:27 AM
salmo salmo is offline
Approved Member
 
Join Date: Mar 2011
Posts: 632
Default

SmokyNZ, I concur with you that there is something screwy with the actors that gives rise to null exceptions. I'm unsure what the cause is, but here's a code snippet from a script I'm working on. The CheckActors routine was working & keys.Count was returning the number of actor keys, then all of a sudden, it failed & now persistently returns zero even though there are actors in the mission.

Code:
public class Mission : AMission
{
private Dictionary<String, AiActor> allActors = new Dictionary<String, AiActor>();

    public override void OnPlaceEnter(Player player, AiActor actor, int placeIndex)
    {
CheckActors();
}

public void CheckActors()
{
        List<string> keys = new List<string>(allActors.Keys);
        sendChatMessageTo(-1, "Keys count=" + keys.Count.ToString(), null);
       // .......
    }

    private void sendChatMessageTo(int army, string msg, object[] parms)
    {   // send a chat message to all players in specified army (1=red; 2=blue)
        List<Player> Players = new List<Player>();
        // on Dedi the server:
        if (GamePlay.gpPlayer() != null)
        {
            if (GamePlay.gpPlayer().Army() == army || army == -1)
                Players.Add(GamePlay.gpPlayer());
        } //rest of the crowd
        if (GamePlay.gpRemotePlayers() != null || GamePlay.gpRemotePlayers().Length > 0)
        {
            foreach (Player p in GamePlay.gpRemotePlayers())
            {
                if (p.Army() == army || army == -1)
                    Players.Add(p);
            }
        }
        if (Players != null && Players.Count > 0)
            GamePlay.gpLogServer(Players.ToArray(), msg, parms);
    }
}
__________________
When one engine fails on a two engine bomber, you will always have enough power left to get to the scene of the crash.

Get the latest COD Team Fusion patch info HERE

Last edited by salmo; 03-19-2012 at 04:31 AM.
Reply With Quote
 


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 02:06 AM.


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