Работа над Goddess of Destruction (part 5) - Страница 92 - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Пользователи Календарь Все разделы прочитаны
Вернуться   Форум администраторов игровых серверов > MMO > Lineage II

Lineage II
Дискуссии на тему создания, настройки и обслуживания серверов Lineage 2. При поддержке: Премиум услуги по рекламе

Закрытая тема
Опции темы
Непрочитано 15.07.2013, 19:18   #911
Аватар для DXVSI
Пользователь

По умолчанию Re: Работа над Goddess of Destruction (part 5)

Кто может скинуть рабочие пакеть UserInfo и CharInfo?
DXVSI вне форума Отправить сообщение для DXVSI с помощью Skype™
Непрочитано 16.07.2013, 22:15   #912
Аватар для kloni1
Пользователь

По умолчанию Re: Работа над Goddess of Destruction (part 5)

Подскажите пожалуйста, какой пакетик отвечает за то, что когда персонаж получает 4 профессию он подлетает вверх.
__________________
Помог не забудь "Спасибо"
kloni1 вне форума Отправить сообщение для kloni1 с помощью ICQ
Непрочитано 16.07.2013, 23:27   #913
Аватар для Gaikotsu
Герой

По умолчанию Re: Работа над Goddess of Destruction (part 5)

обычный пакет использования социалки
Gaikotsu вне форума
Непрочитано 17.07.2013, 00:02   #914
Аватар для kloni1
Пользователь

По умолчанию Re: Работа над Goddess of Destruction (part 5)

Цитата:
Сообщение от Gaikotsu Посмотреть сообщение
обычный пакет использования социалки
Спасибо нашел
__________________
Помог не забудь "Спасибо"
kloni1 вне форума Отправить сообщение для kloni1 с помощью ICQ
Непрочитано 18.07.2013, 10:36   #915
Пользователь

По умолчанию Re: Работа над Goddess of Destruction (part 5)

Ребята может кто дать ссылку на папку system с devmode для LineageII Goddess of Destruction - Epeisodion
буду благодарен!
Seneon вне форума
Непрочитано 18.07.2013, 10:50   #916
Аватар для Hint
Герой

По умолчанию Re: Работа над Goddess of Destruction (part 5)

Пакет ExUserInfo. Разбирал "на глаз", анализируя трафик, поэтому мог где-нибудь ошибиться. Если заполните пробелы, буду благодарен.

procedure TGameStream.ExUserInfoPacket(Packet: TGamePacket);
var
  I, Flags, Size: Integer;
  Clan: TClan;
 
  function ReadBlockSize(Fixed: Integer = 0): Integer;
  begin
    Result := Packet.ReadH;
    if (Fixed > 0) and (Result <> Fixed) then raise EBadPacket.Create('Invalid block size!');
  end;
 
