Как добавить ID в меню Stats для ServerPerks

Как добавить ID в меню Stats для ServerPerks

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

Как добавить ID в меню Stats для ServerPerks Как добавить ID в меню Stats для ServerPerks Так как SRStatList выполняется на клиенте, а нам нужно тащить значение ID с сервера, то поступим так 1 . В классе ServerPerks.ClientPerkRepLink добавим переменную и её рекп...

Geekrainian #1

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

    Отправлено:

    Как добавить ID в меню Stats для ServerPerks

    Так как SRStatList выполняется на клиенте, а нам нужно тащить значение ID с сервера, то поступим так

    1. В классе ServerPerks.ClientPerkRepLink добавим переменную и её рекпликацию на клиент

    var string PlayerHash;
    ...
    replication
    {
        reliable if( Role==ROLE_Authority && bNetOwner )
            ...
            ..., CustomLink, PlayerHash;
    ...

    2. В классе ServerPerksMut.ServerStStats добавим инициализацию переменной PlayerHash на сервере

    function RepCopyStats()
    {
        ...
        Rep.LostsCount = MyStatsObject.LostsCount;
        MyStatsObject.GetCustomValues(Rep.CustomLink);
        Rep.PlayerHash = KFPlayerController(Owner).GetPlayerIdHash();
    }

    Соответственно так как мы её прописали в репликацию, то она продублируется на клиенте.
    На самом деле RepCopyStats может и не самое лучшее место для инициализации, но пожалуй нормально.

    3. Собственно в классе ServerPerks.SRStatList правим функцию InitList и массив в defaultproperties

    function InitList( ClientPerkRepLink L )
    {
        ...
        StatProgress[25] = string(L.WinsCount);
        StatProgress[26] = string(L.LostsCount);
        StatProgress[27] = L.PlayerHash;
        ...
    }
    defaultproperties
    {
        ...
        ProgressName(25)="Won games"
        ProgressName(26)="Lost games"
        ProgressName(27)="ID"
        ...
    }

    Результат:

    Автор: Flame

    Назад