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

📄 grobal2.pas

📁 M2原代码 M2原代码
💻 PAS
📖 第 1 页 / 共 2 页
字号:
  RM_WEIGHTCHANGED      = 10115;
  RM_FEATURECHANGED     = 10116;
  RM_CLEAROBJECTS       = 10117;
  RM_CHANGEMAP          = 10118;
  RM_BUTCH              = 10119;
  RM_MAGICFIRE          = 10120;
  RM_SENDMYMAGIC        = 10122;
  RM_MAGIC_LVEXP        = 10123;
  RM_SKELETON           = 10024;
  RM_DURACHANGE         = 10125;
  RM_MERCHANTSAY        = 10126;
  RM_GOLDCHANGED        = 10136;
  RM_CHANGELIGHT        = 10137;
  RM_CHARSTATUSCHANGED  = 10139;
  RM_DELAYMAGIC         = 10154;

  RM_DIGUP              = 10200;
  RM_DIGDOWN            = 10201;
  RM_FLYAXE             = 10202;
  RM_LIGHTING           = 10204;

  RM_SUBABILITY         = 10302;
  RM_TRANSPARENT        = 10308;

  RM_SPACEMOVE_SHOW     = 10331;
  RM_HIDEEVENT          = 10333;
  RM_SHOWEVENT          = 10334;
  RM_ZEN_BEE            = 10337;

  RM_OPENHEALTH         = 10410;
  RM_CLOSEHEALTH        = 10411;
  RM_DOOPENHEALTH       = 10412;
  RM_CHANGEFACE         = 10415;

  RM_ITEMUPDATE         = 11000;
  RM_MONSTERSAY         = 11001;
  RM_MAKESLAVE          = 11002;
