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

Reply
 
Thread Tools Display Modes
  #1  
Old 10-03-2011, 11:04 AM
Gromic's Avatar
Gromic Gromic is offline
Approved Member
 
Join Date: Aug 2010
Posts: 77
Default

Moin Kodiak

This is the code I was using. It's yours from post 2 of this thread.

Code:
    private void sendScreenMessageTo(int army, string msg, object[] parms)
    {
        if (army != -1)
        {
            //Singleplayer (for Testing)
            if (GamePlay.gpRemotePlayers() == null || GamePlay.gpRemotePlayers().Length <= 0)
            {
                if (GamePlay.gpPlayer() != null && GamePlay.gpPlayer().Army() == army)
                    GamePlay.gpHUDLogCenter(null, msg, parms);

            }
            else // Multiplayer
            {
                List<Player> Players = new List<Player>();

                foreach (Player p in GamePlay.gpRemotePlayers())
                {
                    if (p.Army() == army)
                        Players.Add(p);
                }
                GamePlay.gpHUDLogCenter(Players.ToArray(), msg, parms);
            }
        }
        else GamePlay.gpHUDLogCenter(null, msg, parms);
    }


    private void sendChatMessageTo(int army, string msg, object[] parms)
    {
        if (army != -1)
        {
            //Singleplayer (for Testing)
            if (GamePlay.gpRemotePlayers() == null || GamePlay.gpRemotePlayers().Length <= 0)
            {
                if (GamePlay.gpPlayer() != null && GamePlay.gpPlayer().Army() == army)
                    GamePlay.gpLogServer(null, msg, parms);

            }
            else // Multiplayer
            {
                List<Player> Players = new List<Player>();

                foreach (Player p in GamePlay.gpRemotePlayers())
                {
                    if (p.Army() == army)
                        Players.Add(p);
                }
                GamePlay.gpLogServer(Players.ToArray(), msg, parms);
            }
        }
        else GamePlay.gpLogServer(null, msg, parms);
    }
I don't see any missing brackets but then my eyes aren't what they used to be. Thanks for the example script. I'll check it out as soon as I can.

P.S. Landsmann ist richtig. Dürfte vermutlich nicht mal so weit von dir sein da "Bayern" auch bei mir im Perso steht. Nähe Aschaffenburg. Schöne Grüße und danke für alles was du bisher für die Community getan hast!
__________________
I5-750 @ 3,8GHz / MSI P55-GD65 / MSI GTX570 Twin Frozr II / 4x2GB G.Skill 1600MHz / Corsair TX650 PSU / RAID 0 2x640GB WD Black
W7 Pro x64 SP1 / MS FFB2 +Saitek X45 / Freetrack + NP Clip Pro + PS3 Eye / Samsung BX2450 24" HDMI LED
Reply With Quote
  #2  
Old 10-03-2011, 11:11 AM
FG28_Kodiak FG28_Kodiak is offline
Approved Member
 
Join Date: Dec 2009
Location: Swabia->Bavaria->Germany
Posts: 884
Default

Ah ok now i know the error:
These lines you copy are useless, without

using System;
using System.Collections;
using System.Collections.Generic;
using maddox.game;
using maddox.game.world;


public class Mission : AMission
{

// place the code here




}
Reply With Quote
  #3  
Old 10-03-2011, 08:35 PM
Gromic's Avatar
Gromic Gromic is offline
Approved Member
 
Join Date: Aug 2010
Posts: 77
Default

Right, now I really look foolish. I'd forgotten to add the librarys.

We've got a chap in our squad that works with C# professionally and he sacrificed some time and helped me with a script, using the ones that you've so kindly donated as a basis to go on.

He's come up with a script that works perfectly. We have it running on our dedicated server. Here's an excerpt from one of our sub-missions.

Code:
using System.Collections.Generic;
using maddox.game;
using maddox.game.world;

public class Mission : AMission
{
    private const int All = -1;
    private const int Allies = 1;
    private const int Axis = 2;

    public override void OnPlaceEnter(Player player, AiActor actor, int placeIndex)
    {
        base.OnPlaceEnter(player, actor, placeIndex);

        SendScreenMessageTo(All, "Welcome Everyone");
        SendScreenMessageTo(Axis, "Lucie-Anton: good hunting over the channel. Weather reports clear skys with mild cloudbase at 1500 meters.");
        SendScreenMessageTo(Allies, "Sector control reports 79 squadron on inbound leg to patrol SE Dover area. Over.");
    }

    private void SendScreenMessageTo(int army, string message)
    {
        if (army == All)
        {
            GamePlay.gpHUDLogCenter(message);
        }
        else
        {
            //Singleplayer (for Testing)
            if (GamePlay.gpRemotePlayers() == null ||
                GamePlay.gpRemotePlayers().Length <= 0)
            {
                if (GamePlay.gpPlayer() != null &&
                    GamePlay.gpPlayer().Army() == army)
                {
                    GamePlay.gpHUDLogCenter(message);
                }
            }
            else // Multiplayer
            {
                var playersInArmy = new List<Player>();

                foreach (var player in GamePlay.gpRemotePlayers())
                {
                    if (player.Army() == army)
                    {
                        playersInArmy.Add(player);
                    }
                }
                
                GamePlay.gpHUDLogCenter(playersInArmy.ToArray(), message);
            }
        }
    }

    private void SendChatMessageTo(int army, string message)
    {
        if (army == All)
        {
            GamePlay.gpLogServer(null, message, null);
        }
        else
        {
            //Singleplayer (for Testing)
            if (GamePlay.gpRemotePlayers() == null ||
                GamePlay.gpRemotePlayers().Length <= 0)
            {
                if (GamePlay.gpPlayer() != null &&
                    GamePlay.gpPlayer().Army() == army)
                {
                    GamePlay.gpLogServer(null, message, null);
                }

            }
            else // Multiplayer
            {
                var playersInArmy = new List<Player>();

                foreach (var player in GamePlay.gpRemotePlayers())
                {
                    if (player.Army() == army)
                    {
                        playersInArmy.Add(player);
                    }
                }

                GamePlay.gpLogServer(playersInArmy.ToArray(), message, null);
            }
        }
    }
}
Thank you so much for your help everyone.

Cheers

Gromic
__________________
I5-750 @ 3,8GHz / MSI P55-GD65 / MSI GTX570 Twin Frozr II / 4x2GB G.Skill 1600MHz / Corsair TX650 PSU / RAID 0 2x640GB WD Black
W7 Pro x64 SP1 / MS FFB2 +Saitek X45 / Freetrack + NP Clip Pro + PS3 Eye / Samsung BX2450 24" HDMI LED
Reply With Quote
Reply

Thread Tools
Display Modes

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 03:06 PM.


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