How to find out the average perk level of all players in the game

How to find out the average perk level of all players in the game

  • Topic closed
  • You cannot reply to this topic

How to find out the average perk level of all players in the game How to find out the average perk level of all players in the game If on the client, then it’s much better to use from GameReplicationInfo If this is some kind of GUI element, then you can do this If this is SRScoreBoa...

Geekrainian #1

    • Group: Admin
    • Posts: 800

    Posted:

    How to find out the average perk level of all players in the game

    function bool TeamIsStrong()
    {
        local Controller C;
        local int levelSum;
        local int N;
        for( C = Level.ControllerList; C != None; C = C.nextController )
        {
            if( C.IsA('PlayerController') && C.Pawn!=None && C.PlayerReplicationInfo.PlayerID>0 && C.Pawn.Health>0)
            {
                levelSum+=KFPlayerReplicationInfo(C.PlayerReplicationInfo).ClientVeteranSkillLevel;
                N++;
            }
        }
        if(levelSum/N>=11) return true;
        return false;
    }

    If on the client, then it’s much better to use

    var() array<PlayerReplicationInfo> PRIArray;

    from GameReplicationInfo

    If this is some kind of GUI element, then you can do this

    local GameReplicationInfo GRI;
    local PlayerReplicationInfo PRI;
    GRI = PlayerController(PlayerOwner()).GameReplicationInfo;
    for ( i = 0; i < GRI.PRIArray.Length; i++)
    {
        PRI = GRI.PRIArray[i];
        ...
    }

    If this is SRScoreBoard, then there is already a GRI there (obtained from the great-great-grandparent of ScoreBoard from Engine) If not GUI, then the local controller can be obtained from here: Level.GetLocalPlayerController()

    Back