begin
  with Packet do
    begin
      Player.ObjectId := ReadD;
      ReadH; // Size
      ReadH;
      ReadC;
      Flags := ReadD;
 
      if ((Flags shr 15) and 1) = 1 then
        begin
          ReadD;
        end;
 
      if ((Flags shr 14) and 1) = 1 then // 12, 14?
        begin
          ReadBlockSize;
 
          Player.Name := ReadS2;
          ReadC;
          Player.Race := ReadC;
          Player.Sex := ReadC;
          Player.BaseClassId := ReadD;
          Player.ClassId := ReadD;          
          Player.Level := ReadC;
        end;
 
      if ((Flags shr 13) and 1) = 1 then
        begin
          ReadBlockSize(14);
 
          Player.Str := ReadH;
          Player.Dex := ReadH;
          Player.Con := ReadH;
          Player.Int := ReadH;
          Player.Wit := ReadH;
          Player.Men := ReadH;
        end;
 
      if ((Flags shr 12) and 1) = 1 then // 12, 14?
        begin
          ReadBlockSize(14);
 
          Player.MaxHP := ReadD;
          Player.MaxMP := ReadD;
          Player.MaxCP := ReadD;
        end;
 
      if ((Flags shr 11) and 1) = 1 then
        begin
          ReadBlockSize(38);
 
          Player.HP := ReadD;
          Player.MP := ReadD;
          Player.CP := ReadD;
          Player.SP := ReadQ;
          Player.Exp := ReadQ;
          Player.ExpProgress := ReadF;
        end;
 
      if ((Flags shr 10) and 1) = 1 then
        begin
          ReadBlockSize(3);
 
          ReadC;
        end;
 
      if ((Flags shr 9) and 1) = 1 then // ?
        begin
          ReadBlockSize(15);
 
          Skip(13);
        end;
 
      if ((Flags shr 8) and 1) = 1 then
        begin
          ReadBlockSize(5);
 
          ReadC;
          Player.PrivateStoreType := ReadC;
          ReadC;
        end;
 
      if ((Flags shr 23) and 1) = 1 then
        begin
          ReadBlockSize(56);
 
          ReadH;
          Player.PAtk := ReadD;
          Player.PAtkSpd := ReadD;
          Player.PDef := ReadD;
          Player.EvasionRate := ReadD;
          Player.Accuracy := ReadD;
          Player.CriticalHit := ReadD;
          Player.MAtk := ReadD;
          Player.MAtkSpd := ReadD;
          Player.PAtkSpd := ReadD;
          Player.MAccuracy := ReadD;
          Player.MDef := ReadD;
          Player.MEvasionRate := ReadD;
          Player.MCriticalHit := ReadD;
        end;
 
      if ((Flags shr 22) and 1) = 1 then // 17 or 22
        begin
          ReadBlockSize(14);
 
          Player.Elements.Fire := ReadH;
          Player.Elements.Water := ReadH;
          Player.Elements.Wind := ReadH;
          Player.Elements.Earth := ReadH;
          Player.Elements.Holy := ReadH;
          Player.Elements.Dark := ReadH;
        end;
 
      if ((Flags shr 21) and 1) = 1 then
        begin
          ReadBlockSize(18);
 
          Player.Pos.X := ReadD;
          Player.Pos.Y := ReadD;
          Player.Pos.Z := ReadD;
          ReadD;
        end;
 
      if ((Flags shr 20) and 1) = 1 then // ?
        begin
          ReadBlockSize(18);
 
          for I := 1 to 4 do
            begin
              ReadH; // Run Speed
              ReadH; // Walk Speed
            end;
        end;
 
      if ((Flags shr 19) and 1) = 1 then
        begin
          ReadBlockSize(18);
 
          ReadF;
          ReadF;
        end;
 
      if ((Flags shr 18) and 1) = 1 then // ?
        begin
          ReadBlockSize(18);
 
          ReadF;
          ReadF;
        end;
 
      if ((Flags shr 17) and 1) = 1 then // 17 or 22
        begin
          ReadBlockSize(5);
 
          Player.Elements.AttackType := ReadC;
          Player.Elements.AttackPower := ReadH;
        end;
 
      if ((Flags shr 16) and 1) = 1 then
        begin
          ReadBlockSize;
 
          Player.Title := ReadS2;
          ReadH; // Subdivision
          Player.Clan.Id := ReadD;
          ReadD;
          Player.Clan.CrestId := ReadD;
          ReadD;
          ReadC;
          Player.Clan.AllyId :=ReadD;
          Player.Clan.AllyCrestId := ReadD;
          ReadC; // PartyRoom
        end;
 
      if ((Flags shr 31) and 1) = 1 then
        begin
          ReadBlockSize(22);
 
          Skip(12);
          Player.PvP := ReadD;
          Player.Recomendations := ReadH;
          ReadH;
        end;
 
      if ((Flags shr 30) and 1) = 1 then // ?
        begin
          Size := ReadBlockSize;
 
          Skip(Size - 2);
        end;
 
      if ((Flags shr 29) and 1) = 1 then // ?
        begin
          Size := ReadBlockSize;
 
          Skip(Size - 2);
        end;
 
      if ((Flags shr 28) and 1) = 1 then
        begin
          ReadBlockSize(4);
 
          ReadC;
          Player.IsStanding := ReadBoolC;
        end;
 
      if ((Flags shr 27) and 1) = 1 then // ?
        begin
          ReadBlockSize(10);
 
          Player.NameColor := ReadD;
          Player.TitleColor := ReadD;
        end;
 
      if ((Flags shr 26) and 1) = 1 then // ?
        begin
          Size := ReadBlockSize;
 
          Skip(Size - 2);
        end;
 
      if ((Flags shr 25) and 1) = 1 then // ?
        begin
          Size := ReadBlockSize;
 
          Skip(Size - 2);
        end;
 
      EndOfPacket;
    end;       
 
  ...
end;
Code: Pascal
__________________
hLaPEx, Evermore, hAuthD, L2on, ...

Последний раз редактировалось Hint; 18.07.2013 в 12:09.
Hint вне форума
Сказали спасибо:
Непрочитано 18.07.2013, 12:31   #917
Аватар для DXVSI
Пользователь

