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

📄 grobal2.pas

📁 传世源码可编译的,功能齐全.是学习的好模版,会DELPHI的朋友们也可以自己修改,弄个自己的引擎.
💻 PAS
📖 第 1 页 / 共 5 页
字号:
    wflag:word;  // wflag:=0; //表示 蝙蝠。 //77 移行  //75 遁地
    stext:array[0..28]of char;
  end;

  TCharDesc=Record
    Feature:Integer;
    Status:Integer;
    xue:integer;      //hint 11.23  脚色的血量
  end;

  TMessageBodyWL=Record
    lParam1,lParam2:integer;//longint;
    lTag1,lTag2:integer;//longint;
  end;

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

  TDoorInfo= record
    nX:integer;
    nY:integer;
    n08:integer;
    Status: pTDoorStatus;
  end;
  pTDoorInfo=^TDoorInfo;

  TProcessMessage=record
    wIdent:word;     //cmd
    wParam:word;      //w3
    BaseObject: TObject;
    nParam1:integer;     //flag
    nParam2 :integer;     //w1
    nParam3  :integer;    //w2
    dwDeliveryTime:dword;
    boLateDelivery:boolean;
    sMsg:string;
  end;
  pTProcessMessage=^TProcessMessage;

  TCharDress = packed record
    bt:byte;
    dress:integer;
  end;
/////////////////////////////////////////////////

  TSrvNetInfo = record
    sIPaddr  :String[15];
    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           :DWord;
    MAC          :DWord;
    DC           :DWord;
    MC           :DWord;
    SC           :DWord;
    Need         :Byte;
    NeedLevel    :Byte;
    Price        :Integer;
  end;
  pTStdItem = ^TStdItem;

  TClientItem = record  //OK
    S         :TStdItem;
    MakeIndex :Integer;
    Dura      :Word;
    DuraMax   :Word;
  end;
  PTClientItem =^TClientItem;

  TOStdItem= record
    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;
  pTOStdItem=^TOStdItem;

  TOClientItem= record
    S         :TOStdItem;
    MakeIndex :Integer;
    Dura      :Word;
    DuraMax   :Word;
  end;

  TOcsClientItem = packed record   // 身上装备结构
    id:word;
    item:TOClientItem;
  end;

  TcsClientItem = record           // 身上装备结构
    id:word;
    item:TClientItem;
  end;

  TUserStateInfo=record
    Feature  :integer;
    UserName :string[15] ;
    NameColor :integer;
    GuildName   :string[14];
    GuildRankName: string[16];
    UseItems:array[0..12]of  TClientItem ;            //hint
  end;

  TOUserStateInfo =packed record
    Feature  :integer;
    UserName :string[15]  ;
    NameColor :integer;
    GuildName   :string[14];
    GuildRankName :string[15];
    sex:byte;
    UseItems:array[0..12]of  TOClientItem ;           //hint
    text:string[80];
  end;

  TClientSendModstyleName = packed record
    hander  :array[0..19]of char;
    Name :array[0..79]of char;
  end;

  TMonInfo = record
    sName        :String[14];
    btRace       :Byte;
    btRaceImg    :Byte;
    wAppr        :Word;
    btLevel      :Byte;
    btLifeAttrib :byte;
    dwExp        :dword;
    wLevel       :word;
    boUndead     :Boolean;
    wCoolEye     :Word;
    wExp         :Word;
    wHP          :Word;
    wMP          :word;
    wAC          :word;
    wMAC         :word;
    wDC          :word;
    wMaxDC       :word;
    wMC          :word;
    wSC          :word;
    wSpeed       :word;
    wHitPoint    :word;
    wWalkSpeed   :word;
    wWalkStep    :word;
    wWalkWait    :word;
    wAttackSpeed :word;
    ItemList     :TList;
  end;
  pTMonInfo = ^TMonInfo;

  TMonItem =record
    n00: integer;     //0-3                  分子-1/
    n04: integer;     //4567                  分母
    sMonName: string[20];   //8901234567     //暴物名称
    n18: integer;            //8             暴物数量
  end;
  pTMonItem=^TMonItem ;

  TMonItemInfo = record        //两个结构应该一样的  TMonItem = TMonItemInfo
    SelPoint:Integer;
    MaxPoint:Integer;
    ItemName:String[20];
    Count   :Integer;
  end;
  PTMonItemInfo = ^TMonItemInfo;

  THumMagicInfo=packed record
    wMagIdx:word;
    btLevel:byte;
    btKey:byte;
    nTranPoint:integer;
  end;
  pTHumMagicInfo= ^THumMagicInfo;

  TMinMap = record
    sName  :String[17];
    nID    :Integer;
  end;
  pTMinMap =^TMinMap;

  TMapRoute = record
    sSMapNO    :String[17];
    nDMapX     :Integer;
    nSMapY     :Integer;
    sDMapNO    :String[17];
    nSMapX     :Integer;
    nDMapY     :Integer;
  end;
  pTMapRoute = ^TMapRoute;

  TMapInfo = record
    sName             :String[17];
    sMapNO            :String[17];
    nL                :Integer; //0x10
    nServerIndex      :Integer; //0x24
    nNEEDONOFFFlag    :Integer; //0x28
    boNEEDONOFFFlag   :Boolean; //0x2C
    sShowName         :String[14];  //0x4C
    sReConnectMap     :String[14];  //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;

  TOSObject =record
    btType:byte;
    CellObj:TObject;//pointer;//TObject;
    dwAddTime:dword;
  end;
  pTOSObject= ^TOSObject;

  TUnbindInfo = record
    nUnbindCode  :Integer;
    sItemName    :String[14];
  end;
  pTUnbindInfo =^TUnbindInfo;
 
  TQuestDiaryInfo = record
    QDDinfoList:TList;
  end;
  pTQuestDiaryInfo = ^TQuestDiaryInfo;

  TAdminInfo = record
    nLv      :Integer;
    sChrName :String[14] ;
    sIPaddr:string[15] ;
  end;
  pTAdminInfo = ^TAdminInfo;

  TAbility =packed record  //OK     //Size 40
    Level         :word;   //0x198  //0x34
    AC            :DWord;  //0x19A  //0x36
    MAC           :DWord;  //0x19C  //0x38
    DC            :DWord;  //0x19E  //0x3A
    MC            :DWord;  //0x1A0  //0x3C
    SC            :DWord;  //0x1A2  //0x4E
    HP            :Word;   //0x1A4  //0x40
    MP            :Word;   //0x1A6  //0x42
    MaxHP         :Word;   //0x1A8  //0x44
    MaxMP         :Word;   //0x1AA  //0x46
    Exp           :Dword;  //0x1B0  //0x4C
    MaxExp        :Dword;  //0x1B4  //0x50
    Weight        :Word;   //0x1B8  //0x54
    MaxWeight     :Word;   //0x1BA  //0x56
    WearWeight    :word;   //Byte;  //0x1BC   //0x58
    MaxWearWeight :word;   //Byte;  //0x1BD   //0x59
    HandWeight    :word;   //Byte;  //0x1BE   //0x5A
    MaxHandWeight :word;   //Byte;  //0x1BF   //0x5B
  end;
  pTAbility=^TAbility;

  TMYOAbility=packed record
    Level         :word;  //0x198  //0x34
    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
    lingli:word;
    yuanqi:word;
  end;
