⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 grobal2.~pas

📁 飘飘的传奇服务端院代码 能编译的 要控件 老大就让我传上去吧
💻 ~PAS
字号:
unit Grobal2;

interface
uses
  Windows;
const
  DEFBLOCKSIZE = 16;
  BUFFERSIZE = 10000;

  GS_QUIT = 2000;
  GS_USERACCOUNT =1111;
  GS_CHANGEACCOUNTINFO =1112;

  SG_USERACCOUNT =1113;
  SG_USERACCOUNTNOTFOUND =114;
  SG_USERACCOUNTCHANGESTATUS =115;

  {UNKNOWMSG =1050;

  SS_OPENSESSION = 1000;
  SS_CLOSESESSION = 1010;
  SS_SOFTOUTSESSION =1020;
  SS_SERVERINFO =1030;
  SS_KEEPALIVE =1040;

  SS_KICKUSER = 1110;
  SS_SERVERLOAD =1130;

  SG_CHECKCODEADDR =1006;

  DBR_FAIL=1;

  DB_LOADHUMANRCD = 1000;
  DB_SAVEHUMANRCD =1010;
  DB_SAVEHUMANRCDEX =1020;

  DBR_LOADHUMANRCD = 1100;
  DBR_SAVEHUMANRCD =1101; }


  CM_QUERYCHR = 100;
  CM_NEWCHR = 101;
  CM_DELCHR = 102;
  CM_SELCHR = 103;
  CM_SELECTSERVER = 104;

  SM_QUERYCHR = 520;
  SM_NEWCHR_SUCCESS = 521;
  SM_NEWCHR_FAIL = 522;
  SM_DELCHR_SUCCESS = 523;
  SM_DELCHR_FAIL = 524;
  SM_STARTPLAY = 525;
  SM_STARTFAIL = 526; //SM_USERFULL
  SM_QUERYCHR_FAIL = 527;
  SM_OUTOFCONNECTION = 528; //?
