rott/kf_sources/GUI2K4/Classes/AdminPanelPlayers.uc
2026-07-14 20:27:09 +07:00

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"
}