Arma Reforger Explorer 1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Loading...
Searching...
No Matches
SCR_KickPlayerContextAction.c
Go to the documentation of this file.
3{
4 [Attribute("0", desc: "How long before kicked-out player can reconnect.\n-1 means permanent ban (at least until exe restart)")]
5 protected int m_iKickTimeout;
6
7 [Attribute(uiwidget: UIWidgets.SearchComboBox, desc: "Reason for kicking shown to kicked-out player.", enums: ParamEnumArray.FromEnum(SCR_PlayerManagerKickReason))]
9
10 [Attribute(ETimeFormatParam.SECONDS.ToString(), desc: "How will the kick time out be converted and displayed within the UIInfo. EG: As Seconds, Minutes, Hours or Days.\n\nNot applicable if time is 0 or less", uiwidget: UIWidgets.SearchComboBox, enums: ParamEnumArray.FromEnum(ETimeFormatParam))]
12
13 //------------------------------------------------------------------------------------------------
14 override bool CanBeShown(SCR_EditableEntityComponent selectedEntity, vector cursorWorldPosition, int flags)
15 {
16 SCR_EditablePlayerDelegateComponent playerDelegate = SCR_EditablePlayerDelegateComponent.Cast(selectedEntity);
17 return playerDelegate && !SCR_Global.IsAdmin(playerDelegate.GetPlayerID());
18 }
19
20 //------------------------------------------------------------------------------------------------
21 override bool CanBePerformed(SCR_EditableEntityComponent selectedEntity, vector cursorWorldPosition, int flags)
22 {
23 return CanBeShown(selectedEntity, cursorWorldPosition, flags);
24 }
25
26 //------------------------------------------------------------------------------------------------
27 override void Perform(SCR_EditableEntityComponent hoveredEntity, notnull set<SCR_EditableEntityComponent> selectedEntities, vector cursorWorldPosition,int flags, int param = -1)
28 {
29 SCR_EditablePlayerDelegateComponent playerDelegate;
30 foreach (SCR_EditableEntityComponent entity: selectedEntities)
31 {
32 playerDelegate = SCR_EditablePlayerDelegateComponent.Cast(entity);
33 if (playerDelegate)
34 {
35 GetGame().GetPlayerManager().KickPlayer(playerDelegate.GetPlayerID(), m_KickReason, m_iKickTimeout);
36 }
37 }
38 }
39
40 //------------------------------------------------------------------------------------------------
42 {
44 return super.GetInfo();
45 }
46
47 //------------------------------------------------------------------------------------------------
48 protected void SetKickDurationInUIInfo()
49 {
50 //~ To time set or perma ban
51 if (m_iKickTimeout <= 0)
52 return;
53
54 SCR_FormatedUIInfo formattedUIInfo = SCR_FormatedUIInfo.Cast(m_Info);
55 if (!formattedUIInfo)
56 return;
57
58 string param1;
59 formattedUIInfo.GetParams(param1);
60 if (!param1.IsEmpty())
61 return;
62
64 {
65 case ETimeFormatParam.SECONDS:
66 {
67 formattedUIInfo.SetParams(m_iKickTimeout.ToString());
68 break;
69 }
70 case ETimeFormatParam.MINUTES:
71 {
72 formattedUIInfo.SetParams((m_iKickTimeout / 60).ToString());
73 break;
74 }
75 case ETimeFormatParam.HOURS:
76 {
77 formattedUIInfo.SetParams((m_iKickTimeout / 3600).ToString());
78 break;
79 }
80 case ETimeFormatParam.DAYS:
81 {
82 formattedUIInfo.SetParams((m_iKickTimeout / 86400).ToString());
83 break;
84 }
85 }
86 }
87};
SCR_EAIThreatSectorFlags flags
ETimeFormatParam
ArmaReforgerScripted GetGame()
Definition game.c:1398
SCR_AIAnimation_Loitering BaseContainerProps
Commanding menu commanding element class.
class SCR_ArsenalGameModeUIDataHolder SCR_BaseContainerCustomTitleUIInfo("m_UIInfo")
UI Textures DeployMenu Briefing conflict_HintBanner_1_UI desc
void GetParams(out string param1=string.Empty, out string param2=string.Empty, out string param3=string.Empty, out string param4=string.Empty)
void SetParams(string param1=string.Empty, string param2=string.Empty, string param3=string.Empty, string param4=string.Empty)
static bool IsAdmin(int playerID)
Definition Functions.c:1927
SCR_PlayerManagerKickReason m_KickReason
override void Perform(SCR_EditableEntityComponent hoveredEntity, notnull set< SCR_EditableEntityComponent > selectedEntities, vector cursorWorldPosition, int flags, int param=-1)
override bool CanBePerformed(SCR_EditableEntityComponent selectedEntity, vector cursorWorldPosition, int flags)
override bool CanBeShown(SCR_EditableEntityComponent selectedEntity, vector cursorWorldPosition, int flags)
SCR_FieldOfViewSettings Attribute
Tuple param1
proto external string ToString()
Plain C++ pointer, no weak pointers, no memory management.