📄 grobal2.pas
字号:
end;
pTGateUserInfo=^TGateUserInfo;
TMapItem = record
Name :String[15];
Looks :Word;
AniCount :Byte;
Reserved :Byte;
Count :Integer;
UserItem :TUserItem;
OfBaseObject:TObject;
dwCanPickUpTick:LongWord;
DropBaseObject:TObject;
end;
PTMapItem = ^TMapItem;
TVisibleBaseObject=record
BaseObject:TObject;
nVisibleFlag :integer;
MapItem: PTMapItem ;
nX:integer;
nY:integer;
sName:string[15];
wLooks:integer;
end;
pTVisibleBaseObject=^TVisibleBaseObject ;
TVisibleMapItem=record
nVisibleFlag :integer;
MapItem: PTMapItem ;
nX:integer;
nY:integer;
sName:string[15];
wLooks:integer;
end;
pTVisibleMapItem=^TVisibleMapItem ;
TSwitchDataInfo=record
sMap :string[17];
wX :integer;
wY :integer;
Abil :TAbility;
sChrName :string[14];
nCode :integer;
boC70 :boolean;
boBanShout :boolean;
boHearWhisper :boolean;
boBanGuildChat :boolean;
boAdminMode :boolean;
boObMode :boolean;
BlockWhisperArr :array[0..4] of string;
SlaveArr :array[0..5] of TSlaveInfo;
StatusValue :array[0..8] of word; // xjs 0..6
StatusTimeOut :array[0..8] of LongWord; // xjs 0..6
end;
pTSwitchDataInfo=^TSwitchDataInfo ;
TRecordHeader=Packed record // 28
boDeleted:boolean; // 1
btCount:byte; // 1
nSelectID:word; // 2
dCreateDate:TDateTime ; //8
sname:string[15]; //28
end;
TLoadHuman = record
sAccount :String[12];
sChrName :String[14];
sUserAddr :String[15];
nSessionID :Integer;
end;
THumItems= array[0..8] of TUserItem; //hint
pTHumItems=^THumItems;
THumanUseItems=array[0..12] of TUserItem;
TBagItems = array[0..65] of TUserItem; //45
pTBagItems=^TBagItems ;
TStorageItems=array[0..38]of TUserItem; //38 5 43
pTStorageItems=^TStorageItems ;
TmonStorageItems=array[0..19]of TUserItem; //38 5 43
pTmonStorageItems=^TStorageItems ;
THumMagic=array[0..39]of THmagic; //0..19
pTHumMagic=^THumMagic ;
THumAddItems=array[9..12]of TUserItem;
pTHumAddItems=^THumAddItems ;
THumanRcd = record
sUserID :String[10];
sChrName :String[14];
btLevel :Byte;
btHair :Byte;
btsex :Byte;
btJob :Byte;
Abil :TOAbility;
sMapName :String[15];
btAttackMode :Byte;
btIsAdmin :Byte;
nX :Integer;
nY :Integer;
nGold :Integer;
dwExp :LongWord;
boSelected :boolean;
sCurMap :string[15];
HumItems :THumItems;
BagItems :TBagItems ;
Magic :THumMagic ;
StorageItems :TStorageItems ;
HumAddItems :THumAddItems ;
BonusAbil :TNakedAbility ;
end;
pTHumanRcd = ^THumanRcd;
THmrcd=packed record //487 //没有使用,调试用
sChrName :String[14];
sCurMap :string[16]; //16
wCurX:word; //2
wCurY:word; //2
btDir :byte; //1
btHair :Byte; //1
btsex :Byte; //1
btJob :Byte; //1
nGold:integer; //4
Abil: TOAbility; //40
nPKPoint:integer; //4
sDearName:string[19]; //20
sHomeMap:string[17]; // 16
wHomeX:word; // 2
wHomeY:word; // 2
btCreditPoint:integer; //4
btReLevel:integer; //4
sMasterName:string[20] ; //20
sStoragePwd:string[42]; //15
nGamePoint:integer; //4
boMaster: boolean; //1
btMarryCount:integer; //4
nGameGold:integer; //4
nPayMentPoint:integer; //4
wContribution:integer; //4
nBonusPoint:integer; //4
sAccount :String[10]; //221 97
unkon:array[0..217] of byte; // 245
HumItems:THumItems;//THumItems; 身上装备
BagItems : TBagItems ; //
Magic :THumMagic ;
StorageItems : TStorageItems ;
unkown1:array[0..147] of byte;
BonusAbil : TNakedAbility ; //20
end;
THumData=Packed record
sChrName :String[14];
sCurMap :string[16]; //16
wCurX:word; //2
wCurY:word; //2
btDir :byte; //1
btHair :Byte; //1
btsex :Byte; //1
btJob :Byte; //1
nGold:integer; //4
Abil: TOAbility; //40
nGameGold:integer; //4
sDearName:string[19]; //20
sHomeMap:string[17]; // 16
wHomeX:word; // 2
wHomeY:word; // 2
knownword:word;
btCreditPoint:integer; //4 声望值
btReLevel:integer; //4
sMasterName:string[20] ; //20
sStoragePwd:string[42]; //15
nGamePoint:integer; //4
nBonusPoint:integer; //1
nPayMentPoint:integer; //4
nPKPoint:integer;
wContribution:integer; //4
btMarryCount:word; //4
boMaster: boolean;
sAccount :String[10]; //221 97
wStatusTimeArr: Tstatustime; //96; 48 //传世人物状态>12
btAllowGroup :byte;
btF9 : byte;
btAttatckMode :byte;
btIncHealth :byte;
btIncSpell :byte;
btIncHealing :byte;
btFightZoneDieCount :byte;
btEE :byte;
boLockLogon :boolean;
btEF :byte;
nHungerStatus :integer;
boAllowGuildReCall :boolean;
wGroupRcallTime :word;
dBodyLuck :Double; //8
boAllowGroupReCall :boolean; //26 74
QuestUnitOpen : TQuestUnit; //100
QuestUnit :TQuestUnit; //0x11C //100
QuestFlag :TQuestFlag;
m_bMaxBagitem :byte; // 最大包裹容量
m_sSytleName :string[80]; //人物个性化签名
HumItems:THumItems; // 身上装备
BagItems : TBagItems;
Magic :THumMagic ;
StorageItems : TStorageItems ;
monStorageItems: TmonStorageItems;
SpecialItemPoint:integer; //极品修炼值
sYsname:string[14];
sYsnameMaster:string[14];
nyssex:byte;
nysjob:byte;
wyslevel:word;
m_nJpPoint :Integer;
m_YSPoint :Integer;
M_YSfenghao:integer;
unkown1:array[0..950] of byte; // 962 -8
BonusAbil : TNakedAbility ; //20
HumAddItems : THumAddItems ;
end;
pTHumData=^THumData;
THumInfo=Packed record //72
Header:TRecordHeader; //28
sChrName:string[14]; //14
sAccount:string[10]; // 11
boDeleted:boolean; // 1
boSelected:boolean; // 1
btCount:byte; //操作记数 1
UpdateDate:TDateTime; //20 // 8
dModDate: TDateTime; // 8
end;
THumDataInfo =Packed record // 3164
Header:TRecordHeader;
data:THumData ;
end;
TSaveRcd=record
sAccount: string[14];
sChrName: string[14];
nSessionID:integer;
PlayObject: TObject;//tPlayObject;
HumanRcd: THumDataInfo;
nCode:integer;
nReTryCount:integer;
boNewYs:boolean;
end;
pTSaveRcd=^TSaveRcd ;
TLoadUser=record
nSessionID :integer;
nSocket :integer;
nGateIdx :integer;
nGSocketIdx :integer;
sAccount :string[12];
sIPaddr :string[15];
nPayMent :integer;
nPayMode :integer;
dwNewUserTick :LongWord;
nSoftVersionDate :integer;
end;
TUserOpenInfo=record
sChrName:string[14];
LoadUser: TLoadDBInfo;
HumanRcd : THumDataInfo;
end;
pTUserOpenInfo=^TUserOpenInfo;
TSendMessage =record
wIdent :word;
wParam :word;
nParam1 :integer;
nParam2 :integer;
nParam3 :integer;
dwDeliveryTime :LongWord;
BaseObject :TObject;
boLateDelivery :boolean;
Buff :pchar;
end;
pTSendMessage =^TSendMessage;
TObjectFeature = record
btGender :Byte;
btWear :Byte;
btHair :Byte;
btWeapon :Byte;
end;
pTObjectFeature = ^TObjectFeature;
TGateObj=record
DEnvir: TObject;
nDMapx : integer;
nDMapY : integer;
boFlag :boolean;
end;
pTGateObj=^TGateObj ;
TStatusInfo = record
nStatus :Integer; //0x60
dwStatusTime :LongWord; //0x1E8
sm218 :SmallInt; //0x218
dwTime220 :LongWord; //0x220
end;
TMsgHeader =packed record //$14 ok
dwCode :LongWord;//4
nSocket :integer; //4
wGateIndex :Word; //2
wIdent :Word ; //2
nUserListIndex :integer; //0x0C 4
nLength :integer; //0x10 4
end;
pTMsgHeader = ^TMsgHeader;
TUserEntryInfo =record
LoginId :String[10];
Password :String[10];
UserName :String[20];
SSNo :String[14];
Phone :String[14];
Quiz :String[20];
Answer :String[12];
EMail :String[40];
end;
TUserEntryAddInfo =record
Quiz2 :String[20];
Answer2 :String[12];
BirthDay :String[10];
MobilePhone :String[13];
end;
TUserEntry = packed record
sAccount :String[10];
SPassword :String[10];
SUserName :String[20];
SSSNo :String[19]; //hint 14
SPhone :String[14];
SQuiz :String[20];
SAnswer :String[20]; //hint 12
SEMail :String[40];
end;
TUserEntryAdd =Packed record
SQuiz2 :String[20];
SAnswer2 :String[20]; //hint 12
SBirthDay :String[10];
SMobilePhone :String[13];
sMemo: String[20];
sMemo2: String[20];
end;
TNameHeander=Packed record
sName:string[14];
nSelectID:integer;
UpdateDate:tdatetime;
end;
TAcDBInfo=packed Record
boDeleted:boolean;
btCount:byte;
nSelectID:word;
CreateDate:TDateTime ;
UpdateDate:TDateTime; //20
sAccount:string[11];
end;
TAccountDBRecord= packed Record
Header:TAcDBInfo; // 32
UserEntry:TUserEntry;
UserEntryAdd:TUserEntryAdd;
nErrorCount:integer;
dwActionTick:dword; // 32+14 -8
unknow:string[38];
end;
TUserInfo = record
bo00 :Boolean; //0x00
bo01 :Boolean; //0x01 ?
bo02 :Boolean; //0x02 ?
bo03 :Boolean; //0x03 ?
n04 :Integer; //0x0A ?
n08 :integer; //0x0B ?
bo0C :Boolean; //0x0C ?
bo0D :Boolean; //0x0D
bo0E :Boolean; //0x0E ?
bo0F :Boolean; //0x0F ?
n10 :Integer; //0x10 ?
n14 :Integer; //0x14 ?
n18 :Integer; //0x18 ?
sStr :String[20];//0x1C
nSocket :integer; //0x34
nGateIndex :Integer; //0x38
n3C :integer; //0x3C
n40 :integer; //0x40 ?
n44 :integer; //0x44
List48 :TList; //0x48
Cert :TObject; //0x4C
dwTime50 :LongWord; //0x50
bo54 :Boolean; //0x54
end;
pTUserInfo = ^TUserInfo;
TGlobaSessionInfo = record
sAccount :String[12];
sIPaddr :String[15];
nSessionID :Integer;
n24 :Integer;
bo28 :Boolean;
dwAddTick :LongWord;
dAddDate :TDateTime;
boLoadRcd:BOOLEAN;
boStartPlay:BOOLEAN;
end;
pTGlobaSessionInfo = ^TGlobaSessionInfo;
TSELLITEMFLAG=packed record
w1:word;
sellend:byte; //结束=255 开始=0
bflag:byte; //有旗帜=1 没有=0
flagcolor:integer;
w3:word;
SellName:array[0..51] of char;
end;
TMYSELLITEMFLAG=packed record
w1:word;
sellend:byte; //结束=255 开始=0
bflag:byte; //有旗帜=1 没有=0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -