Тема: юзеринфо
Показать сообщение отдельно
Старый 27.08.2010, 01:16   #14
Местный
 
Регистрация: 10.08.2010
Сообщений: 634
Сказал Спасибо: 22
Имеет 95 спасибок в 70 сообщенях
mira пока неопределено
По умолчанию

Цитата:
Сообщение от J-Fobos Посмотреть сообщение
С этим у меня пока что проблем не возникало.
Delphi Код:
procedure UserInfo; var   i, CubicsSize, tmpCharObjectId: integer;   tmpMyName, tmpMyTitle: string;    begin   tmpCharObjectId:=ReadD(18);      if CharObjectId=0 then CharObjectId:=tmpCharObjectId;   case tmpCharObjectId of   CharObjectId:   begin     MyCorX:=ReadD(2);    MyCorY:=ReadD(6);    MyCorZ:=ReadD(10);    i:=22;    tmpMyName:=ReadS(i);                 i:=i+48;    MaxHP:=ReadD(i);    CurHP:=ReadD(i);    MaxMP:=ReadD(i);    CurMP:=ReadD(i);           i:= 552 + length(tmpMyName) * 2;    tmpMyTitle:=ReadS(i);    i:= i + 31;    CubicsSize:= ReadH(i);    i:= i + 28 + (CubicsSize * 2);           MaxCP:=ReadD(i);     CurCP:=ReadD(i);              end;       endend;
в принцыпе у меня так и есть
тоже учитываю тока длинну титула, имени и кубика...

Delphi Код:
PUserInfoA = ^TUserInfoA;  TUserInfoA = packed record   pos:TL2Vector;   heading : integer;   ID : DWORD;  end;  // тут ИМЯ нуль-терминальная юникод строка  PUserInfoB =^TUserInfoB;  TUserInfoB = packed record   race : DWORD;   sex : DWORD;   classid : DWORD;   lvl : DWORD;   exp : int64;   STR: DWORD;   DEX: DWORD;   CON: DWORD;   INT: DWORD;   WIT: DWORD;   MEN : DWORD;   MaxHP, CurrentHP:DWORD;   MaxMP, CurrentMP:DWORD;   sp: dword;   load:dword;   maxload:dword;   weaponequip:dword;   equipsobj:array[0..25]of dword; //   equipsid:array[0..25]of dword;  // тут всякие ID для экипа, ауги, итд для каждой вещи (их 25)   equipsaug:array[0..25]of dword; //   slotst:dword;   dw1 : DWORD;   dw2 : DWORD;   dw3 : DWORD;   dw4: DWORD;   dw5:dword;   dw6:dword;   stats:array[0..9]of dword; // м.аттака пдеф итд (щсновные статы)   pvpflag:dword;   karma:dword;   walkstats:array[0..7]of dword;// начиная с сего момента до конца рекорда неуверен в точности)) но по байтам так   movemul:double;   atkspdmul:double;   colw:dword;   colh:dword;   w:word;   hairstyle:dword;   haircolor:dword;   face:dword;   isgm:dword;  end; // тут ТИТУЛ нуль-терминальная юникод строка  PUserInfoC =^TUserInfoC;  TUserInfoC = packed record   ClanID      :dword;   ClanCrestID :dword;   AllyID      :dword;   AllyCrestID :dword;   Relation    :dword;   mounttype   : byte;   privatestore: byte;   dwarwencraft: byte;   pkkills    : DWORD;   pvpkills     : DWORD;   cubicsize   : WORD; // array of cubic ID word  end; // тут массив WORD длинной cubicsize  PUserInfoD =^TUserInfoD;  TUserInfoD = packed record   b0 : byte;   dAbnormal : DWORD;   flymounted : byte;   clanPrivelegies : DWORD;   recomLeft : WORD;   recomHave : WORD;   mountNPCID: DWORD;   invLimit  : WORD;   classID   : DWORD;   dw0       : DWORD;   maxCP     : DWORD;   currCP    : DWORD;   isMounted : byte;   teamhilight : byte; //Team:1-blue,2-red   clanCrestLargeID : DWORD;   isNoble     : byte;   isHero      : byte;   isFishing   : byte;   fishingX : integer;   fishingY : integer;   fishingZ : integer;   nameColor: DWORD;   isRunning:byte;   PledgeClass:DWORD;   PledgeType:DWORD;   TitleColor:DWORD;   CursedWeaponEquipID:DWORD;   TranformationID:DWORD;   AtkElementAttr:WORD;   AttackElementVal:WORD;   DefAttrFire:WORD;   DefAttrWater:WORD;   DefAttrWind :WORD;   DefAttrEarth:WORD;   DefAttrHoly :WORD;   DefAttrDark :WORD;   AgathionId :DWORD;   Fame :DWORD;   Unknown :DWORD;   VitalityPoints:DWORD;  end;
mira вне форума   Ответить с цитированием