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

📄 grobal2.pas

📁 传世源码可编译的,功能齐全.是学习的好模版,会DELPHI的朋友们也可以自己修改,弄个自己的引擎.
💻 PAS
📖 第 1 页 / 共 5 页
字号:

  TMonGenInfo = record
    sMapName    :String[14];
    nX           :Integer;
    nY           :Integer;
    sMonName     :String[14];
    nCount       :Integer;
    dwZenTime    :LongWord;
    nRange  :integer;
    nMissionGenRate  :integer;
    CertList: tlist;
    Envir: TObject;
    nRace:   Integer;
    dwStartTick:LongWord;
  end;
  pTMonGenInfo =^TMonGenInfo;

  TProgamType=(tDBServer,tLoginSrv,tLogServer,tM2Server,tLoginGate,tLoginGate1,tSelGate,tSelGate1,
               tRunGate,tRunGate1,tRunGate2,tRunGate3,tRunGate4,tRunGate5,tRunGate6,tRunGate7);
  TVarType=(vInteger,vString,vNone);
  TDynamicVar=record
    sName :string;
    VarType:TVarType;
    nInternet:integer;
    sString:string;
  end;
  pTDynamicVar=^TDynamicVar;

  TItemName=record
    nMakeIndex :integer;
    nItemIndex :integer;
    sItemName:string;
  end;
  pTItemName=^TItemName;

  TSessInfo=record
     sAccount       :  string[14];
     sIPaddr        :  string[15];
     nSessionID     :  integer;
     nPayMent       :  integer;
     nPayMode       :  integer;
     nSessionStatus :  integer;
     dwStartTick    :  LongWord;
     dwActiveTick   :  LongWord;
     nRefCount      :  integer;
  end;
  pTSessInfo=^TSessInfo;

  TGateInfo=record
    boUsed          :boolean;
    Socket          :TCustomWinSocket;
    sAddr           :string[20];
    nPort           :integer;
    n520            :integer;
    UserList        :  TList;
    nUserCount      :integer;
    Buffer          :pchar;
    nBuffLen        :integer;
    BufferList      :  TList ;
    boSendKeepAlive :boolean;
    boSendCheckPro  :boolean;     //是否已经发送网关专业版本验证
    dwSendCheckProTick    :LongWord;
    nSendChecked    :integer;
    nSendBlockCount :integer;
    nSendMsgCount   :integer;
    nSendRemainCount:integer;
    dwSendTick      :LongWord;

    nSendMsgBytes:integer;
    nSendedMsgCount:integer;
    nSendBytesCount:integer;
    nSendCount:integer;
    dwSendCheckTick:LongWord;

    dwTime544       :LongWord;
  end;
  pTGateInfo=^TGateInfo ;

  TMagic =  record   // 魔法
    wMagicID: Word;  // 编号
//  Num:byte;        // 这里应为MagicName:Array[0..13] of char //num 是我自己加的,表示后面名字的有效字符数.
    sMagicName:string[12]; //Array[0..12] of Char;   //名称 12
//效果
    btEffectType: BYTE;
    btEffect: BYTE;
    xx         :Byte;
    wSpell: Word;     //魔法
    wPower: Word;

    TrainLevel: Array[0..3] of BYTE;     //升级需要的等级
    MaxTrain: Array[0..3] of Integer; //锻炼
    btTrainLv : BYTE;           //最大锻炼等级
    btJob: BYTE;
    dwDelayTime: dword;   //延迟时间
    btDefSpell: BYTE;       //默认
    btDefPower: BYTE;
    wMaxPower : Word; //
    btDefMaxPower: BYTE;
    sDescr: string[15];//Array[0..15] of Char;
  end;
  pTMagic=^TMagic;

  TCLIENTMAGIC = record    // 魔法        84
    Key: Char;             // 按键
    level:byte;            // 等级
    CurTrain:integer;      // 当前经验
    Def: TMagic;
  end;

  TMagicInfo = record
    wMagicID: Word;        //编号
