112 lines
2.6 KiB
Ucode
112 lines
2.6 KiB
Ucode
//==============================================================================
|
|
// Created on: 11/12/2003
|
|
// Contains controls for administering players on the server (kick/ban)
|
|
//
|
|
// Written by Ron Prestenback
|
|
// © 2003, Epic Games, Inc. All Rights Reserved
|
|
//==============================================================================
|
|
|
|
class AdminPanelPlayers extends AdminPanelBase;
|
|
|
|
var automated GUIMultiColumnListbox lb_Players;
|
|
var AdminPlayerList li_Players;
|
|
var automated GUIButton b_Kick, b_Ban;
|
|
|
|
function InitComponent(GUIController MyController, GUIComponent MyOwner)
|
|
{
|
|
Super.InitComponent(MyController,MyOwner);
|
|
|
|
li_Players = AdminPlayerList(lb_Players.List);
|
|
}
|
|
|
|
function ProcessPlayer(string PlayerInfo)
|
|
{
|
|
if (PlayerInfo=="Done")
|
|
XPlayer(PlayerOwner()).ProcessRule = None;
|
|
else li_Players.Add(PlayerInfo);
|
|
}
|
|
|
|
function ReloadList()
|
|
{
|
|
local xPlayer PC;
|
|
|
|
PC = xPlayer(PlayerOwner());
|
|
if ( PC == None )
|
|
return;
|
|
|
|
li_Players.Clear();
|
|
PC.ProcessRule = ProcessPlayer;
|
|
PC.ServerRequestPlayerInfo();
|
|
}
|
|
|
|
function bool InternalOnClick(GUIComponent Sender)
|
|
{
|
|
switch ( Sender )
|
|
{
|
|
case b_Kick:
|
|
if ( bAdvancedAdmin )
|
|
AdminCommand( "kick"@li_Players.MyPlayers[li_Players.Index].PlayerID );
|
|
else AdminCommand( "kick"@li_Players.MyPlayers[li_Players.Index].PlayerName );
|
|
|
|
ReloadList();
|
|
return true;
|
|
|
|
case b_Ban:
|
|
if ( bAdvancedAdmin )
|
|
AdminCommand( "kick ban"@li_Players.MyPlayers[li_Players.Index].PlayerID );
|
|
else AdminCommand( "kickban"@li_Players.MyPlayers[li_Players.Index].PlayerName);
|
|
|
|
ReloadList();
|
|
return true;
|
|
}
|
|
}
|
|
|
|
defaultproperties
|
|
{
|
|
Begin Object Class=GUIMultiColumnListBox Name=AdminPlayersListBox
|
|
WinWidth=1.000000
|
|
WinHeight=0.878127
|
|
WinLeft=0.000000
|
|
WinTop=0.000000
|
|
bVisibleWhenEmpty=True
|
|
StyleName="ServerBrowserGrid"
|
|
DefaultListClass="XInterface.AdminPlayerList"
|
|
bBoundToParent=True
|
|
bScaleToParent=True
|
|
End Object
|
|
lb_Players=AdminPlayersListBox
|
|
|
|
Begin Object Class=GUIButton Name=KickButton
|
|
Caption="Kick"
|
|
Hint="Kick this Player"
|
|
WinWidth=0.120000
|
|
WinHeight=0.070625
|
|
WinLeft=0.743750
|
|
WinTop=0.900000
|
|
OnClick=InternalOnClick
|
|
bBoundToParent=True
|
|
bScaleToParent=True
|
|
End Object
|
|
b_Kick=KickButton
|
|
|
|
Begin Object Class=GUIButton Name=BanButton
|
|
Caption="Ban"
|
|
Hint="Ban this player"
|
|
WinWidth=0.120000
|
|
WinHeight=0.070625
|
|
WinLeft=0.868750
|
|
WinTop=0.900000
|
|
OnClick=InternalOnClick
|
|
bBoundToParent=True
|
|
bScaleToParent=True
|
|
End Object
|
|
b_Ban=BanButton
|
|
|
|
WinLeft=0
|
|
WinWidth=1
|
|
WinTop=0
|
|
WinHeight=0.625003
|
|
|
|
PanelCaption="Players"
|
|
}
|