Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Примерочная
#1
Первые шаги изучения протокола AA привели к созданию примерочной.

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

Ссылка: http://aaplay.ru/static/files/wardrobe.zip

[Изображение: wardrobe.png]

Добавлено через 24 минуты
Чтобы добавить полезности, вот так отсылаю список персонажей:
[SRC="pascal"]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;[/SRC]
hLaPEx, Evermore, hAuthD, L2on, ...
Ответ
#2
А почему нет выбора варборнов? : (
[Изображение: 66666.1391617487.png]
Ответ
#3
Код:
const
  RACE_NUIAN = 1;
  RACE_ELF = 4;
  RACE_HARIHARAN = 5;
  RACE_FERRE = 6;
Расы 2 и 3 добавлять не стал Smile Пользователи бы не поняли.
hLaPEx, Evermore, hAuthD, L2on, ...
Ответ
#4
Hint Написал:
Код:
const
  RACE_NUIAN = 1;
  RACE_ELF = 4;
  RACE_HARIHARAN = 5;
  RACE_FERRE = 6;
Расы 2 и 3 добавлять не стал Smile Пользователи бы не поняли.

Что за расы 2 и 3? НПС чтоли?
Ответ
#5
Рассы 2 и 3 это рассы планируемые в игре в будущем

game/objects/characters/astra/
game/objects/characters/dwarf/
Ответ
#6
Отличная софтина.. Я б купил ^^
Ответ
#7
Mooni Написал:Отличная софтина.. Я б купил ^^

Что бы вы купили? линк на прогу в первом посте.
Ответ
#8
MHard Написал:Что бы вы купили? линк на прогу в первом посте.

Не важно! Я продам! :redlol::redlol:
[Изображение: 1852855861.png]
Ответ
#9
GOODPower Написал:Не важно! Я продам! :redlol::redlol:

с нами поделись, когда продаш. Big Grin
Ответ
#10
MHard Написал:Что бы вы купили? линк на прогу в первом посте.

Схожую прогу, но с моими ссылками.
Ответ


Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)