📄 grobal2.pas
字号:
SM_INSTANCEHEALGUAGE = 1103; //??
SM_VERSION_FAIL = 1106;
SM_ITEMUPDATE = 1500;
SM_MONSTERSAY = 1501;
SM_REPAIRITEMOK = 1502;
SM_GEMSYSTEMFAIL = 1503;
SM_ADDFRIEND = 1505;
SM_DELFRIEND = 1506;
SM_FRIENDSTATUS = 1507;
SM_FRIENDLIST = 1508;
SM_MEMOFRIEND = 1509;
SM_ADDFRIENDFAIL = 1510;
// Mail2
SM_MAILLIST = 1520;
SM_MAILITEM = 1521;
SM_MAILSENT = 1522;
SM_MAILFAILED = 1523;
SM_MAILSTATUS = 1524;
SM_BLOCKLIST = 1525;
SM_BLOCKLISTITEM = 1526;
SM_BLOCKLISTFAIL = 1527;
SM_BLOCKLISTADDED = 1528;
SM_BLOCKLISTDELETED = 1529;
// Next SM_ should start at 1535 to leave space for additions
//Lover SM
SM_LOVERINFO = 1535;
SM_LOVERSUCCESS = 1536;
SM_REQUESTRELAY = 1537;
SM_REQUESTRELAYFAIL = 1538;
SM_LOVERNAME = 1539;
//GT SM
SM_GTLIST = 1545;
SM_GTDECOLIST = 1546;
SM_GTTRADE = 1547;
SM_BBSMSGLIST = 1548;
SM_BBSMSG = 1549;
SM_EXCHGTAKEON_OK=65023;
SM_EXCHGTAKEON_FAIL=65024;
SM_TEST=65037;
SM_ACTION_MIN = 0;
SM_ACTION_MAX = 26;
SM_ACTION2_MIN = 40;
SM_ACTION2_MAX = 100;
CM_SERVERREGINFO = 65074;
//-------------------------------------
CM_GETGAMELIST = 5001;
SM_SENDGAMELIST = 5002;
CM_GETBACKPASSWORD = 5003;
SM_GETBACKPASSWD_SUCCESS = 5005;
SM_GETBACKPASSWD_FAIL = 5006;
SM_SERVERCONFIG = 5007;
SM_GAMEGOLDNAME = 5008;
SM_PASSWORD = 5009;
SM_HORSERUN = 5010;
UNKNOWMSG = 199;
SS_OPENSESSION = 100;
SS_CLOSESESSION = 101;
SS_KEEPALIVE = 104;
SS_KICKUSER = 111;
SS_SERVERLOAD = 113;
SS_200 = 200;
SS_201 = 201;
SS_202 = 202;
SS_203 = 203;
SS_204 = 204;
SS_205 = 205;
SS_206 = 206;
SS_207 = 207;
SS_208 = 208;
SS_209 = 209;
SS_210 = 210;
SS_211 = 211;
SS_212 = 212;
SS_213 = 213;
SS_214 = 214;
SS_WHISPER = 299;
//Damian
SS_SERVERINFO = 103;
SS_SOFTOUTSESSION = 102;
//SS_SERVERINFO = 30001;
//SS_SOFTOUTSESSION = 30002;
SS_LOGINCOST = 30002;
//Damian
DBR_FAIL = 2000;
DB_LOADHUMANRCD = 100;
DB_SAVEHUMANRCD = 101;
DB_SAVEHUMANRCDEX = 102;//?
DBR_LOADHUMANRCD = 1100;
DBR_SAVEHUMANRCD = 1102; //?
{DBR_FAIL = 31001;
DB_LOADHUMANRCD = 31002;
DB_SAVEHUMANRCD = 31003;
DB_SAVEHUMANRCDEX = 31004;
DBR_LOADHUMANRCD = 31005;
DBR_SAVEHUMANRCD = 31006;}
RUNGATECODE = $AA55AA55;
GM_OPEN = 1;
GM_CLOSE = 2;
GM_CHECKSERVER = 3;// Send check signal to Server
GM_CHECKCLIENT = 4;// Send check signal to Client
GM_DATA = 5;
GM_SERVERUSERINDEX = 6;
GM_RECEIVE_OK = 7;
GM_TEST = 20;
SG_FORMHANDLE = 32001;
SG_STARTNOW = 32002;
SG_STARTOK = 32003;
SG_CHECKCODEADDR = 32004;
SG_USERACCOUNT = 32005;
SG_USERACCOUNTCHANGESTATUS = 32006;
SG_USERACCOUNTNOTFOUND = 32007;
GS_QUIT = 32101;
GS_USERACCOUNT = 32102;
GS_CHANGEACCOUNTINFO = 32103;
type
//-----------------------------------------
pTDefaultMessage=^TDefaultMessage;
TDefaultMessage = record
Recog :Integer;
Ident :Word;
Param :Word;
Tag :Word;
Series :Word;
end;
TChrMsg =record
Ident :Integer;
X :Integer;
Y :Integer;
Dir :Integer;
State :Integer;
feature :Integer;
saying :String;
Sound :Integer;
end;
PTChrMsg = ^TChrMsg;
pTStdItem=^TStdItem;
TStdItem=packed record
Name :String[20];
StdMode :Byte;
Shape :Byte;
Weight :Byte;
AniCount :Byte;
Source :shortint;
reserved :byte;
NeedIdentify :byte;
Looks :Word;
DuraMax :DWord;
AC :Dword;
MAC :Dword;
DC :Dword;
MC :Dword;
SC :DWord;
Need :DWord;
NeedLevel :DWord;
Price :UINT;
Color :Integer;
Tox :Word;
ToxAvoid :Word;
SlowDown :Word;
MagAvoid :Word;
HpAdd :Word;
MpAdd :Word;
end;
PTClientItem =^TClientItem;
TClientItem = record
S :TStdItem;
MakeIndex :Integer;
Dura :Word;
DuraMax :Word;
Amount :Integer;
end;
TUserStateInfo =record
Feature :Integer;
UserName :String[19];
GuildName :String[14];
GuildRankName :String[14];
LoverName :String[ActorNameLen];
NameColor :Integer;
UseItems :array [0..12] of TClientItem;
end;
TUserCharacterInfo =record
Name:String[19];
Job:Byte;
Hair:Byte;
Level:Integer;
Sex:Byte;
end;
TUserEntry =record
sAccount :String[10];
sPassword :String[10];
sUserName :String[20];
sSSNo :String[14];
sPhone :String[14];
sQuiz :String[20];
sAnswer :String[12];
sEMail :String[40];
end;
TUserEntryAdd =record
sQuiz2 :String[20];
sAnswer2 :String[12];
sBirthDay :String[10];
sMobilePhone :String[15];
sMemo :String[40];
sMemo2 :String[40];
end;
TDropItem =record
X:Integer;
Y:Integer;
Id:integer;
Looks:integer;
Name:String;
FlashTime:Dword;
FlashStepTime:Dword;
FlashStep:Integer;
BoFlash:Boolean;
end;
PTDropItem = ^TDropItem;
pTMagic=^TMagic;
TMagic =record
wMagicID:Word;
wMimicID:Word;
sMagicName:String[20];
btEffectType:Byte;
btEffect:Byte;
wSpell:Word;
wPower:Word;
TrainLevel:Array[0..3] of Byte;
MaxTrain:Array[0..3] of Integer;
btTrainLv:Byte;
btJob:Byte;
dwDelayTime:Integer;
btDefSpell:Byte;
btDefPower:Byte;
wMaxPower:Word;
btDefMaxPower:Byte;
sDescr:String[15];
end;
TClientMagic = record
Key :Char;
Level :Byte;
CurTrain:Integer;
Def :TMagic;
end;
PTClientMagic = ^TClientMagic;
pTNakedAbility=^TNakedAbility;
TNakedAbility =record
DC :Word;
MC :Word;
SC :Word;
AC :Word;
MAC :Word;
HP :Word;
MP :Word;
Hit :Byte;
Speed :integer;
X2 :byte;
end;
TShortMessage = record
Ident :Word;
wMsg :Word;
end;
TMessageBodyW = record
Param1:Word;
Param2:Word;
Tag1:Word;
Tag2:Word;
end;
TMessageBodyWL = record
lParam1 :Integer;
lParam2 :Integer;
lTag1 :Integer;
lTag2 :Integer;
end;
TCharDesc =record
Feature :Integer;
Status :Integer;
end;
TClientGoods = record
Name :String;
SubMenu :Integer;
Price :Integer;
Stock :Integer;
Grade :Integer;
end;
pTClientGoods=^TClientGoods;
pTClientFriends=^TClientFriends;
TClientFriends = record
Id :Word;
Name :String;
Status :Byte;
Memo :String;
Blacklist :Boolean;
end;
pTAbility=^TAbility;
TAbility= packed record
Level :Word;
AC :DWord;
MAC :DWord;
DC :DWord;
MC :DWord;
SC :DWord;
HP :Word;
MP :Word;
MaxHP :Word;
MaxMP :Word;
Exp :DWord;
MaxExp :DWord;
Weight :Word;
MaxWeight :Word;
WearWeight :Word;
MaxWearWeight :Word;
HandWeight :Word;
MaxHandWeight :Word;
end;
//---------------------------------------------
type
TProgamType=(tDBServer,tLoginSrv,tLogServer,tM2Server,tLoginGate,
tLoginGate1,tSelGate,tSelGate1,tRunGate,tRunGate1,tRunGate2,
tRunGate3,tRunGate4,tRunGate5,tRunGate6,tRunGate7);
TRecordHeader = packed record
sAccount:String[16];
sChrName:String[20];
nSelectID:integer;
dCreateDate:TDateTime;
boDeleted:boolean;
UpdateDate:TDateTime;
CreateDate:TDateTime;
end;
THumInfo = record
boDeleted:Boolean;
boSelected:Boolean;
sAccount:String[10];
dModDate:TDateTime;
sChrName:String[20];
btCount:Byte;
Header:TRecordHeader;
end;
pTUserItem=^TUserItem;
TUserItem=record //=24
MakeIndex :Integer; //+4
wIndex :Word; //+2
Dura :word; //+2
DuraMax :Word; //+2
btValue :Array[0..17] of byte; //+16
Color :Integer;
Amount :Integer;
end;
pTUserMagic=^TUserMagic;
TUserMagic=record
MagicInfo:pTMagic;
btLevel:byte;
wMagIdx:word;
nTranPoint:integer;
btKey:byte;
end;
pTLover=^TLover;
TLover = record
Lover :String[ActorNameLen];
StartDate :TDateTime;
TotalDays :Integer;
boHasLover :Boolean;
end;
pTClientGT=^TClientGT;
TClientGT = record
Number :byte;
GuildName :String[GuildNameLen];
GuildMasters :Array[0..1] of String[ActorNameLen];
SalePrice :Integer;
Status :byte;//0=normal, 1= onsale, 2= sold, pending activation
end;
pTDecoItem=^TDecoItem;
TDecoItem = record
Appr :Word;
Name :String[20];
Price :integer;
Location :byte;
end;
THumanUseItems=array[0..12] of TUserItem;
THumItems=array[0..12] of TUserItem;
pTHumItems=^THumItems;
pTBagItems=^TBagItems;
TBagItems=array[0..MAXBAGITEM] of TUserItem;
pTStorageItems=^TStorageItems;
TStorageItems=array[0..STORAGELIMIT] of TUserItem;
pTHumMagic=^THumMagic;
THumMagic=Array[0..HOWMANYMAGICS-1] of TUserMagic;
pTHumMagicInfo=^THumMagicInfo;
THumMagicInfo=TUserMagic;
TStatusTime=array [0..MAX_STATUS_ATTRIBUTE - 1] of Word;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -