Arma Reforger Script API
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
SCR_DataCollectorComponent Interface Reference
Inheritance diagram for SCR_DataCollectorComponent:
[legend]

Public Member Functions

array< float > GetFactionStats (FactionKey key)
 SCR_EDataStats of all players belonging to a faction added Some of those stats don't make sense as they are (ie.
 
map< FactionKey, ref array< float > > GetAllFactionStats ()
 GetAllFactionStats can be used in weird user cases Most of the time GetFactionStats should be enough Also, I am returning the pointer to the original attribute, so technically, this is unsafe.
 
void AddStatsToFaction (FactionKey key, notnull array< float > stats)
 
override void OnGameEnd ()
 When game shuts down, store the profile of every player who hasn't disconnected yet.
 
SCR_DataCollectorModule FindModule (TypeName type)
 
Managed GetPlayerDataStats (int playerID)
 
SCR_PlayerData GetPlayerData (int playerID, bool createNew=true, bool requestFromBackend=true)
 
void StartDataCollectorSession ()
 We call StartDataCollectorSession when the backend session is ready (OnGameModeStart) because that's the time when we can check whether the server has writing privileges If the server has no writing privileges, we don't bother tracking their performance.
 
- Public Member Functions inherited from SCR_BaseGameModeComponent
SCR_BaseGameMode GetGameMode ()
 
void OnGameEnd ()
 Called on all machines when the world ends.
 
void OnGameStateChanged (SCR_EGameModeState state)
 Called when game mode state changes called on all machines.
 
void OnGameModeStart ()
 Called on every machine when game mode starts.
 
void OnGameModeEnd (SCR_GameModeEndData data)
 Called when game mode ends.
 
void OnPlayerConnected (int playerId)
 Called after a player is connected.
 
void OnPlayerAuditSuccess (int playerId)
 Event is called when player connecting Session hosting current Game Mode where is required authentication verification via.
 
void OnPlayerAuditFail (int playerId)
 Event is called when player connecting Session hosting current Game Mode AuditFail() call may be called under two occasions: 1) verification is required but failed (account is not valid, player is banned, internet issues) 2) player cannot be verified as authentication is not required or possible - where it may be valid behavior (server online connectivity turned off for example) Basically non-audited player cannot access persistency/ etc.
 
void OnPlayerAuditTimeouted (int playerId)
 Event is called when player connected to Session was kicked and did not reconnected in time This mean that slot reservation can be canceled.
 
void OnPlayerAuditRevived (int playerId)
 Event is called when player reconnected successfully back to Session after kick This mean that slot reservation need to be finished (closed).
 
void OnPlayerRegistered (int playerId)
 Called on every machine after a player is registered (identity, name etc.).
 
void OnPlayerDisconnected (int playerId, KickCauseCode cause, int timeout)
 Called after a player is disconnected.
 
void OnPlayerSpawned (int playerId, IEntity controlledEntity)
 Called after a player is spawned.
 
bool PreparePlayerEntity_S (SCR_SpawnRequestComponent requestComponent, SCR_SpawnHandlerComponent handlerComponent, SCR_SpawnData data, IEntity entity)
 
void OnSpawnPlayerEntityFailure_S (SCR_SpawnRequestComponent requestComponent, SCR_SpawnHandlerComponent handlerComponent, IEntity entity, SCR_SpawnData data, SCR_ESpawnResult reason)
 
void OnPlayerSpawnFinalize_S (SCR_SpawnRequestComponent requestComponent, SCR_SpawnHandlerComponent handlerComponent, SCR_SpawnData data, IEntity entity)
 
bool HandlePlayerKilled (int playerId, IEntity playerEntity, IEntity killerEntity, notnull Instigator killer)
 See SCR_BaseGameMode.HandlePlayerKilled.
 
void OnPlayerKilled (int playerId, IEntity playerEntity, IEntity killerEntity, notnull Instigator killer)
 Called after a player gets killed.
 
void OnPlayerKilledHandled (int playerId, IEntity playerEntity, IEntity killerEntity, notnull Instigator killer)
 Called after player gets killed in cases where the kill was handled by the game mode, supressing the default OnPlayerKilled behaviour.
 
void OnPlayerDeleted (int playerId, IEntity player)
 Called after a player gets deleted.
 
void OnPlayerRoleChange (int playerId, EPlayerRole roleFlags)
 Called when player role changes.
 
void OnWorldPostProcess (World world)
 Called once loading of all entities of the world have been finished (still within the loading)
 
void HandleOnLoadoutAssigned (int playerID, SCR_BasePlayerLoadout assignedLoadout)
 What happens when a player is assigned a loadout.
 
void HandleOnFactionAssigned (int playerID, Faction assignedFaction)
 What happens when a player is assigned a faction.
 
void HandleOnSpawnPointAssigned (int playerID, SCR_SpawnPoint spawnPoint)
 What happens when a player is assigned a spawn point.
 
void OnControllableSpawned (IEntity entity)
 When a controllable entity is spawned, this event is raised.
 
void OnControllableDestroyed (IEntity entity, IEntity killerEntity, notnull Instigator killer)
 When a controllable entity is destroyed, this event is raised.
 
void OnControllableDeleted (IEntity entity)
 Prior to a controllable entity being DELETED, this event is raised.
 
void SCR_BaseGameModeComponent (IEntityComponentSource src, IEntity ent, IEntity parent)
 

Protected Member Functions

override void OnGameModeEnd (SCR_GameModeEndData data)
 Called when game mode ends.
 
bool IsMaster ()
 
void RemovePlayer (int playerID)
 
int GetPlayers (out notnull array< int > outPlayers)
 
override void OnPlayerAuditSuccess (int playerId)
 Event is called when player connecting Session hosting current Game Mode where is required authentication verification via.
 
override void OnPlayerConnected (int playerId)
 Called after a player is connected.
 
override void OnPlayerDisconnected (int playerId, KickCauseCode cause, int timeout)
 Called after a player is disconnected.
 
override void OnPlayerSpawned (int playerId, IEntity controlledEntity)
 Called after a player is spawned.
 
override void OnPlayerKilled (int playerId, IEntity playerEntity, IEntity killerEntity, notnull Instigator killer)
 Called after a player gets killed.
 
void OnAIKilled (IEntity AIEntity, IEntity killerEntity, notnull Instigator killer)
 
override void OnControllableDestroyed (IEntity entity, IEntity killerEntity, notnull Instigator killer)
 When a controllable entity is destroyed, this event is raised.
 
override void OnGameModeStart ()
 Called on every machine when game mode starts.
 
void DisableModules ()
 Use this method to disable all the modules.
 
override void EOnFrame (IEntity owner, float timeSlice)
 
override void OnPostInit (IEntity owner)
 

Protected Attributes

ref array< ref SCR_DataCollectorModulem_aModules
 
bool m_bOptionalKicking
 
int m_iOptionalKickingFriendlyPlayerKillPenalty
 
int m_iOptionalKickingFriendlyAIKillPenalty
 
int m_iOptionalKickingKickPenaltyLimit
 
int m_iOptionalKickingBanDuration
 
int m_iOptionalKickingPenaltySubtractionPeriod
 
int m_iOptionalKickingPenaltySubtractionPoints
 
ref SCR_LocalPlayerPenalty m_OptionalKicking
 
ref map< int, ref SCR_PlayerDatam_mPlayerData = new map<int, ref SCR_PlayerData>()
 
IEntity m_Owner
 
ref SCR_DataCollectorUI m_UiHandler
 
ref map< FactionKey, ref array< float > > m_mFactionScore = new map<FactionKey, ref array<float>>()
 
- Protected Attributes inherited from SCR_BaseGameModeComponent
SCR_BaseGameMode m_pGameMode
 The game mode entity this component is attached to.
 

Member Function Documentation

◆ AddStatsToFaction()

void SCR_DataCollectorComponent.AddStatsToFaction ( FactionKey  key,
notnull array< float >  stats 
)
Parameters
[in]key
[in]stats

