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

📄 grobal2.pas

📁 MDB版本的LoginSvr跟SQL版本的传奇源代码。希望对大家能有用处
💻 PAS
📖 第 1 页 / 共 5 页
字号:
  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 + -