| Home Page | Recent Changes | Preferences

LadderProfiles

UT2003 :: Object >> Actor >> Info >> LadderProfiles ( Ladder1.46 )
00001  //-----------------------------------------------------------
00002  // Ladder.LadderProfiles
00003  //
00004  // Serveractor responsible for placing LadderGameRules into the
00005  // GameRulesModifier linked list
00006  //
00007  // Also serves to clearly give admins indication of what version
00008  // of Ladder is installed on the server
00009  //-----------------------------------------------------------
00010  class LadderProfiles extends Info config;
00011  
00012  var const float VER;
00013  const LOGNAME = 'LadderProfiles';
00014  
00015  var localized string LPPropsDisplayText;
00016  var localized string DisabledText;
00017  
00018  var string  LogLine[6];
00019  var int     LogWidth;
00020  
00021  var bool                bEnableProfileControl;
00022  var config string       DefaultProfileName;
00023  var config string       LadderProfileClass;
00024  
00025  function PreBeginPlay()
00026  {
00027      local GameRules GR;
00028      local MutLadderMenu LadderMenu;
00029      local string StatusText;
00030      local class<AutoLoader> LoaderClass;
00031      local int i;
00032  
00033      LoaderClass = class<AutoLoader>(DynamicLoadObject("LadderLoader.LadderLoader",class'Class',True));
00034      if (LoaderClass != None && !LoaderClass.static.MatchesVersion(VER,True,"http://www.organized-evolution.com/Ladder/"))
00035      {
00036          Destroy();
00037          return;
00038      }
00039  
00040      bEnableProfileControl = default.bEnableProfileControl;
00041  
00042      class'LadderGameRules'.default.DefaultProfileName = DefaultProfileName;
00043      if (!bEnableProfileControl)
00044      {
00045          for (i = 0; i < class'LadderGameRules'.default.Profiles.Length; i++)
00046              if (class'LadderGameRules'.default.Profiles[i].bActive)
00047                  class'LadderGameRules'.default.Profiles[i].bActive = False;
00048  
00049          class'LadderGameRules'.static.StaticSaveConfig();
00050          StatusText = DisabledText;
00051      }
00052  
00053      else
00054      {
00055          for (GR=Level.Game.GameRulesModifiers;GR!=None;GR=GR.NextGameRules)
00056          {
00057              if (LadderGameRules(GR) != None)
00058              {
00059                  LadderGameRules(GR).SetOwner(Self);
00060                  LadderGameRules(GR).LadderProfileClass = LadderProfileClass;
00061                  LadderGameRules(GR).DefaultProfileName = DefaultProfileName;
00062                  break;
00063              }
00064          }
00065  
00066          if (GR == None)
00067          {
00068              GR = Spawn(class'LadderGameRules',Self);
00069              if (Level.Game.GameRulesModifiers != None)
00070                  Level.Game.GameRulesModifiers.AddGameRules(GR);
00071              else Level.Game.GameRulesModifiers = GR;
00072          }
00073  
00074          LadderMenu = Spawn(class'Ladder.MutLadderMenu', Self);
00075          if (LadderMenu != None)
00076              Level.Game.BaseMutator.AddMutator(LadderMenu);
00077          else log("Error spawning MutLadderMenu!",LOGNAME);
00078      }
00079  
00080      LogLine[1] = "Ladder v"$VER@StatusText;
00081      LogLine[2] = "Server Profile Management System";
00082      LogLine[3] = "by Organized Evolution";
00083      LogLine[4] = "http://www.organized-evolution.com/Ladder/";
00084  
00085      BannerLog();
00086  }
00087  
00088  function BannerLog()
00089  {
00090      local int       i;
00091      local string    TestString, BorderString;
00092      local string    Prefix, Suffix;
00093  
00094      for (i = 0; i < ArrayCount(LogLine); i++)
00095          if ( Len(LogLine[i]) > LogWidth )
00096              LogWidth = Len(LogLine[i]);
00097  
00098      LogWidth = LogWidth + 6;  // Account for the [] on each side
00099      for (BorderString = ""; Len(BorderString) < LogWidth; BorderString = BorderString $ "~");
00100      log("",LOGNAME);
00101      log(BorderString,LOGNAME);
00102  
00103      for (i = 0; i < ArrayCount(LogLine); i++)
00104      {
00105          Prefix = "[] "; Suffix = " []";
00106          TestString = Prefix $ LogLine[i] $ Suffix;
00107  
00108          while ( Len(TestString) < LogWidth)
00109          {
00110              Prefix = Prefix $ " ";
00111              if (LogWidth - Len(TestString) > 1)
00112                  Suffix = " " $ Suffix;
00113  
00114              TestString = Prefix $ LogLine[i] $ Suffix;
00115          }
00116  
00117          log(TestString,LOGNAME);
00118      }
00119  
00120      log(BorderString,LOGNAME);
00121      log("",LOGNAME);
00122  }
00123  
00124  static function FillPlayInfo(PlayInfo PI)
00125  {
00126      Super.FillPlayInfo(PI);
00127  
00128      PI.AddSetting("Server", "DefaultProfileName", default.LPPropsDisplayText, 1, 10, "Text", "32");
00129  }
00130  
00131  
00132  defaultproperties
00133  {
00134      VER=1.5
00135      LadderProfileClass="Ladder.ProfileConfigSet"
00136      DisabledText="( Disabled )"
00137      LPPropsDisplayText="Default Profile Name"
00138  }

The Unreal Engine Documentation Site

Wiki Community

Topic Categories

Image Uploads

Random Page

Recent Changes

Offline Wiki

Unreal Engine

Console Commands

Terminology

Mapping Topics

Mapping Lessons

UnrealEd Interface

Questions&Answers

Scripting Topics

Scripting Lessons

Making Mods

Class Tree

Questions&Answers

Modeling Topics

Questions&Answers

Log In