Как узнать средний уровень перков всех игроков в игре

Как узнать средний уровень перков всех игроков в игре

  • Тема закрыта
  • Вы не можете ответить в тему

Как узнать средний уровень перков всех игроков в игре Как узнать средний уровень перков всех игроков в игре Если на клиенте, то куда лучше использовать из GameReplicationInfo Если это какой-то GUI элемент, то можно сделать так Если это SRScoreBoard, то там уже есть GRI (...

Geekrainian #1

    • Группа: Администратор
    • Сообщений: 800

    Отправлено:

    Как узнать средний уровень перков всех игроков в игре

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

    Если на клиенте, то куда лучше использовать

    var() array<PlayerReplicationInfo> PRIArray;

    из GameReplicationInfo

    Если это какой-то GUI элемент, то можно сделать так

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

    Если это SRScoreBoard, то там уже есть GRI (получено ещё от прапрапрародителя ScoreBoard из Engine)
    Если не GUI, то локальный контроллер можно получить отсюда: Level.GetLocalPlayerController()

    Назад