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
  #2  
Old 10-06-2011, 11:06 AM
FG28_Kodiak FG28_Kodiak is offline
Approved Member
 
Join Date: Dec 2009
Location: Swabia->Bavaria->Germany
Posts: 884
Default

Quote:
Regarding messages script it looks like a RU message would be shown to everyone if using sendChatMessageTo(-1, ru, ...)

sendChatMessageTo(-1, void, ...) shows international message to RU users. Ideally I would like to separate messages to RU and international users completely if possible.

Ok my fault , have forgotten to handle different languages if send on all.

Corrected version:
Code:
    private void sendScreenMessageTo(int army, string playerlanguage, 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.gpPlayer().LanguageName().Equals(playerlanguage))
                    GamePlay.gpHUDLogCenter(null, msg, parms);

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

                foreach (Player p in GamePlay.gpRemotePlayers())
                {
                    if (p.Army() == army && p.LanguageName().Equals(playerlanguage))
                        Players.Add(p);
                }
                GamePlay.gpHUDLogCenter(Players.ToArray(), msg, parms);
            }
        }
        else
        {
            List<Player> Players = new List<Player>();

            foreach (Player p in GamePlay.gpRemotePlayers())
            {
                if (p.LanguageName().Equals(playerlanguage))
                    Players.Add(p);
            }
            GamePlay.gpHUDLogCenter(Players.ToArray(), msg, parms);
        }   
    }


    private void sendChatMessageTo(int army, string playerlanguage, 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.gpPlayer().LanguageName().Equals(playerlanguage))
                    GamePlay.gpLogServer(null, msg, parms);
            }
            else // Multiplayer
            {
                List<Player> Players = new List<Player>();

                foreach (Player p in GamePlay.gpRemotePlayers())
                {
                    if (p.Army() == army && p.LanguageName().Equals(playerlanguage))
                        Players.Add(p);
                }
                GamePlay.gpLogServer(Players.ToArray(), msg, parms);
            }
        }
        else
        {
            List<Player> Players = new List<Player>();

            foreach (Player p in GamePlay.gpRemotePlayers())
            {
                if (p.LanguageName().Equals(playerlanguage))
                    Players.Add(p);
            }
            GamePlay.gpLogServer(Players.ToArray(), msg, parms);
        }
    }
Quote:
Kodiak, when you have time I would like to ask you for advice how to calculate number of enemy fighter and bomber planes. Ideally I see aircraft limiting script as follows:

Declare percentages for limited aircraft types = X%.
OnPlaceEnter recalculate number of human-controlled enemy fighter and bomber planes (enmyFgtrs & enmyBmbrs) - this is the difficult part
Set curTeamBalance = (friendlyFgtrs + friendlyBmbrs/2) / (enmyFgtrs + enmyBmbrs/2)
Check if
if curTeamBalance > allowedTeamBalance then deny a limited aircraft (with RU and international message).
else Set e.g.
Nothing difficult .
Should the script calculate all in game planes too, or only the player controlled? So it should be possible to disable KI Starts if many Players are online.

Last edited by FG28_Kodiak; 10-06-2011 at 11:33 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 04:51 PM.


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