Регистрация Главная Сообщество
Сообщения за день Справка Регистрация
Навигация
Zhyk.org LIVE! Реклама на Zhyk.org Правила Форума Награды и достижения Доска "почета"

Примерочная

-

ArcheAge

- Читы и баги, статьи и описания из мира ArcheAge в этом разделе.

Ответ
 
Опции темы
Старый 10.04.2014, 22:59   #1
 Сержант
Аватар для AнTиKиJIеP
 
AнTиKиJIеP блестящий пример для подражанияAнTиKиJIеP блестящий пример для подражанияAнTиKиJIеP блестящий пример для подражанияAнTиKиJIеP блестящий пример для подражанияAнTиKиJIеP блестящий пример для подражанияAнTиKиJIеP блестящий пример для подражанияAнTиKиJIеP блестящий пример для подражанияAнTиKиJIеP блестящий пример для подражанияAнTиKиJIеP блестящий пример для подражанияAнTиKиJIеP блестящий пример для подражанияAнTиKиJIеP блестящий пример для подражания
Регистрация: 01.04.2012
Сообщений: 105
Популярность: 1512
Сказал(а) спасибо: 157
Поблагодарили 422 раз(а) в 257 сообщениях
Отправить сообщение для AнTиKиJIеP с помощью Skype™
 
По умолчанию Примерочная

С помощью программы вы сможете узнать, как выглядит на персонажах тот или иной игровой предмет (одежда и оружие). Амуниция отображается непосредственно в игре (в окне выбора персонажа), поэтому для работы программы требуется наличие официального клиента ArcheAge. Программа работает автономно, игровой аккаунт не нужен, официальные серверы могут быть отключены.

Ссылка: [Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ] | [Ссылки могут видеть только зарегистрированные пользователи. ]

[Ссылки могут видеть только зарегистрированные пользователи. ]

Чтобы добавить полезности, вот так отсылаю список персонажей:

Код:
procedure TGame.SendPlayerList(Stream: TGameStream; Char: TCharacter);
var
  P: TGamePacket;
  S: RawByteString;
  I: Integer;
 
  procedure WriteItem(ItemId: Integer);
  var
    I: Integer;
  begin
    P.WriteD(ItemId);
    if ItemId > 0 then
      begin
        P.WriteD(1); // ObjectId
        for I := 1 to 6 do P.WriteC(0);
        P.WriteC(1);
        for I := 1 to 3 do P.WriteC(0);
        P.WriteC(1);
        for I := 1 to 4 do P.WriteC(0);
        P.WriteC(1);
        for I := 1 to 62 do P.WriteC(0);
        P.WriteC(3);
        for I := 1 to 16 do P.WriteC(0);
      end;
  end;
begin
  P := TGamePacket.Create;
  try
    P.Id := $003901DD;
    P.WriteC(1);
    P.WriteC(1);
    P.WriteD(Char.Id);
    P.WriteS(Char.Name);
 
    P.WriteC(Char.Model.race);
    P.WriteC(Char.Model.gender);
    P.WriteC(Char.Level);
    P.WriteC($64);
    P.WriteC(1);
    P.WriteC(0);
    P.WriteC(0);
    P.WriteD($178);
    P.WriteD(180); // zone_id?
    P.WriteC(101); // faction_id?
    for I := 1 to 21 do P.WriteC(0);
 
    WriteItem(Char.Chest);
    WriteItem(Char.Head);
    WriteItem(Char.Legs);
    WriteItem(Char.Gloves);
    WriteItem(Char.Feet);
 
    P.WriteD(0);
    P.WriteD(0);
    P.WriteD(0);
    P.WriteD(0);
    P.WriteD(0);
    P.WriteD(0);
    P.WriteD(0);
    P.WriteD(0);
 
    WriteItem(Char.Weapon);
    WriteItem(Char.WeaponExtra);
    WriteItem(Char.WeaponRanged);
    WriteItem(Char.Instrument);
 
    P.WriteD(Char.Model.face);
    P.WriteD(Char.Model.hair_id);
 
    P.WriteD(0);
    P.WriteD(0);
    P.WriteD(0);
 
    P.WriteD(Char.Model.body);
 
    S := RawByteString(#$00#$00#$00#$00#$00#$00#$00#$00#$00#$00#$00#$00#$01 +
    #$0B#$0B#$00#$00#$00#$00#$28#$5F#$CD#$03#$00#$00#$00#$00#$40#$2F +
    #$C1#$03#$AC#$7D#$FC#$42#$03);
    P.WriteB(@S[1], Length(S));
 
    P.WriteD(Char.Model.hair_color_id);
    P.WriteD(Char.Model.skin_color_id);
    P.WriteD(0);
    P.WriteD(0);
    P.WriteSingle(1);
    P.WriteSingle(1);
    P.WriteD(0);
    P.WriteD(0);
    P.WriteD(Char.Model.face_fixed_decal_asset_0_id);
    P.WriteSingle(Char.Model.face_fixed_decal_asset_0_weight);
    P.WriteD(Char.Model.face_fixed_decal_asset_1_id);
    P.WriteSingle(Char.Model.face_fixed_decal_asset_1_weight);
    P.WriteD(Char.Model.face_fixed_decal_asset_2_id);
    P.WriteSingle(Char.Model.face_fixed_decal_asset_2_weight);
    P.WriteD(Char.Model.face_fixed_decal_asset_3_id);
    P.WriteSingle(Char.Model.face_fixed_decal_asset_3_weight);
    P.WriteD(0);
    P.WriteD(Char.Model.face_normal_map_id);
    P.WriteD(0);
    P.WriteSingle(1);
    P.WriteD(0);
    P.WriteD(Char.Model.left_pupil_color);
    P.WriteD(Char.Model.right_pupil_color);
    P.WriteD(Char.Model.eyebrow_color);
    P.WriteD(Char.Model.deco_color);
 
    S := HexToStr(Char.Model.modifier);
    P.WriteH(Length(S));
    if S <> '' then
      begin
        P.WriteB(@S[1], Length(S));
      end;
 
    P.WriteD(500); // очки работы
 
    S := RawByteString(#$BF +
    #$F5#$F0#$52#$00#$00#$00#$00#$00#$00#$6B#$52#$EF#$52#$00#$00#$00 +
    #$00#$00#$00#$00#$00#$6B#$52#$EF#$52#$00#$00#$00#$00#$00#$00#$00 +
    #$00#$7A#$F5#$F0#$52#$00#$00#$00#$00#$00#$00#$00#$00#$00#$00#$00 +
    #$00#$00#$00#$00#$00#$00#$00#$00#$00#$00#$00#$00#$00#$00#$00#$00 +
    #$00#$00#$00#$00#$00#$00#$00#$00#$00#$00#$00#$00#$00#$00#$00#$00 +
    #$00#$00#$00#$00#$00#$00#$00#$00#$00#$03#$00#$00#$00#$00#$00#$00 +
    #$00#$00#$00#$00#$00#$00#$00#$00#$00#$00#$00#$00#$00#$00#$00#$00 +
    #$00#$00#$00#$00#$00#$00#$00#$00#$00#$00#$00#$00#$00#$00#$00#$00 +
    #$00#$00#$5E#$D5#$F0#$52#$00#$00#$00#$00);
    P.WriteB(@S[1], Length(S));
 
    Stream.Send(P);
  finally
    FreeAndNil(P);
  end;
end;
Code: Pascal
  Ответить с цитированием
Ответ


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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Информация] Примерочная ReD BlOOd Баги и читы Perfect World 36 28.04.2011 10:28

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 00:50.

Пишите нам: forum@zhyk.ru
Copyright © 2025 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net