◆ DisableModules()

void SCR_DataCollectorComponent.DisableModules ( )
protected

Use this method to disable all the modules.

◆ EOnFrame()

override void SCR_DataCollectorComponent.EOnFrame ( IEntity  owner,
float  timeSlice 
)
protected

◆ FindModule()

SCR_DataCollectorModule SCR_DataCollectorComponent.FindModule ( TypeName  type)
Parameters
[in]type
Returns
found module or null if not found

◆ GetAllFactionStats()

map< FactionKey, ref array< float > > SCR_DataCollectorComponent.GetAllFactionStats ( )

GetAllFactionStats can be used in weird user cases Most of the time GetFactionStats should be enough Also, I am returning the pointer to the original attribute, so technically, this is unsafe.

May make safer (or remove) in the future. Use responsibly!

Returns

◆ GetFactionStats()

array< float > SCR_DataCollectorComponent.GetFactionStats ( FactionKey  key)

SCR_EDataStats of all players belonging to a faction added Some of those stats don't make sense as they are (ie.

Rank, LevelOfExperience) Bear that in mind when using these

Parameters
[in]key
Returns

◆ GetPlayerData()

SCR_PlayerData SCR_DataCollectorComponent.GetPlayerData ( int  playerID,
bool  createNew = true,
bool  requestFromBackend = true 
)
Parameters
[in]playerID
[in]createNew
[in]requestFromBackend
Returns

◆ GetPlayerDataStats()

Managed SCR_DataCollectorComponent.GetPlayerDataStats ( int  playerID)
Parameters
[in]playerID
Returns

◆ GetPlayers()

int SCR_DataCollectorComponent.GetPlayers ( out notnull array< int >  outPlayers)
protected

◆ IsMaster()

bool SCR_DataCollectorComponent.IsMaster ( )
protected

◆ OnAIKilled()

void SCR_DataCollectorComponent.OnAIKilled ( IEntity  AIEntity,
IEntity  killerEntity,
notnull Instigator  killer 
)
protected

◆ OnControllableDestroyed()

override void SCR_DataCollectorComponent.OnControllableDestroyed ( IEntity  entity,
IEntity  killerEntity,
notnull Instigator  killer 
)
protected

When a controllable entity is destroyed, this event is raised.

Entity is destroyed when DamageManager.OnStateChanged -> EDamageState.Destroyed

Parameters
[in]entityDestroyed entity that raised this event
[in]killerEntityInstigator entity that destroyed our victim
[in]killerInstigator of the kill

Implements SCR_BaseGameModeComponent.

◆ OnGameEnd()

override void SCR_DataCollectorComponent.OnGameEnd ( )

When game shuts down, store the profile of every player who hasn't disconnected yet.

Implements SCR_BaseGameModeComponent.

◆ OnGameModeEnd()

override void SCR_DataCollectorComponent.OnGameModeEnd ( SCR_GameModeEndData  data)
protected

Called when game mode ends.

Parameters
[in]dataEnd game data with game logic.

Implements SCR_BaseGameModeComponent.

◆ OnGameModeStart()

override void SCR_DataCollectorComponent.OnGameModeStart ( )
protected

Called on every machine when game mode starts.

This can be immediate (if no pre-game period is set) or can happen after a certain delay, as deemed appropriate by the authority.

Implements SCR_BaseGameModeComponent.

◆ OnPlayerAuditSuccess()

override void SCR_DataCollectorComponent.OnPlayerAuditSuccess ( int  playerId)
protected

Event is called when player connecting Session hosting current Game Mode where is required authentication verification via.

platform services AuditSuccess() call specifically mean this verification was successful Basically audited player has access to persistency/ etc. related functionality provided by online services.

Parameters
[in]playerIdis index of player in game, equal to the one assigned at PlayerController

Implements SCR_BaseGameModeComponent.

◆ OnPlayerConnected()

override void SCR_DataCollectorComponent.OnPlayerConnected ( int  playerId)
protected