type
  TDefaultMessage = record
    Recog    :Integer;
    Ident    :Word;
    Param    :Word;
    Tag      :Word;
    Series   :Word;
  end;
  TSrvNetInfo = record
    sIPaddr  :String;
    nPort    :Integer;
  end;
  pTSrvNetInfo = ^TSrvNetInfo;
  TStdItem =record      //OK
    Name         :String[14];
    StdMode      :Byte;
    Shape        :Byte;
    Weight       :Byte;
    AniCount     :Byte;
    Source       :Shortint;
    Reserved     :Byte;
    NeedIdentify :Byte;
    Looks        :Word;
    DuraMax      :Word;
    AC           :Word;
    MAC          :Word;
    DC           :Word;
    MC           :Word;
    SC           :Word;
    Need         :Byte;
    NeedLevel    :Byte;
    Price        :Integer;
  end;
  pTStdItem = ^TStdItem;
  TClientItem = record  //OK
    S         :TStdItem;
    MakeIndex :Integer;
    Dura      :Word;
    DuraMax   :Word;
  end;
  PTClientItem =^TClientItem;  
  TMonInfo = record
    sName        :String[14];
    btRace       :Byte;
    btRaceImg    :Byte;
    wAppr        :Word;
    btLevel      :Byte;
    boUndead     :Boolean;
    wCoolEye     :Word;
    wExp         :Word;
    wHP          :Word;
    btAC         :Byte;
    btMAC        :Byte;
    btDC         :Byte;
    btMaxDC      :Byte;
    btMC         :Byte;
    btSC         :Byte;
    btSpeed      :Byte;
    btHit        :Byte;
    wWalkSpeed   :Word;
    wWalkStep    :Word;
    wWalkWait    :Word;
    wAttackSeeed :Word;
    ItemList     :TList;
  end;
  pTMonInfo = ^TMonInfo;
  TMagicInfo = record
    wMagicId     :Word;
    sMagicName   :String[12];
    btEffectType :Byte;
    btEffect     :Byte;
    wSpell       :Word;
    wPower       :Word;
    wMaxPower    :Word;
    btJob        :Byte;
    btDefSpell   :Byte;
    btDefPower   :Byte;
    btDefMaxPower:Byte;
    TrainLevel   :array[0..3] of Byte;
    MaxTrain     :array[0..3] of Integer;
    btTrainLv    :Byte;
    nDelayTime   :Integer;
    sDescr       :String;
  end;
  pTMagicInfo = ^TMagicInfo;
  TMinMap = record
    sName  :String;
    nID    :Integer;
  end;
  pTMinMap =^TMinMap;
  TMapRoute = record
    sSMapNO    :String;
    nDMapX     :Integer;
    nSMapY     :Integer;
    sDMapNO    :String;
    nSMapX     :Integer;
    nDMapY     :Integer;
  end;
  pTMapRoute = ^TMapRoute;
  TMapInfo = record
    sName             :String;
    sMapNO            :String;
    nL                :Integer; //0x10
    nServerIndex      :Integer; //0x24
    nNEEDONOFFFlag    :Integer; //0x28
    boNEEDONOFFFlag   :Boolean; //0x2C
    sShowName         :String;  //0x4C
    sReConnectMap     :String;  //0x50
    boSAFE            :Boolean; //0x51
    boDARK            :Boolean; //0x52
    boFIGHT           :Boolean; //0x53
    boFIGHT3          :Boolean; //0x54
    boDAY             :Boolean; //0x55
    boQUIZ            :Boolean; //0x56
    boNORECONNECT     :Boolean; //0x57
    boNEEDHOLE        :Boolean; //0x58
    boNORECALL        :Boolean; //0x59
    boNORANDOMMOVE    :Boolean; //0x5A
    boNODRUG          :Boolean; //0x5B
    boMINE            :Boolean; //0x5C
    boNOPOSITIONMOVE  :Boolean; //0x5D
  end;
  pTMapInfo = ^TMapInfo;
  TMonGenInfo = record
    szMapName    :String[14];
    nX           :Integer;
    nY           :Integer;
    sMonName     :String[14];
    nAreaX       :Integer;
    nAreaY       :Integer;
    nCount       :Integer;
    dwZenTime    :LongWord;
    dwStartTime  :LongWord;
    TList_3C     :TList;
  end;
  pTMonGenInfo =^TMonGenInfo;
  TUnbindInfo = record
    nUnbindCode  :Integer;
    sItemName    :String[14];
  end;
  pTUnbindInfo =^TUnbindInfo;
  TMapQuestInfo = record
    sMapName    :String[14];
    nFlags      :Integer;
    boFlag      :Boolean;
    sMonName    :String[14];
    sNeedItem   :String[14];
    sScriptName :String[14];
    boGroup     :Boolean;
  end;
  pTMapQuestInfo = ^TMapQuestInfo;
  TQuestDiaryInfo = record
    QDDinfoList:TList;
  end;
  pTQuestDiaryInfo = ^TQuestDiaryInfo;

  TAdminInfo = record
    nLv      :Integer;
    sChrName :String[14];
  end;
  pTAdminInfo = ^TAdminInfo;
  TAbility =record  //OK    //Size 40
    Level         :Byte;  //0x198  //0x34
    bt035         :Byte;
    AC            :Word;  //0x19A  //0x36
    MAC           :Word;  //0x19C  //0x38
    DC            :Word;  //0x19E  //0x3A
    MC            :Word;  //0x1A0  //0x3C
    SC            :Word;  //0x1A2  //0x4E
    HP            :Word;  //0x1A4  //0x40
    MP            :Word;  //0x1A6  //0x42
    MaxHP         :Word;  //0x1A8  //0x44
    MaxMP         :Word;  //0x1AA  //0x46
    dw1AC         :Dword;  //0x1AC  //0x48
    Exp           :Dword;  //0x1B0  //0x4C
    MaxExp        :Dword;  //0x1B4  //0x50
    Weight        :Word;  //0x1B8   //0x54
    MaxWeight     :Word;  //0x1BA   //0x56
    WearWeight    :Byte;  //0x1BC   //0x58
    MaxWearWeight :Byte;  //0x1BD   //0x59
    HandWeight    :Byte;  //0x1BE   //0x5A
    MaxHandWeight :Byte;  //0x1BF   //0x5B
  end;
  TWAbility = record
    dwExp         :LongWord; //0x194  怪物经验值(Dword)
    wHP           :Word;     //0x1A4
    wMP           :Word;     //0x1A6
    wMaxHP        :Word;     //0x1A8
    wMaxMP        :Word;     //0x1AA
  end;
  TMerchantInfo = record
    sScript     :String[14];
    sMapName    :String[14];
    nX          :Integer;
    nY          :Integer;
    sNPCName    :String[40];
    nFace       :Integer;
    nBody       :Integer;
    boCastle    :Boolean;
  end;                         
  pTMerchantInfo = ^TMerchantInfo;

  TSocketBuff = record
    Buffer  :PChar;  //0x24
    nLen    :Integer;//0x28
  end;
  pTSocketBuff = ^TSocketBuff;
  TSendBuff = record
    nLen    :Integer;
    Buffer  :array[0..DATA_BUFSIZE -1] of Char;
  end;
  pTSendBuff = ^TSendBuff;
  TUserItem =record
    wIndex    :Word;
    MakeIndex :LongWord;
    Dura      :Word;
    DuraMax   :Word;
  end;
  PTUserItem = ^TUserItem;
  TMonItemInfo = record
    SelPoint:Integer;
    MaxPoint:Integer;
    ItemName:String;
    Count   :Integer;    
  end;
  PTMonItemInfo = ^TMonItemInfo;
  TMonsterInfo =record
    Name    :String;

    Itemlist:TList;
  end;
  PTMonsterInfo = ^TMonsterInfo;
  TMapItem = record
    Name      :String;
    Looks     :Word;
    AniCount  :Byte;
    Reserved  :Byte;
    Count     :Integer;
    UserItem  :TUserItem;
  end;
  PTMapItem = ^TMapItem;
  THumanRcd = record
    sUserID    :String[16];
    sCharName  :String[20];
    btJob      :Byte;
    btGender   :Byte;
//    char	szTakeItem[10][12];
    btLevel      :Byte;
    btHair       :Byte;
    sMapName     :String[15];
    btAttackMode :Byte;
    btIsAdmin    :Byte;
    nX           :Integer;
    nY           :Integer;
    nGold        :Integer;
    dwExp        :LongWord;
  end;
  pTHumanRcd = ^THumanRcd;

  TObjectFeature = record
    btGender    :Byte;
    btWear      :Byte;
    btHair      :Byte;
    btWeapon    :Byte;
  end;
  pTObjectFeature = ^TObjectFeature;
  TStatusInfo = record
    nStatus      :Integer;  //0x60
    dwStatusTime :LongWord; //0x1E8
    sm218        :SmallInt;  //0x218
    dwTime220    :LongWord; //0x220
  end;
  TMsgHeader = record
    dwCode         :LongWord;//0x00
    nSocket        :integer; //0x04
    wGateIndex     :Word;    //0x08
    wIdent         :Word;    //0x0A
    nUserListIndex :integer; //0x0C
//    wTemp          :Word;    //0x0E
    nLength        :Integer; //0x10
  end;
  pTMsgHeader = ^TMsgHeader;

  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;
    sIPaddr     :String;
    nSessionID  :Integer;
    n24         :Integer;
    bo28        :Boolean;
    dwAddTick   :LongWord;
    dAddDate    :TDateTime;
  end;
  pTGlobaSessionInfo = ^TGlobaSessionInfo;  
implementation

end.

⌨️ 快捷键说明

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