165 lines
4.0 KiB
Ucode
165 lines
4.0 KiB
Ucode
//==============================================================================
|
|
// Created on: 08/11/2003
|
|
// Menu that pops up when attempting to connect to a password protected server
|
|
//
|
|
// Written by Ron Prestenback
|
|
// © 2003, Epic Games, Inc. All Rights Reserved
|
|
//==============================================================================
|
|
class UT2K4GetPassword extends UT2K4GetDataMenu;
|
|
|
|
var string RetryURL;
|
|
var localized string IncorrectPassword;
|
|
|
|
function InitComponent(GUIController MyController, GUIComponent MyOwner)
|
|
{
|
|
Super.InitComponent(Mycontroller, MyOwner);
|
|
PlayerOwner().ClearProgressMessages();
|
|
|
|
// ed_Data.MyEditBox.OnKeyEvent = InternalOnKeyEvent;
|
|
ed_Data.MyEditBox.bConvertSpaces = true;
|
|
}
|
|
|
|
function HandleParameters(string URL, string FailCode)
|
|
{
|
|
RetryURL = URL;
|
|
if ( FailCode ~= "WRONGPW" )
|
|
l_Text.Caption = IncorrectPassword;
|
|
}
|
|
|
|
function bool InternalOnClick(GUIComponent Sender)
|
|
{
|
|
if ( Sender == b_OK ) // Retry
|
|
RetryPassword();
|
|
|
|
else if ( Sender == b_Cancel ) // Fail
|
|
Controller.ReplaceMenu(Controller.GetServerBrowserPage());
|
|
|
|
return true;
|
|
}
|
|
|
|
function RetryPassword()
|
|
{
|
|
local string EntryString;
|
|
local ExtendedConsole MyConsole;
|
|
|
|
EntryString = ed_Data.GetText();
|
|
MyConsole = ExtendedConsole(PlayerOwner().Player.Console);
|
|
|
|
if ( MyConsole != None && EntryString != "" )
|
|
SavePassword(MyConsole, EntryString);
|
|
|
|
PlayerOwner().ClientTravel(
|
|
Eval( EntryString != "",
|
|
RetryURL $ "?password=" $ EntryString,
|
|
RetryURL
|
|
), TRAVEL_Absolute,false);
|
|
|
|
Controller.CloseAll(false,True);
|
|
}
|
|
|
|
function SavePassword( ExtendedConsole InConsole, string InPassword )
|
|
{
|
|
local int i;
|
|
|
|
if ( InConsole != None )
|
|
{
|
|
for (i = 0; i < InConsole.SavedPasswords.Length; i++)
|
|
{
|
|
if ( InConsole.SavedPasswords[i].Server == InConsole.LastConnectedServer )
|
|
{
|
|
InConsole.SavedPasswords[i].Password = InPassword;
|
|
break;
|
|
}
|
|
}
|
|
|
|
if ( i == InConsole.SavedPasswords.Length )
|
|
{
|
|
InConsole.SavedPasswords.Length = InConsole.SavedPasswords.Length + 1;
|
|
InConsole.SavedPasswords[i].Server = InConsole.LastConnectedServer;
|
|
InConsole.SavedPasswords[i].Password = InPassword;
|
|
}
|
|
|
|
InConsole.SaveConfig();
|
|
}
|
|
}
|
|
|
|
defaultproperties
|
|
{
|
|
IncorrectPassword="Incorrect password specified. Please try again."
|
|
/*
|
|
Begin Object Class=GUIImage Name=menuBackground
|
|
Image=material'2K4Menus.Controls.menuBackground2'
|
|
ImageStyle=ISTY_Stretched
|
|
ImageRenderStyle=MSTY_Normal
|
|
ImageColor=(R=255,G=255,B=255,A=255)
|
|
WinWidth=1
|
|
WinHeight=1.000000
|
|
WinLeft=0
|
|
WinTop=0
|
|
RenderWeight=0.000001
|
|
End Object
|
|
i_PageBG=MenuBackground
|
|
*/
|
|
|
|
Begin Object class=moEditBox Name=GetPassPW
|
|
Caption="Server Password"
|
|
CaptionWidth=0.4
|
|
TabOrder=0
|
|
WinWidth=0.562500
|
|
WinHeight=0.030000
|
|
WinLeft=0.209375
|
|
WinTop=0.485366
|
|
End Object
|
|
ed_Data=GetPassPW
|
|
|
|
Begin Object Class=GUIButton Name=GetPassRetry
|
|
Caption="SUBMIT"
|
|
// if _RO_
|
|
// StyleName="SelectButton"
|
|
// else
|
|
// StyleName="SquareButton"
|
|
// end if _RO_
|
|
OnClick=InternalOnClick
|
|
bBoundToParent=true
|
|
WinWidth=0.1475
|
|
WinHeight=0.045
|
|
WinLeft=0.320899
|
|
WinTop=0.730455
|
|
TabOrder=1
|
|
End Object
|
|
b_OK=GetPassRetry
|
|
|
|
Begin Object Class=GUIButton Name=GetPassFail
|
|
Caption="CANCEL"
|
|
// if _RO_
|
|
// StyleName="SelectButton"
|
|
// else
|
|
// StyleName="SquareButton"
|
|
// end if _RO_
|
|
OnClick=InternalOnClick
|
|
bBoundToParent=true
|
|
WinWidth=0.1475
|
|
WinHeight=0.045000
|
|
WinLeft=0.586523
|
|
WinTop=0.547122
|
|
TabOrder=2
|
|
End Object
|
|
b_Cancel=GetPassFail
|
|
|
|
Begin Object Class=GUILabel Name=GetPassLabel
|
|
Caption="A password is required to play on this server."
|
|
TextAlign=TXTA_Center
|
|
StyleName="TextLabel"
|
|
FontScale=FNS_Large
|
|
WinWidth=0.940430
|
|
WinHeight=0.054688
|
|
WinLeft=0.027930
|
|
WinTop=0.302230
|
|
bBoundToParent=true
|
|
End Object
|
|
l_Text=GetPassLabel
|
|
|
|
OpenSound=sound'KF_MenuSnd.msfxEdit'
|
|
bAllowedAsLast=true
|
|
}
|