Called after a player is connected.

Server-only.

Parameters
[in]playerIdPlayerId of connected player.

Implements SCR_BaseGameModeComponent.

◆ OnPlayerDisconnected()

override void SCR_DataCollectorComponent.OnPlayerDisconnected ( int  playerId,
KickCauseCode  cause,
int  timeout 
)
protected

Called after a player is disconnected.

Parameters
[in]playerIdPlayerId of disconnected player.
[in]causeReason player disconnected
[in]timeoutTimeout for when players are allowed to connect again. -1 means Ban without an assigned timeout

Implements SCR_BaseGameModeComponent.

◆ OnPlayerKilled()

override void SCR_DataCollectorComponent.OnPlayerKilled ( int  playerId,
IEntity  playerEntity,
IEntity  killerEntity,
notnull Instigator  killer 
)
protected

Called after a player gets killed.

Parameters
[in]playerIdPlayerId of victim player.
[in]playerEntityentity of victim player if any.
[in]killerEntityEntity of killer instigator if any.
[in]killerInstigator of the kill

Implements SCR_BaseGameModeComponent.

◆ OnPlayerSpawned()

override void SCR_DataCollectorComponent.OnPlayerSpawned ( int  playerId,
IEntity  controlledEntity 
)
protected

Called after a player is spawned.

Parameters
[in]playerIdPlayerId of spawned player.
[in]controlledEntitySpawned entity for this player.

Implements SCR_BaseGameModeComponent.

◆ OnPostInit()

override void SCR_DataCollectorComponent.OnPostInit ( IEntity  owner)
protected

◆ RemovePlayer()

void SCR_DataCollectorComponent.RemovePlayer ( int  playerID)
protected

◆ StartDataCollectorSession()

void SCR_DataCollectorComponent.StartDataCollectorSession ( )

We call StartDataCollectorSession when the backend session is ready (OnGameModeStart) because that's the time when we can check whether the server has writing privileges If the server has no writing privileges, we don't bother tracking their performance.

Member Data Documentation

◆ m_aModules

ref array<ref SCR_DataCollectorModule> SCR_DataCollectorComponent.m_aModules
protected

◆ m_bOptionalKicking

bool SCR_DataCollectorComponent.m_bOptionalKicking
protected

◆ m_iOptionalKickingBanDuration

int SCR_DataCollectorComponent.m_iOptionalKickingBanDuration
protected

◆ m_iOptionalKickingFriendlyAIKillPenalty

int SCR_DataCollectorComponent.m_iOptionalKickingFriendlyAIKillPenalty
protected

◆ m_iOptionalKickingFriendlyPlayerKillPenalty

int SCR_DataCollectorComponent.m_iOptionalKickingFriendlyPlayerKillPenalty
protected

◆ m_iOptionalKickingKickPenaltyLimit

int SCR_DataCollectorComponent.m_iOptionalKickingKickPenaltyLimit
protected

◆ m_iOptionalKickingPenaltySubtractionPeriod

int SCR_DataCollectorComponent.m_iOptionalKickingPenaltySubtractionPeriod
protected

◆ m_iOptionalKickingPenaltySubtractionPoints

int SCR_DataCollectorComponent.m_iOptionalKickingPenaltySubtractionPoints
protected

◆ m_mFactionScore

ref map<FactionKey, ref array<float> > SCR_DataCollectorComponent.m_mFactionScore = new map<FactionKey, ref array<float>>()
protected

◆ m_mPlayerData

ref map<int, ref SCR_PlayerData> SCR_DataCollectorComponent.m_mPlayerData = new map<int, ref SCR_PlayerData>()
protected

◆ m_OptionalKicking

ref SCR_LocalPlayerPenalty SCR_DataCollectorComponent.m_OptionalKicking
protected

◆ m_Owner

IEntity SCR_DataCollectorComponent.m_Owner
protected

◆ m_UiHandler

ref SCR_DataCollectorUI SCR_DataCollectorComponent.m_UiHandler
protected

The documentation for this interface was generated from the following file: