[F.A.Q] Перенос статистики с одного SteamID на другой

Тема в разделе "HLstatsX:CE", создана пользователем Sam_Fisher, 18 апр 2014.

  1. Sam_Fisher

    Sam_Fisher

    Сообщения:
    703
    Симпатии:
    202
    Необходимость переноса чаще всего возникает тогда, когда игрок Вашего сервера приобретает лицензионную версию игры, а играя с пиратки, он уже неплохо поднялся в статистике. Тут-то и возникает вопрос о том, как бы перенести его статистику (не набирать же ее игроку вновь, не всем это понравится).
    Постараюсь более доходчиво и наглядно объяснить как изменить SteamID игрока в статистике HLstatsX:CE.

    Шаг 1. Подготовка к переносу.
    Прежде всего, необходимо найти оба аккаунта игрока (старый и новый).
    Обязательно отключаем Deamon статистики, если игрок находится на сервере на момент изменений!!!
    После того, как Вы отключили Deamon статистики, нужно записать новый SteamID игрока, чтобы не потерять и узнать ID игрока в самой статистике (Не путать SteamID и ID игрока в статистике - это две совершенно разные вещи!!!) Как узнать SteamID, думаю, все знают, а кто не знает, напоминаю, выглядит он примерно так: STEAM_0:X:XXXXXXXXXX, а найти его можно на странице профиля игрока в статистике.

    ID игрока можно найти так:
    • Открываем страницу статистики.
    • Переходим к списку игроков.
    • Ищем нужного игрока (его новый профиль).
    • Открываем его профиль.
    • В адресной строке браузера, мы видим что-то вроде этого:
      Код:
      http://your_hlstats_url/hlstats.php?mode=playerinfo&player=38069
    38069 - это и есть ID нового игрока в статистике.

    Шаг 2. Удаление нового игрока из базы.
    Теперь нам необходимо удалить нового игрока из базы статистики.
    Для этого, необходимо:
    • Войти в phpMyAdmin для управления базой данных статистики.
    • Выбираем базу данных статистики (если у Вас много баз данных на одном аккаунте).
    • В phpMyAdmin выбираем пункт SQL:
      [​IMG]
    И выполняем запрос:
    Код:
    DELETE FROM имя_вашей_базы.hlstats_Players WHERE playerId='38069';
    
    DELETE FROM имя_вашей_базы.hlstats_PlayerNames WHERE playerId='38069';
    
    DELETE FROM имя_вашей_базы.hlstats_PlayerUniqueIds WHERE playerId='38069';
    
    DELETE FROM имя_вашей_базы.hlstats_Players_Awards WHERE playerId='38069';
    
    DELETE FROM имя_вашей_базы.hlstats_Players_History WHERE playerId='38069';
    
    DELETE FROM имя_вашей_базы.hlstats_Players_Ribbons WHERE playerId='38069';
    
    DELETE FROM имя_вашей_базы.hlstats_Events_ChangeName WHERE playerId='38069';
    
    DELETE FROM имя_вашей_базы.hlstats_Events_ChangeTeam WHERE playerId='38069';
    
    DELETE FROM имя_вашей_базы.hlstats_Events_Connects WHERE playerId='38069';
    
    DELETE FROM имя_вашей_базы.hlstats_Events_Disconnects WHERE playerId='38069';
    
    DELETE FROM имя_вашей_базы.hlstats_Events_Entries WHERE playerId='38069';
    
    DELETE FROM имя_вашей_базы.hlstats_Events_Frags WHERE killerId='38069';
    
    DELETE FROM имя_вашей_базы.hlstats_Events_Frags WHERE victimId='38069';
    
    DELETE FROM имя_вашей_базы.hlstats_Events_Latency WHERE playerId='38069';
    
    DELETE FROM имя_вашей_базы.hlstats_Events_PlayerActions WHERE playerId='38069';
    
    DELETE FROM имя_вашей_базы.hlstats_Events_Suicides WHERE playerId='38069';
    
    DELETE FROM имя_вашей_базы.hlstats_Events_TeamBonuses WHERE playerId='38069';
    
    DELETE FROM имя_вашей_базы.hlstats_Events_Teamkills WHERE killerId='38069';
    
    DELETE FROM имя_вашей_базы.hlstats_Events_Teamkills WHERE victimId='38069';
    Примечание: имя_вашей_базы меняете на имя своей базы статистики, например, stats; 38069 - ID игрока.
    Игрок, с указанным ID будет удален из базы.

    Шаг 3. Замена SteamID старого игрока.
    Замена производится так же через phpMyAdmin.
    В базе статистики находим таблицу hlstats_PlayerUniqueIds и выбираем ее.
    Получаем:
    [​IMG]
    Как было описано в первом шаге ищем ID СТАРОГО игрока.
    После того, как нашли ID игрока, меняем значение столбца uniqueId:
    [​IMG]
    Как видно на скрине, SteamID игрока в базе хранится немного в другом формате. Не в STEAM_0:X:XXXXXXXXXX, а в X:XXXXXXXXXX. Это означает, что STEAM_0: мы отбрасываем и вписываем только то, что стоит после.

    Вот и все, Steam ID старого игрока заменен на новый и его игровая статистика на Вашем сервере не затронута. Все довольны, а главное, что Вы теперь знаете больше. Удачного администрирования и побольше лицушников!

    Автор статьи - я.
    В шаге 2 использовал рекомендацию из этого поста.
    Оригинал статьи
     
    Последнее редактирование: 18 апр 2014
    CTe6eJIeK_vRn и radionucleid нравится это.