////////////////////////////////////////////////2007-07-13添加
  TNewAbility = record   // 44 byte
    Level:Word;          // 人物等级
    MinAc:Byte;          // 最小防御
    MaxAc:Byte;          // 最大防御
    MinMac:Byte;         // 最小魔防
    MaxMac:Byte;         // 最大魔防
    MinDC:Byte;          // 最小物理攻击
    MaxDC:Byte;          // 最大物理攻击
    MinMc:Byte;          // 最小魔法攻击
    MaxMc:Byte;          // 最大魔法攻击
    MinSc:Byte;          // 最小道术攻击
    MaxSc:Byte;          // 最大道术攻击
    CurHP:Word;          // 当前生命值
    CurMP:Word;          // 当前魔法值
    MaxHP:Word;          // 最大生命值
    MaxMP:Word;          // 最大魔法值
    Unknown1:DWORD;      // 意思不详,官服设为1
    CurExp:DWORD;        // 当前经验值
    MaxExp:DWORD;        // 本次升级所需经验数
    CurBagWeight:Word;   // 当前包裹的重量
    MaxBagWeight:Word;   // 最大能承受包裹重量
    CurBodyWeight:Byte;  // 当前身体负重
    MaxBodyWeight:Byte;  // 最大身体负重
    CurHandWeight:Byte;  // 当前所耗腕力
    MaxHandWeight:Byte;  // 最大腕力
    Unknown2:DWORD;      // 意思不详
  end;
/////////////////////////////////////////////////////////////////////
  TOAbility = packed record
    Level         :word;  //0x198   //0x34
    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 =packed record               //24
    MakeIndex :LongWord;     //4
    wIndex    :Word;   // 2
    Dura      :Word;         //2
    DuraMax   :Word;         //2
    btValue:array[0..13]of byte;     //14
  end;
  PTUserItem = ^TUserItem;

  TMonDrop=record
    sItemName:string[20];
    nDropCount:integer;
    nNoDropCount:integer;
    nCountLimit:integer;
  end;
  pTMonDrop=^TMonDrop;

  TMonSayMsg=record
    State:TMonStatus;
    Color:TMsgColor;
    nRate:integer;
    sSayMsg:string;
  end;
  pTMonSayMsg=^TMonSayMsg;

  TGateUserInfo=record
    sAccount:string[12];
    sCharName:string[14];
    sIPaddr:string[15];
    nSessionID:integer;
    nGSocketIdx:integer;
    nSocket:integer;
    dwNewUserTick:LongWord;
    nClientVersion:integer;
    boCertification:boolean;

    PlayObject:  TObject;  //TplayObject;
    FrontEngine: TObject;  //TFrontEngine ;
    UserEngine  : TObject; //TUserEngine ;

    SessInfo:pTSessInfo;

⌨️ 快捷键说明

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