Регистрация Главная Сообщество
Сообщения за день Справка Регистрация
Навигация
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 лучик света в грозовом небе
Регистрация: 01.04.2012
Сообщений: 105
Популярность: 700
Сказал(а) спасибо: 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, время: 12:07.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net