Отображение виталити

  • Автор темы Автор темы Psycho
  • Дата начала Дата начала
Статус
В этой теме нельзя размещать новые ответы.

Psycho

Легенда
На английском патче работает/отображается, на русском нет, l2.ini одинаковые.
Куда копать?)
Screenshot_2.webp
 
Решение
Ну короче дело в патче как я понял, хотя странно, буквально вчера выкачал клиент с фогея, чекнул реву, пишет 542.
У мобиуса в сборке пакетка ближе к 541.

Берем 541 UIPacket
Код:
static function bool Decode_S_EX_USER_BOOST_STAT (out _S_EX_USER_BOOST_STAT packet)
{
  if (  !DecodeChar(packet.Type) )
  {
    return False;
  }
  if (  !DecodeChar(packet.Count) )
  {
    return False;
  }
  if (  !DecodeShort(packet.Percent) )
  {
    return False;
  }
  return True;
}

542
Код:
static function bool Decode_S_EX_USER_BOOST_STAT (out _S_EX_USER_BOOST_STAT packet)
{
  if (  !DecodeChar(packet.Type) )
  {
    return False;
  }
  if (  !DecodeChar(packet.Count) )
  {
    return False;
  }
  if (  !DecodeInt(packet.Percent) )
  {...
Если сборка одна и та же, клиент один и тот же и отличаются только l2.ini и на ру - не пашет, на англ пашет, я бы сделал compare в режиме онлайн на все что внутри этих двух ini и сверил разницу

P.S.Странно что виталити система вынесена в конфигурационный файл 🧑‍🦽
 
Если сборка одна и та же, клиент один и тот же и отличаются только l2.ini и на ру - не пашет, на англ пашет, я бы сделал compare в режиме онлайн на все что внутри этих двух ini и сверил разницу

P.S.Странно что виталити система вынесена в конфигурационный файл 🧑‍🦽
В том и прикол, я l2.ini тупо даже скопипастил из ен систем в ру систем, до задницы.
Если конечно подозрение, что эта залупа вообще лежит в GamePlayData.dat но она не открывается.
 
В том и прикол, я l2.ini тупо даже скопипастил из ен систем в ру систем, до задницы.
Если конечно подозрение, что эта залупа вообще лежит в GamePlayData.dat но она не открывается.
Все что мы видим на монике - это клиент.
Значит:
1. Поломанный интерфейс.xdat
2. Отправка пакета с кривыми данными
3. Какая-то конфигурация в датниках в папке систем?
4. Что-то жестко привязано на уровне клиентских файлов?

методом исключения пробуем:
1. Скорее всего отпадает, если ру.клиент и ен.клиент interface.xdat идентичныx можно чекнуть через xdateditor
2. Отпадает точно, т.к. сервер один и тот же и на ен.клиент все видно, на ру.клиент - нет
3. Вероятнее всего, но тогда нужно найти датник с твоим GamePlayData.dat из хроник пониже, которые открываются и глянуть там (я не мастер этой залупы, не знаю что там на верхних хрониках)
4. Сомнительно и скорее всего нет

Я бы открыл на хронах ниже файлы где может лежать что-то о виталити и чекнул там, хз.

P.S. А какой клиент протокол?
 
Все что мы видим на монике - это клиент.
Значит:
1. Поломанный интерфейс.xdat
2. Отправка пакета с кривыми данными
3. Какая-то конфигурация в датниках в папке систем?
4. Что-то жестко привязано на уровне клиентских файлов?

методом исключения пробуем:
1. Скорее всего отпадает, если ру.клиент и ен.клиент interface.xdat идентичныx можно чекнуть через xdateditor
2. Отпадает точно, т.к. сервер один и тот же и на ен.клиент все видно, на ру.клиент - нет
3. Вероятнее всего, но тогда нужно найти датник с твоим GamePlayData.dat из хроник пониже, которые открываются и глянуть там (я не мастер этой залупы, не знаю что там на верхних хрониках)
4. Сомнительно и скорее всего нет

Я бы открыл на хронах ниже файлы где может лежать что-то о виталити и чекнул там, хз.

P.S. А какой клиент протокол?
Патч чистый руоф за вчерашнее число, 542 прот.
Это не interface.xdat, хватит вспоминать ебаные интерлюды, это явно визуально вкл/выкл настройка, только я хз где эта срань находится.
 
Патч чистый руоф за вчерашнее число, 542 прот.
Это не interface.xdat, хватит вспоминать ебаные интерлюды, это явно визуально вкл/выкл настройка, только я хз где эта срань находится.
Interface.xdat есть и на хай левел протоколах, тут же дело не в интерлюдах xD. Это список всего что могло соответствовать твоей проблеме на мой личный взгляд, а дальше уже дело времени и тщательного поиска или призыва господ вида Gaikotsu которые могут шарить за расположение этой функциАнальщины.

В любом случае, удачи в поисках!
 
Речь про это?

L2_5uA1JvRCOv.webp

Ну со стороны клиента вроде никаких параметров для показа/скрытия оного нет.
А со стороны сервера это инфа с пакетов ExUserBoostStat - возможно в ру патче что-то в обработке этого пакета сломано или вобще с сервера они не приходят по какой-то причине.
 
Речь про это?

Посмотреть вложение 94475

Ну со стороны клиента вроде никаких параметров для показа/скрытия оного нет.
А со стороны сервера это инфа с пакетов ExUserBoostStat - возможно в ру патче что-то в обработке этого пакета сломано или вобще с сервера они не приходят по какой-то причине.
Ну короче дело в патче как я понял, хотя странно, буквально вчера выкачал клиент с фогея, чекнул реву, пишет 542.
 
Ну короче дело в патче как я понял, хотя странно, буквально вчера выкачал клиент с фогея, чекнул реву, пишет 542.
У мобиуса в сборке пакетка ближе к 541.

Берем 541 UIPacket
Код:
static function bool Decode_S_EX_USER_BOOST_STAT (out _S_EX_USER_BOOST_STAT packet)
{
  if (  !DecodeChar(packet.Type) )
  {
    return False;
  }
  if (  !DecodeChar(packet.Count) )
  {
    return False;
  }
  if (  !DecodeShort(packet.Percent) )
  {
    return False;
  }
  return True;
}

542
Код:
static function bool Decode_S_EX_USER_BOOST_STAT (out _S_EX_USER_BOOST_STAT packet)
{
  if (  !DecodeChar(packet.Type) )
  {
    return False;
  }
  if (  !DecodeChar(packet.Count) )
  {
    return False;
  }
  if (  !DecodeInt(packet.Percent) )
  {
    return False;
  }
  return True;
}

В ExUserBoostStat

Код:
        buffer.writeByte(_type.getId());
        buffer.writeByte(count);
        buffer.writeShort(bonus);
        
        нужно поменять на

        buffer.writeByte(_type.getId());
        buffer.writeByte(count);
        buffer.writeInt(bonus);
 
Решение
У мобиуса в сборке пакетка ближе к 541.

Берем 541 UIPacket
Код:
static function bool Decode_S_EX_USER_BOOST_STAT (out _S_EX_USER_BOOST_STAT packet)
{
  if (  !DecodeChar(packet.Type) )
  {
    return False;
  }
  if (  !DecodeChar(packet.Count) )
  {
    return False;
  }
  if (  !DecodeShort(packet.Percent) )
  {
    return False;
  }
  return True;
}

542
Код:
static function bool Decode_S_EX_USER_BOOST_STAT (out _S_EX_USER_BOOST_STAT packet)
{
  if (  !DecodeChar(packet.Type) )
  {
    return False;
  }
  if (  !DecodeChar(packet.Count) )
  {
    return False;
  }
  if (  !DecodeInt(packet.Percent) )
  {
    return False;
  }
  return True;
}

В ExUserBoostStat

Код:
        buffer.writeByte(_type.getId());
        buffer.writeByte(count);
        buffer.writeShort(bonus);
      
        нужно поменять на

        buffer.writeByte(_type.getId());
        buffer.writeByte(count);
        buffer.writeInt(bonus);
А там че на столько сильные различия, что пришлось инт юзать?

з.ы. заработало пасиба
Screenshot_3.webp
 
Может появились какие-то баффы/пассивки с таким бонусом, что при наличии их конечные значения в шорт уже не влазят? :)
Да хрен их знает, если уже и структуры от 520 прота к даткам не всем походят, видать опять свистоперделок напихали
 
Может появились какие-то баффы/пассивки с таким бонусом, что при наличии их конечные значения в шорт уже не влазят? :)
нет, они просто сделали дробную часть от short значения.

То-есть у тебя 100.99 - в клиент слать нужно 10099.
Раньше это округлялось до 101
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху Снизу