336 lines
8.7 KiB
Ucode
336 lines
8.7 KiB
Ucode
// ====================================================================
|
|
// Class: XInterface.Tab_OnlineSettings
|
|
// Parent: XInterface.GUITabPanel
|
|
//
|
|
// <Enter a description here>
|
|
// ====================================================================
|
|
|
|
class Tab_NetworkSettings extends UT2K3TabPanel;
|
|
|
|
|
|
var localized string NetSpeedText[4];
|
|
|
|
var localized string StatsURL;
|
|
var localized string EpicIDMsg;
|
|
|
|
function InitComponent(GUIController MyController, GUIComponent MyOwner)
|
|
{
|
|
|
|
local int i;
|
|
Super.Initcomponent(MyController, MyOwner);
|
|
|
|
for (i=0;i<Controls.Length;i++)
|
|
Controls[i].OnChange=InternalOnChange;
|
|
|
|
for(i = 0;i < ArrayCount(NetSpeedText);i++)
|
|
moComboBox(Controls[1]).AddItem(NetSpeedText[i]);
|
|
|
|
moEditBox(Controls[2]).MyEditBox.bConvertSpaces = true;
|
|
moEditBox(Controls[2]).MyEditBox.MaxWidth=14;
|
|
|
|
moEditBox(Controls[3]).MyEditBox.MaxWidth=14;
|
|
|
|
moEditBox(Controls[3]).MaskText(true);
|
|
moEditBox(Controls[2]).MenuStateChange(MSAT_Disabled);
|
|
moEditBox(Controls[3]).MenuStateChange(MSAT_Disabled);
|
|
|
|
GUILabel(Controls[8]).Caption = EpicIDMsg@FormatID(PlayerOwner().GetPlayerIDHash());
|
|
|
|
moCheckBox(Controls[9]).Checked(PlayerOwner().bDynamicNetSpeed);
|
|
|
|
}
|
|
|
|
function string FormatID(string id)
|
|
{
|
|
id=Caps(id);
|
|
return mid(id,0,8)$"-"$mid(id,8,8)$"-"$mid(id,16,8)$"-"$mid(id,24,8);
|
|
}
|
|
|
|
function InternalOnLoadINI(GUIComponent Sender, string s)
|
|
{
|
|
local int i;
|
|
|
|
if (Sender==Controls[1])
|
|
{
|
|
i = class'Player'.default.ConfiguredInternetSpeed;
|
|
if (i<=2600)
|
|
moComboBox(Sender).SetText(NetSpeedText[0]);
|
|
else if (i<=5000)
|
|
moComboBox(Sender).SetText(NetSpeedText[1]);
|
|
else if (i<=10000)
|
|
moComboBox(Sender).SetText(NetSpeedText[2]);
|
|
else
|
|
moComboBox(Sender).SetText(NetSpeedText[3]);
|
|
}
|
|
else if (Sender==Controls[2])
|
|
{
|
|
if(PlayerOwner().StatsUserName!="" && PlayerOwner().StatsPassword!="")
|
|
{
|
|
moEditBox(Sender).SetText(PlayerOwner().StatsUserName);
|
|
moEditBox(Sender).MenuStateChange(MSAT_Blurry);
|
|
}
|
|
else
|
|
{
|
|
moEditBox(Sender).SetText("");
|
|
moEditBox(Sender).MenuStateChange(MSAT_Disabled);
|
|
}
|
|
}
|
|
else if (Sender==Controls[3])
|
|
{
|
|
if(PlayerOwner().StatsUserName!="" && PlayerOwner().StatsPassword!="")
|
|
{
|
|
moEditBox(Sender).SetText(PlayerOwner().StatsPassword);
|
|
moEditBox(Sender).MenuStateChange(MSAT_Blurry);
|
|
}
|
|
else
|
|
{
|
|
moEditBox(Sender).SetText("");
|
|
moEditBox(Sender).MenuStateChange(MSAT_Disabled);
|
|
}
|
|
}
|
|
else if (Sender==Controls[5])
|
|
{
|
|
GUICheckBoxButton(GUIMenuOption(Sender).MyComponent).SetChecked( PlayerOwner().StatsUserName!="" && PlayerOwner().StatsPassword!="" );
|
|
}
|
|
|
|
Controls[7].bVisible = !ValidStatConfig();
|
|
}
|
|
|
|
function bool ValidStatConfig()
|
|
{
|
|
if(moCheckBox(Controls[5]).IsChecked())
|
|
{
|
|
if(Len(moEditBox(Controls[2]).GetText()) < 4)
|
|
return false;
|
|
|
|
if(Len(moEditBox(Controls[3]).GetText()) < 6)
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
function ApplyStatConfig()
|
|
{
|
|
if(moCheckBox(Controls[5]).IsChecked())
|
|
{
|
|
PlayerOwner().StatsUserName = moEditBox(Controls[2]).GetText();
|
|
PlayerOwner().StatsPassword = moEditBox(Controls[3]).GetText();
|
|
}
|
|
else
|
|
{
|
|
PlayerOwner().StatsUserName = moEditBox(Controls[2]).GetText();
|
|
PlayerOwner().StatsPassword = moEditBox(Controls[3]).GetText();
|
|
}
|
|
PlayerOwner().SaveConfig();
|
|
}
|
|
|
|
function InternalOnChange(GUIComponent Sender)
|
|
{
|
|
local GUIMenuOption O;
|
|
|
|
if (!Controller.bCurMenuInitialized)
|
|
return;
|
|
|
|
if (Sender==Controls[1])
|
|
{
|
|
if (moComboBox(Sender).GetText()==NetSpeedText[0])
|
|
PlayerOwner().ConsoleCommand("netspeed 2600");
|
|
else if (moComboBox(Sender).GetText()==NetSpeedText[1])
|
|
PlayerOwner().ConsoleCommand("netspeed 5000");
|
|
else if (moComboBox(Sender).GetText()==NetSpeedText[2])
|
|
PlayerOwner().ConsoleCommand("netspeed 10000");
|
|
else if (moComboBox(Sender).GetText()==NetSpeedText[3])
|
|
PlayerOwner().ConsoleCommand("netspeed 20000");
|
|
}
|
|
else
|
|
if (Sender==Controls[5])
|
|
{
|
|
O = GUIMenuOption(Sender);
|
|
if ( !GUICheckBoxButton(O.MyComponent).bChecked )
|
|
{
|
|
moEditBox(Controls[2]).SetText("");
|
|
moEditBox(Controls[3]).SetText("");
|
|
moEditBox(Controls[2]).MenuStateChange(MSAT_Disabled);
|
|
moEditBox(Controls[3]).MenuStateChange(MSAT_Disabled);
|
|
}
|
|
else
|
|
{
|
|
moEditBox(Controls[2]).MenuStateChange(MSAT_Blurry);
|
|
moEditBox(Controls[3]).MenuStateChange(MSAT_Blurry);
|
|
}
|
|
}
|
|
|
|
else if (Sender==Controls[9])
|
|
{
|
|
PlayerOwner().bDynamicNetSpeed = moCheckBox(Controls[9]).IsChecked();
|
|
PlayerOwner().Saveconfig();
|
|
}
|
|
|
|
Controls[7].bVisible = !ValidStatConfig();
|
|
}
|
|
|
|
function bool OnViewStats(GUIComponent Sender)
|
|
{
|
|
PlayerOwner().ConsoleCommand("start"@StatsURL);
|
|
return true;
|
|
}
|
|
|
|
defaultproperties
|
|
{
|
|
Begin Object class=GUIImage Name=OnlineBK1
|
|
WinWidth=0.576640
|
|
WinHeight=0.489999
|
|
WinLeft=0.216797
|
|
WinTop=0.355208
|
|
Image=Texture'InterfaceArt_tex.Menu.changeme_texture' //Material'InterfaceContent.Menu.BorderBoxD'
|
|
ImageColor=(R=255,G=255,B=255,A=160);
|
|
ImageRenderStyle=MSTY_Alpha
|
|
ImageStyle=ISTY_Stretched
|
|
End Object
|
|
Controls(0)=GUIImage'OnlineBK1'
|
|
|
|
Begin Object class=moComboBox Name=OnlineNetSpeed
|
|
WinWidth=0.500000
|
|
WinHeight=0.060000
|
|
WinLeft=0.250000
|
|
WinTop=0.085678
|
|
Caption="Connection"
|
|
INIOption="@Internal"
|
|
INIDefault="Cable Modem/DSL"
|
|
OnLoadINI=InternalOnLoadINI
|
|
Hint="How fast is your connection?"
|
|
CaptionWidth=0.4
|
|
ComponentJustification=TXTA_Left
|
|
bReadOnly=true
|
|
End Object
|
|
Controls(1)=GUIMenuOption'OnlineNetSpeed'
|
|
|
|
|
|
Begin Object class=moEditBox Name=OnlineStatsName
|
|
WinWidth=0.500000
|
|
WinHeight=0.060000
|
|
WinLeft=0.250000
|
|
WinTop=0.494271
|
|
INIOption="@Internal"
|
|
OnLoadINI=InternalOnLoadINI
|
|
Caption="Stats UserName"
|
|
Hint="Please select a name to use for UT Stats!"
|
|
CaptionWidth=0.4
|
|
End Object
|
|
Controls(2)=moEditBox'OnlineStatsName'
|
|
|
|
Begin Object class=moEditBox Name=OnlineStatsPW
|
|
WinWidth=0.500000
|
|
WinHeight=0.060000
|
|
WinLeft=0.250000
|
|
WinTop=0.583594
|
|
Caption="Stats Password"
|
|
INIOption="@Internal"
|
|
OnLoadINI=InternalOnLoadINI
|
|
Hint="Please select a password that will secure your UT Stats!"
|
|
CaptionWidth=0.4
|
|
End Object
|
|
Controls(3)=moEditBox'OnlineStatsPW'
|
|
|
|
Begin Object class=GUILabel Name=OnlineStatDesc
|
|
// if _RO_
|
|
Caption="Killing Floor Global Stats"
|
|
// else
|
|
// Caption="UT2003 Global Stats"
|
|
// end if _RO_
|
|
TextALign=TXTA_Center
|
|
TextFont="UT2HeaderFont"
|
|
TextColor=(R=230,G=200,B=0,A=255)
|
|
WinWidth=0.500000
|
|
WinHeight=32.000000
|
|
WinLeft=0.250000
|
|
WinTop=0.391145
|
|
End Object
|
|
Controls(4)=GUILabel'OnlineStatDesc'
|
|
|
|
Begin Object class=moCheckBox Name=OnlineTrackStats
|
|
WinWidth=0.210000
|
|
WinHeight=0.040000
|
|
WinLeft=0.251565
|
|
WinTop=0.742708
|
|
Caption="Track Stats"
|
|
INIOption="@Internal"
|
|
INIDefault="True"
|
|
OnLoadINI=InternalOnLoadINI
|
|
Hint="Enable this option to join the online ranking system."
|
|
CaptionWidth=0.9
|
|
bSquare=true
|
|
ComponentJustification=TXTA_Left
|
|
End Object
|
|
Controls(5)=moCheckBox'OnlineTrackStats'
|
|
|
|
Begin Object class=GUIButton Name=ViewOnlineStats
|
|
WinWidth=0.210000
|
|
WinHeight=0.040000
|
|
WinLeft=0.536721
|
|
WinTop=0.742708
|
|
Caption="View Stats"
|
|
Hint="Click to launch the UT stats website."
|
|
OnClick=OnViewStats
|
|
End Object
|
|
Controls(6)=GUIButton'ViewOnlineStats'
|
|
|
|
Begin Object class=GUILabel Name=InvalidWarning
|
|
WinWidth=0.576561
|
|
WinHeight=0.125001
|
|
WinLeft=0.215625
|
|
WinTop=0.870832
|
|
Caption="Your stats username or password is invalid. Your username must be at least 4 characters long, and your password must be at least 6 characters long."
|
|
TextAlign=TXTA_Center
|
|
bMultiLine=True
|
|
TextColor=(R=255,G=0,B=0,A=255)
|
|
TextFont="UT2MenuFont"
|
|
End Object
|
|
Controls(7)=GUILabel'InvalidWarning'
|
|
|
|
Begin Object class=GUILabel Name=EpicID
|
|
WinWidth=1
|
|
WinHeight=0.066407
|
|
WinLeft=0
|
|
WinTop=0.313279
|
|
Caption="Your Unique id is:"
|
|
TextAlign=TXTA_Center
|
|
bMultiLine=True
|
|
TextColor=(R=255,G=255,B=0,A=255)
|
|
TextFont="UT2SmallFont"
|
|
End Object
|
|
Controls(8)=GUILabel'EpicID'
|
|
|
|
Begin Object class=moCheckBox Name=NetworkDynamicNetspeed
|
|
WinWidth=0.500000
|
|
WinHeight=0.040000
|
|
WinLeft=0.250000
|
|
WinTop=0.179011
|
|
Caption="Dynamic Netspeed"
|
|
Hint="Dynamic adjust your netspeed on slower connections."
|
|
CaptionWidth=0.9
|
|
bSquare=true
|
|
ComponentJustification=TXTA_Left
|
|
End Object
|
|
Controls(9)=moCheckBox'NetworkDynamicNetspeed'
|
|
|
|
WinTop=0.15
|
|
WinLeft=0
|
|
WinWidth=1
|
|
WinHeight=0.74
|
|
bAcceptsInput=false
|
|
|
|
NetSpeedText(0)="Modem"
|
|
NetSpeedText(1)="ISDN"
|
|
NetSpeedText(2)="Cable/ADSL"
|
|
NetSpeedText(3)="LAN/T1"
|
|
|
|
// if _RO_
|
|
StatsURL="http://www.killingfloorthegame.com/"
|
|
// else
|
|
// StatsURL="http://ut2003stats.epicgames.com/"
|
|
// end if _RO_
|
|
EpicIDMsg="Your Unique id is:"
|
|
}
|