Стим или не стим

Тема в разделе "Технические вопросы", создана пользователем mantis, 4 мар 2018.

  1. mantis

    mantis Соучастник

    Люди добрые, подскажите
    реально ли как то на 100% определить что игрок зашел на сервер именно со Steam версии или нет?
    С ServerPerks или без... Не суть
     
  2. Arckon.

    Arckon. Соучастник

    Сделай сервер доступным только для Steam-клиентов.
     
  3. Flame

    Flame -Заслуженый кодер форума-

    Как раз недавно думал об этом
    Такое вот пока только придумал:
    Код:
    simulated function Tick(float dt)
    {
        local PlayerController PC;
        local SteamStatsAndAchievementsBase.SteamStatInt TmpStat;
        PC=Level.GetLocalPlayerController();
        if(PC==none)
            return;
        MySteamStatsAndAchievements.GetStatInt(TmpStat,"Stat46");
        Log("SteamVars.0"@TmpStat.Value);
    ...
    }
    
    В этом мутаторе я вытаскиваю значения стим кача
    Так вот если вытащить значение SteamNameStat="Stat46" (в комментариях пишут, что это используется для определения ивента)
    То получим для стима значение 2, а для пиратки значение 0 (так как такая переменная никак в Stats.bin не сохраняется)

    Чуть позже добавлю в указанный выше мутатор эту проверку, чтобы можно было только стимовцам кач конвертировать в SP

    Так же можно было бы использовать значения каких-нибудь ачивок. Наверняка есть ачивки, которые выполнены у всех более менее прокачавшихся (убейте 1000 мутантов, например)
     
    mantis нравится это.
  4. Flame

    Flame -Заслуженый кодер форума-

    Обновил мутатор. Теперь там добавлена подобная проверка
    В ClientItem в тике мы получаем значение KFSteamStatsAndAchievements.Stat46
    Передаём на сервер и там в ServerItem проверяем в Tick'е равенство или неравенство 2