My version of the localized messages.
No work on dedi
Code:
using System;
using System.Collections;
using maddox.game;
using maddox.game.world;
using maddox.GP;
using System.Collections.Generic;
using System.IO;
public class Mission : AMission
{
//=========================LOCALIZATION=============================
string[] languageArray = { "en", "ru", "de", "fr", "es", "cs", "it", "pl" };
//******************Localize Message Method*******************
private string getLocalizedMessage(string textTranslate)
{
string[] localizeArray;
string langIndex = GamePlay.gpPlayer().LanguageName();
switch (textTranslate)
{
case "Welcome to our server.":
{
localizeArray = new string[]
{
"Welcome to our server.EN",
"Добро пожаловать на наш сервер.RU",
"Welcome to our server.DE",
"Welcome to our server.FR",
"Welcome to our server.ES",
"Welcome to our server.CS",
"Welcome to our server.IT",
"Welcome to our server.PL"
};
return localizeArray.GetValue(Array.IndexOf(languageArray, langIndex)).ToString();
} break;
}
return textTranslate;
}
//======================================================================
//******************Send Chat Message Method*******************
private void sendChatMessageTo(int army, string msg, object[] parms)
{
List<Player> Players = new List<Player>();
//Singleplayer or Dedi Server
if (GamePlay.gpPlayer() != null)
{
if (GamePlay.gpPlayer().Army() == army || army == -1)
Players.Add(GamePlay.gpPlayer());
} // Multiplayer
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);
}
public override void OnBattleStarted()
{
base.OnBattleStarted();
MissionNumberListener = -1;
sendChatMessageTo(-1, getLocalizedMessage("Welcome to our server."), new object[] { });
}
}