Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Dismiss Notice

PEX UUID

Discussion in 'Управление сервером Bukkit' started by Dwool, Sep 28, 2014.

  1. Автор темы
    Dwool

    Dwool Активный участник Пользователь

    Trophy Points:
    68
    Здравствуйте! Меня интересует такой вопрос. Имеется интегрированный с БД PEX и ЛК. Так вот, при покупки, допустим, префикса перед ником, игроку присваивается номер (UUID) и расшифровка ника:
    [​IMG]
    И потом все ники (например, в группах) этого игрока заменяются на на этот номер. И получается, что ЛК не распознает игрока, коем образом, не может вывести дату окончания группы, и если игрок покупает группу, ник моментально зашифровается, и в итоге - на сервере группа есть, а в ЛК отображается, что группы нет.

    Что с этим делать?
     
  2. Хостинг MineCraft
    <
  3. alexandrage

    alexandrage Администратор

    Trophy Points:
    173
    Skype:
    alexandr0116
    Переписывать лк.
     
  4. Автор темы
    Dwool

    Dwool Активный участник Пользователь

    Trophy Points:
    68
    А как быть с тем, что плагин не всегда записывает UUID пользователя и его ник?
     
  5. oleg57zls

    oleg57zls Старожил Пользователь

    Trophy Points:
    173
    Skype:
    BlayzerQ
    Имя в Minecraft:
    Blayzer
    Есть ли ЛК переписанные под это?
     
  6. alexandrage

    alexandrage Администратор

    Trophy Points:
    173
    Skype:
    alexandr0116
    Всегда он записывает, когда игрок будет вигре его uuid запишется.
    Можете юзать uuid.php для перевода ника.
    https://github.com/alexandrage/Fix-Sashok/blob/master/site/uuid.php
     
  7. NewRut

    NewRut Активный участник Пользователь

    Trophy Points:
    63
    Имя в Minecraft:
    NewRut
  8. Kirich

    Kirich Активный участник Пользователь

    Trophy Points:
    78
    Функцию добавления в таблицу нужно переписать
     
  9. alexandrage

    alexandrage Администратор

    Trophy Points:
    173
    Skype:
    alexandr0116
    Че ты гонишь? uuid.php ставит дефисы. Вот даже в коде видно форматирование
    sprintf(
    '%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x',
     
  10. NewRut

    NewRut Активный участник Пользователь

    Trophy Points:
    63
    Имя в Minecraft:
    NewRut
    http://prntscr.com/8z985r
    362c11577a7736eca85f1626e476a03c = NewRut
    Должен быть: 362c1157-7a77-36ec-a85f-1626e476a03c

    <?php
    //by mssmaks
    function uuidFromString($string) {
    $val = md5($string, true);
    $byte = array_values(unpack('C16', $val));
    $tLo = ($byte[0] << 24) | ($byte[1] << 16) | ($byte[2] << 8) | $byte[3];
    $tMi = ($byte[4] << 8) | $byte[5];
    $tHi = ($byte[6] << 8) | $byte[7];
    $csLo = $byte[9];
    $csHi = $byte[8] & 0x3f | (1 << 7);
    if (pack('L', 0x6162797A) == pack('N', 0x6162797A)) {
    $tLo = (($tLo & 0x000000ff) << 24) | (($tLo & 0x0000ff00) << 8) | (($tLo & 0x00ff0000) >> 8) | (($tLo & 0xff000000) >> 24);
    $tMi = (($tMi & 0x00ff) << 8) | (($tMi & 0xff00) >> 8);
    $tHi = (($tHi & 0x00ff) << 8) | (($tHi & 0xff00) >> 8);
    }
    $tHi &= 0x0fff;
    $tHi |= (3 << 12);

    $uuid = sprintf(
    '%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x',
    $tLo, $tMi, $tHi, $csHi, $csLo,
    $byte[10], $byte[11], $byte[12], $byte[13], $byte[14], $byte[15]
    );
    return $uuid;
    }
    function uuidConvert($string)
    {
    $string = uuidFromString("OfflinePlayer:".$string);
    return $string;
    }​
    //uuidConvert($_GET['nick']);
    [DOUBLEPOST=1446721526,1446719296][/DOUBLEPOST]
    Все решено:
    Надо добавить дефис в launcher.php
    $stmt->bindValue(':md5', str_replace('-', '-', uuidConvert($realUser)));
    было: $stmt->bindValue(':md5', str_replace('-', '', uuidConvert($realUser)));
     
  11. alexandrage

    alexandrage Администратор

    Trophy Points:
    173
    Skype:
    alexandr0116
    Просто убрать str_replace надо было.
    $stmt->bindValue(':md5', uuidConvert($realUser));
     
  12. Larin

    Larin Старожил Пользователь

    Trophy Points:
    103
    В новых версиях UUID идёт вместо ника. Все работы с игроком надо проводить через UUID.
     

Share This Page