//  Num:byte;          //这里应为MagicName:Array[0..13] of char //num 是我自己加的,表示后面名字的有效字符数.
    sMagicName:string[12]; //Array[0..12] of Char;   //名称 12

    btEffectType: BYTE;
    btEffect: BYTE;     //效果
    xx         :Byte;
    wSpell: Word;     //魔法
    wPower: Word;

    TrainLevel: Array[0..3] of BYTE;     //升级需要的等级
    MaxTrain: Array[0..3] of Integer; //锻炼
    btTrainLv : BYTE;           //最大锻炼等级
     btJob: BYTE;
      dwDelayTime: dword;   //延迟时间
    btDefSpell: BYTE;       //默认
    btDefPower: BYTE;
   wMaxPower : Word; //
   btDefMaxPower: BYTE;
    sDescr: string[15];//string[15];//Array[0..15] of Char;
  end;
  pTMagicInfo = ^TMagicInfo;

  TUserMagic=packed record        //     for m2       packed
    wMagIdx:word;
    btLevel:byte;
    btKey:byte;
    nTranPoint:integer;
    MagicInfo:pTMagic;
  end;
  pTUserMagic=^TUserMagic;

  THmagic=packed record   //dbs
    wMagIdx:word;
    btLevel:byte;
    btKey:byte;
    nTranPoint:integer;
   end;

  TGoldChangeInfo = record
    sGameMasterName:string[14];
    sGetGoldUser  :string[14];
    nGold          :integer;
  end;
  pTGoldChangeInfo=^TGoldChangeInfo;

  TLoadDBInfo=record
    nGateIdx:integer;
    nSocket:integer;
    sAccount         :string[12];
    sCharName       :string[14];
    sIPaddr         :string[15];
    nSessionID       :integer;
    nSoftVersionDate :integer;
    nPayMent         :integer;
    nPayMode         :integer;
    nGSocketIdx      :integer;
    dwNewUserTick    : dword;
    PlayObject       :TObject;
    nReLoadCount     :integer;
    boLoadLocalIp:boolean;
  end;
  pTLoadDBInfo=^TLoadDBInfo ;

  Tonhorse=record
    nw1:integer;
    nw2:integer;
    nw3:integer;
  end;

  TGameCmd=record
    sCmd:string[20];
    nPerMissionMin:integer;
    nPerMissionMax:integer;
  end;
  pTGameCmd=^TGameCmd ;

  TDefaultMessage = record
    Recog    :Integer;
    Ident    :Word;
    Param    :Word;
    Tag      :Word;
    Series   :Word;
  end;
  pTDefaultMessage=^TDefaultMessage;

  TSlaveInfo=record
    sSalveName:string[14];
    btSalveLevel :byte;
    dwRoyaltySec  :dword;
    nKillCount    :integer;
    btSlaveExpLevel :byte;
    nHP            :integer;
    nMP            :integer;
  end;
  pTSlaveInfo=^TSlaveInfo;

  TQuestInfo=record
    wFlag:WORD;
    btValue   :byte;
    nRandRage  :integer;
  end;

  TScript=record
    nQuest:integer;
    boQuest:boolean;
    RecordList:tlist;
    QuestInfo:array[0..9]of TQuestInfo;
  end;
  pTScript=^TScript ;

  TMsgColor=(c_Red,c_Green,c_Blue,c_White,c_fengs);
  TMonStatus=(s_KillHuman,s_UnderFire,s_Die,s_MonGen)  ;

  TStatusTime=ARRAY[0..15] of  integer;    //   0..11

  Tm2StatusTime=ARRAY[0..11] of  integer;

  TAddAbility =record       //OK     //Size 40
    Level          :Byte;   //0x198  //0x34
    bt035          :Byte;
    wAC            :dWord;  //0x19A  //0x36
    wMAC           :dWord;  //0x19C  //0x38
    wDC            :dWord;  //0x19E  //0x3A
    wMC            :dWord;  //0x1A0  //0x3C
    wSC            :dWord;  //0x1A2  //0x4E
    wHP            :Word;   //0x1A4  //0x40
    wMP            :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
    btWeaponStrong :Byte;
    bt1DF          :Byte;
    wHitPoint      :Word;
    wSpeedPoint    :Word;
    wAntiPoison    :Word;
    wPoisonRecover :Word;
    wHealthRecover :Word;
    wSpellRecover  :Word;
    wAntiMagic     :dword;
    btLuck         :Byte;
    btUnLuck       :Byte;
    nHitSpeed      :integer;
  end;

  TNakedAbility=record
    DC         :word ;
    MC         :word ;
    SC         :word ;
    AC         :word ;
    MAC        :word ;
    HP         :word ;
    MP         :word ;
    Hit        :word ;
    Speed      :word ;
    X2         :word ;
  end;
 pTNakedAbility=^TNakedAbility ;

  TSUBABILITYDATA=packed record
    nActive    :word;
    nActiveMax :word;
    color      :byte;    //integer
    jpactive   :integer;   //word
    ubyte      :byte;
  end;
 
  TMapflag = record
    nMUSICID           :integer;
    nL                 :integer;
    boFIGHT            :boolean;
    boFIGHT3           :boolean;
    sReConnectMap      :string[14];
    boMUSIC            :boolean;
    boEXPRATE          :boolean;
    nEXPRATE           :integer;
    nPKWINLEVEL        :integer;
    nPKWINEXP          :integer;
    nPKLOSTLEVEL       :integer;
    nPKLOSTEXP         :integer;
    boDECHP            :boolean;
    nDECHPPOINT        :integer;
    nDECHPTIME         :integer;
    boINCHP            :boolean;
    nINCHPPOINT        :integer;
    nINCHPTIME         :integer;
    boDECGAMEGOLD      :boolean;
    nDECGAMEGOLD       :integer;
    nDECGAMEGOLDTIME   :integer;
    boDECGAMEPOINT     :boolean;
    nDECGAMEPOINT      :integer;
    nDECGAMEPOINTTIME  :integer;
    boINCGAMEGOLD      :boolean;
    nINCGAMEGOLD       :integer;
    nINCGAMEGOLDTIME   :integer;
    boINCGAMEPOINT     :boolean;
    nINCGAMEPOINT      :integer;
    nINCGAMEPOINTTIME  :integer;
    boRUNHUMAN         :boolean;
    boRUNMON           :boolean;
    boNEEDHOLE         :boolean;
    boNORECALL         :boolean;
    boNOGUILDRECALL    :boolean;
    boNODEARRECALL     :boolean;
    boNOMASTERRECALL   :boolean;
    boNORANDOMMOVE     :boolean;
    boNODRUG           :boolean;
    boMINE             :boolean;
    boPKWINLEVEL       :boolean;
    boPKWINEXP         :boolean;
    boPKLOSTLEVEL      :boolean;
    boPKLOSTEXP        :boolean;
    nRequestLevel      :Integer; //0x18 进入本地图所需等级
    nWidth             :Integer; //0x1C
    nHeight            :Integer; //0x20
    boDARK             :Boolean; //0x24
    boDAY              :Boolean; //0x25
    boDarkness         :Boolean;
    boDayLight         :Boolean;
    DoorList           :TList;   //0x28
    bo2C               :Boolean;
    boSAFE             :Boolean; //0x2D
    boCANHORSE         :Boolean;           //能骑马
    boNOBATFLY         :Boolean;         //不能使用 蝙蝠
    boCanUseLF         :Boolean;
    boNOYS             :Boolean;
    boNOQB             :Boolean;
    boFightZone        :Boolean; //0x2E
    boFight3Zone       :Boolean; //0x2F  //行会战争地图
    boQUIZ             :Boolean; //0x30
    boNORECONNECT      :Boolean; //0x31
    boNOPOSITIONMOVE   :Boolean; //0x37
    sNoReconnectMap    :String[14];  //0x38
    QuestNPC           :TObject;  //0x3C
    nNEEDSETONFlag     :Integer;  //0x40
    nNeedONOFF         :Integer;  //0x44
    m_QuestList        :TList;   //0x48
    m_boRUNHUMAN       :Boolean;  //可以穿人
    m_boRUNMON         :Boolean;  //可以穿怪
    m_boINCHP          :Boolean;  //自动加HP值
    m_boINCGAMEGOLD    :Boolean;  //自动减游戏币
    m_boINCGAMEPOINT   :Boolean;  //自动加点
    m_boDECHP          :Boolean;  //自动减HP值
    m_boDECGAMEGOLD    :Boolean;  //自动减游戏币
    m_boDECGAMEPOINT   :Boolean;  //自动减点
    m_boMUSIC          :Boolean;  //音乐
    m_boEXPRATE        :Boolean;  //杀怪经验倍数
    m_boPKWINLEVEL     :Boolean;  //PK得等级
    m_boPKWINEXP       :Boolean;  //PK得经验
    m_boPKLOSTLEVEL    :Boolean;  //PK丢等级
    m_boPKLOSTEXP      :Boolean;  //PK丢经验
    m_nPKWINLEVEL      :Integer;  //PK得等级数
    m_nPKLOSTLEVEL     :Integer;  //PK丢等级
    m_nPKWINEXP        :Integer;  //PK得经验数
    m_nPKLOSTEXP       :Integer;  //PK丢经验
    m_nDECHPTIME       :Integer;  //减HP间隔时间
    m_nDECHPPOINT      :Integer;  //一次减点数
    m_nINCHPTIME       :Integer;  //加HP间隔时间
    m_nINCHPPOINT      :Integer;  //一次加点数
    m_nDECGAMEGOLDTIME :Integer;  //减游戏币间隔时间
    m_nDECGAMEGOLD     :Integer;  //一次减数量
    m_nDECGAMEPOINTTIME :Integer;  //减游戏点间隔时间
    m_nDECGAMEPOINT     :Integer;  //一次减数量
    m_nINCGAMEGOLDTIME  :Integer;  //加游戏币间隔时间
    m_nINCGAMEGOLD      :Integer;  //一次加数量
    m_nINCGAMEPOINTTIME :Integer;  //加游戏币间隔时间
    m_nINCGAMEPOINT     :Integer;  //一次加数量
    m_nMUSICID          :Integer;  //音乐ID
    m_nEXPRATE          :Integer;  //经验倍率
    m_nMonCount         :Integer;
    m_nHumCount         :Integer;
    mirrorname          :string[14];
    m_weatherEffect     :integer;
    m_nQfunction        :integer;
    m_skillbyhumlabel:string[20];
    m_skillbymonlabel:string[20];
    m_skillhumlabel:string[20];
    m_skillmonlabel:string[20];
    m_slevelupgotolabel:string[20];
  end;
  pTMapFlag=^TMapflag;

  TDoorStatus=record
    boOpened   :boolean;
    bo01       :boolean;
    n04        :integer;
    dwOpenTick :  dWord;
    nRefCount  :  integer;
  end;
  pTDoorStatus=^TDoorStatus ;

  TMessageBodyW=Record
    Param1:word;//integer;
    Param2:word;//integer;
    Tag1:word;//integer;
    Tag2:word;//integer;
  end;

  TmyCharDesc=Record
    Feature:Integer;
    Status:Integer;
    xue:integer;      //hint 11.23  脚色的血量
  end;
  TYSfenghao=packed record
    b1:byte;
    n1:integer;
  end;

  TmyszCharDesc=Record
    Feature:Integer;
    Status:Integer;
    stop:word;      //狮子吼的数据
  end;

  TSpyFly=record
    chardesc:TmyCharDesc;
    wsx:word;
    wsy:word;
    ww4:word;

⌨️ 快捷键说明

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