По умолчанию Re: Работа над Goddess of Destruction (part 5)

Кто может поделится рабочим shuttle_data ?
DXVSI вне форума Отправить сообщение для DXVSI с помощью Skype™
Непрочитано 18.07.2013, 13:06   #918
Пользователь

По умолчанию Re: Работа над Goddess of Destruction (part 5)

remove this post.

Последний раз редактировалось alexteam; 18.07.2013 в 14:07. Причина: Добавлено сообщение
alexteam вне форума
Непрочитано 18.07.2013, 13:49   #919
Аватар для Hint
Герой

По умолчанию Re: Работа над Goddess of Destruction (part 5)

Цитата:
Сообщение от alexteam Посмотреть сообщение
стало не так увлекательно. правда ?
Сути не меняет. Только номера от 0 и выше, а не задом наперёд.

Добавлено через 3 минуты
ExNPCInfo пока так:
procedure TGameStream.ExNPCInfoPacket(Packet: TGamePacket);
var
  I, Count, Flags: Integer;
  NPC: TNPC;
  Clan: TClan;
begin
  with Packet do
    begin
      NPC.ObjectId := ReadD;
      NPCs.Get(NPC.ObjectId, NPC);
 
      ReadC; // Packet Type (0, 1, 2)
      ReadH; // $25
      ReadC; // $ED or $60
      Flags := ReadD;
      ReadC;
      NPC.IsAttackable := ReadBoolC;
      ReadH;
      NPC.Name := ReadS;
      NPC.Title := ReadS;
      ReadH; // Data Size
 
      if ((Flags shr 27) and 1) = 1 then
        begin
          NPC.ClassId := ReadD - 1000000;
          NPC.Pos.X := ReadD;
          NPC.Pos.Y := ReadD;
          NPC.Pos.Z := ReadD;
          NPC.Heading := ReadD;
          NPC.MAtkSpd := ReadD;
          NPC.PAtkSpd := ReadD;
          ReadH;
          ReadH;
          ReadH;
          ReadH;
        end;
 
      if ((Flags shr 6) and 1) = 1 then
        begin
          ReadD;
          ReadD;
          ReadD;
        end;
 
      if ((Flags shr 27) and 1) = 1 then
        begin
          NPC.VisibleName := ReadBoolC;
          NPC.IsRunning := ReadBoolC;
          NPC.IsInCombat := ReadBoolC;
          NPC.IsAlikeDead := ReadBoolC;
          NPC.Invisible := ReadBoolC;
          Skip(6);
          NPC.CurHP := ReadD;
          NPC.MaxHP := ReadD;
          ReadC;
 
          Count := ReadH;
          for I := 1 to Count do ReadH;
        end;
    end;
Code: Pascal
__________________
hLaPEx, Evermore, hAuthD, L2on, ...

Последний раз редактировалось Hint; 18.07.2013 в 13:52. Причина: Добавлено сообщение
Hint вне форума
Сказали спасибо:
Непрочитано 18.07.2013, 14:07   #920
Пользователь

По умолчанию Re: Работа над Goddess of Destruction (part 5)

Цитата:
Сути не меняет
ну если то откуда можно взять длину битовой маски и то как клиент ее чекает сути не меняет. то считайте что вы ничего не видели.

п.с.
Цитата:
ReadH; // $25
ReadC; // $ED or $60
Flags := ReadD;
по тем же причинам. заведомо неправильно.
alexteam вне форума
Закрытая тема

Метки
development, goddess of destruction, l2j, l2p, lineage 2 tauti owned!, tauti, vistall убил 2 часа, атата, гео tauti за картоху, геодата бункера, иди копай, карательный отряд, картоха vs ява, ололо - жесть, технология батарей 0о, у корейцев недержание, шаурмэ фейл


Здесь присутствуют: 2 (пользователей: 0 , гостей: 2)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа над Goddess of Destruction (part 6) Ashe Lineage II 1304 11.07.2015 20:00
Работа над Goddess of Destruction Вопрос Мараторий Lineage II 29 11.06.2013 18:01
Работа над Goddess of Destruction (part 2) Ozzy Lineage II 411 22.06.2011 15:58
Работа над Goddess of Destruction JaFo Lineage II 409 20.05.2011 01:48
Адаптируем SQL BimBom Работа со скриптами 9 14.10.2009 15:14


© 2007–2020 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 08:34. Часовой пояс GMT +3.

Вверх