type
  TDefaultMessage = record
    Recog: Integer;
    Ident: word;
    Param: word;
    Tag: word;
    Series: word;
  end;

  TGlobaSessionInfo = record
    sAccount    :String;
    sIPaddr     :String;
    nSessionID  :Integer;
    n24         :Integer;
    boLoadRcd   :Boolean;
    boStartPlay :Boolean;
    dwAddTick   :LongWord;
    dAddDate    :TDateTime;
  end;
  pTGlobaSessionInfo = ^TGlobaSessionInfo;

  TChrMsg = record
    Ident: Integer;
    X: Integer;
    Y: Integer;
    Dir: Integer;
    State: Integer;
    feature: Integer;
    saying: string;
    sound: Integer;
  end;
  PTChrMsg = ^TChrMsg;
  TStdItem =record      //OK
    Name         :String[14];
    StdMode      :Byte;     //0x0F
    Shape        :Byte;     //0x10
    Weight       :Byte;     //0x11
    AniCount     :Byte;     //0x12
    Source       :Shortint; //0x13
    Reserved     :Byte;     //0x14
    NeedIdentify :Byte;     //0x15
    Looks        :Word;     //0x16
    DuraMax      :Word;     //0x18
    AC           :Integer;     //0x1A
    MAC          :Integer;     //0x1C
    DC           :Integer;     //0x1E
    MC           :Integer;     //0x20
    SC           :Integer;     //0x22
    Need         :Integer;     //0x24
    NeedLevel    :Integer;     //0x25
    Price        :Integer;     //0x28
  end;
  pTStdItem = ^TStdItem;
  TMagicInfo = record
    wMagicId      :Word;
    sMagicName    :String[12];
    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     :Byte;
    btDefMaxPower :Word;
    sDescr        :String[14];
  end;
  pTMagicInfo = ^TMagicInfo;

  TClientItem = record //OK
    S: TStdItem;
    MakeIndex: Integer;
    Dura: word;
    DuraMax: word;
  end;
  PTClientItem = ^TClientItem;
  TUserStateInfo = record //OK
    feature: Integer;
    Username: string[19];
    GuildName: string[14];
    GuildRankName: string[14];
    NameColor: word;
    UseItems: array[0..8] of TClientItem;
  end;
  TUserCharacterInfo = record
    Name: string[19];
    Job: Byte;
    Hair: Byte;
    Level: Byte;
    m_btSex: Byte;
  end;
  TUserEntry = packed  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 = packed  record
    sQuiz2: string[20];
    sAnswer2: string[12];
    sBirthDay: string[10];
    sMobilePhone: string[13];
    sMemo: string[20];
    sMemo2: string[20];
  end;
  
  TUserItem =record
    wIndex    :Word;
    MakeIndex :LongWord;
    Dura      :Word;
    DuraMax   :Word;
    btValue   :array [0..13] of Byte;
  end;
  PTUserItem = ^TUserItem;

  TDropItem = record
    X: Integer;
    Y: Integer;
    Id: Integer;
    Looks: Integer;
    Name: string;
    FlashTime: DWORD;
    FlashStepTime: DWORD;
    FlashStep: Integer;
    BoFlash: Boolean;
  end;
  PTDropItem = ^TDropItem;

  TMagic = record //+
    MagicId: word;
    MagicName: string[12];
    EffectType: Byte;
    Effect: Byte;
    xx: Byte;
    Spell: word;
    DefSpell: word;
    TrainLevel: array[0..2] of Byte;
    TrainLeveX: array[0..2] of Byte;
    MaxTrain: array[0..2] of Integer;
    DelayTime: Integer;
  end;

  TClientMagic = record //84
    Key: Char;
    Level: Byte;
    CurTrain: Integer;
    Def: TMagic;
  end;
  PTClientMagic = ^TClientMagic;

  TNakedAbility = record
    DC: word;
    MC: word;
    SC: word;
    AC: word;
    MAC: word;
    HP: word;
    MP: word;
    Hit: Byte;
    Speed: Integer;
  end;

  TAbility = record //OK    //Size 40
    Level: word; //0x198
    AC: word; //0x19A
    MAC: word; //0x19C
    DC: word; //0x19E
    MC: word; //0x1A0
    SC: word; //0x1A2
    HP: word; //0x1A4
    MP: word; //0x1A6
    MaxHP: word; //0x1A8
    MaxMP: word; //0x1AA
    dw1AC: DWORD; //0x1AC
    Exp: DWORD; //0x1B0
    MaxExp: DWORD; //0x1B4
    Weight: word; //0x1B8
    MaxWeight: word; //0x1BA
    WearWeight: Byte; //0x1BC
    MaxWearWeight: Byte; //0x1BD
    HandWeight: Byte; //0x1BE
    MaxHandWeight: Byte; //0x1BF
  end;

  TShortMessage = record
    Ident: word;
    wMsg: word;
  end;

  TMessageBodyW = record
    Param1: word;
    Param2: word;
    Tag1: word;
    Tag2: word;
  end;

  TMessageBodyWL = record //16  0x10
    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;
  //ResourceString
function APPRfeature(cfeature: Integer): word;
function RACEfeature(cfeature: Integer): Byte;
function HAIRfeature(cfeature: Integer): Byte;
function DRESSfeature(cfeature: Integer): Byte;
function WEAPONfeature(cfeature: Integer): Byte;
implementation

function WEAPONfeature(cfeature: Integer): Byte;
begin
  Result := HiByte(cfeature);
end;
function DRESSfeature(cfeature: Integer): Byte;
begin
  Result := HiByte(HiWord(cfeature));
end;
function APPRfeature(cfeature: Integer): word;
begin
  Result := HiWord(cfeature);
end;
function HAIRfeature(cfeature: Integer): Byte;
begin
  Result := HiWord(cfeature);
end;
function RACEfeature(cfeature: Integer): Byte;
begin
  Result := cfeature;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -