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

📄 objbase.pas

📁 翎风世界..传奇服务端..DELPHI源代码 包括DBServer,LogDataServer,LoginGate,LoginSrv,M2Server等..内容齐全.
💻 PAS
📖 第 1 页 / 共 5 页
字号:
unit ObjBase;

interface
uses
  Windows, Classes, SysUtils, Forms, StrUtils, Math, SDK, Grobal2, Envir,
  ItmUnit, MD5Unit;

type
  TClientAction = (cHit,cMagHit,cRun,cWalk,cDigUp,cTurn);
//  TSayMsgType = (s_NoneMsg,s_GroupMsg,s_GuildMsg,s_SystemMsg,s_NoticeMsg);
//  TGender = (gMan,gWoMan);
//  TJob    = (jWarr,jWizard,jTaos);

const
  gMan          = 0;
  gWoMan        = 1;

type
  TBaseObject = class;

  pTStartPoint=^TStartPoint;
  TStartPoint=record
    sMapName:String[MapNameLen];
    nX:Integer;
    nY:Integer;
    btJob:Byte;
    Envir:TEnvirnoment;
    dwWhisperTick:LongWord;
  end;


  pTSendMessage=^TSendMessage;
  TSendMessage=record
     wIdent:word;
     wParam:word;
     nParam1:integer;
     nParam2:integer;
     nParam3:integer;
     dwDeliveryTime:dword;
     BaseObject:TBaseObject;
     boLateDelivery:Boolean;
     Buff:pointer;
  end;


  pTVisibleBaseObject=^TVisibleBaseObject;
  TVisibleBaseObject=record
    BaseObject:TBaseObject;
    nVisibleFlag:Integer;
  end;

  pTVisibleMapItem=^TVisibleMapItem;
  TVisibleMapItem=record
     nX,nY:integer;
     MapItem:pTMapItem;
     sName:String;
     wLooks:word;
     nVisibleFlag:integer;
  end;

  TBaseObject = class
    m_sMapName                :String[MapNameLen]; //0x04
    m_sCharName               :String[ActorNameLen]; //0x15
    m_nCurrX                  :Integer;    //0x24  人物所在座标X(4字节)
    m_nCurrY                  :Integer;    //0x28  人物所在座标Y(4字节)
    m_btDirection             :Byte;       //0x2C  人物所在方向(1字节)
    m_btGender                :Byte;       //0x2D  人物的性别(1字节)
    m_btHair                  :Byte;       //0x2E  人物的头发(1字节)
    m_btJob                   :Byte;       //0x2F  人物的职业(1字节)
    m_nGold                   :Integer;    //0x30  人物金币数(4字节)
    m_Abil                    :TAbility; //TAbility;   //0x34 -> 0x5B
    m_nCharStatus             :Integer;    //0x5C
    m_sHomeMap                :String[MapNameLen]; //0x78  //回城地图
    m_nHomeX                  :Integer;    //0x8C  //回城座标X
    m_nHomeY                  :Integer;    //0x90  //回城座标Y
      bo94                    :Boolean;    //0x94
    m_boOnHorse               :Boolean;    //0x95
    m_btHorseType             :Byte;
    m_btDressEffType          :Byte;
      n98                     :Integer;    //0x98
      n9C                     :Integer;    //0x9C
      nA0                     :Integer;    //0xA0
      nA4                     :Integer;    //0xA4
      nA8                     :Integer;    //0xA8
    m_nPkPoint                :Integer;    //0xAC  人物的PK值(4字节)
    m_boAllowGroup            :Boolean;    //0xB0  允许组队
    m_boAllowGuild            :Boolean;    //0xB1  允许加入行会
      btB2                    :Byte;       //0xB2
      btB3                    :Byte;       //0xB3
    m_nIncHealth              :Integer;    //0x0B4
    m_nIncSpell               :Integer;    //0x0B8
    m_nIncHealing             :Integer;    //0x0BC
    m_nFightZoneDieCount      :Integer;    //0x0C0  //在行会占争地图中死亡次数
      nC4                     :Integer;
      btC8                    :Byte;     //0xC8
      btC9                    :Byte;     //0xC9
    m_BonusAbil               :TNakedAbility; //0x0CA TNakedAbility
    m_CurBonusAbil            :TNakedAbility; //0x0DE
    m_nBonusPoint             :Integer;        //0x0F4
    m_nHungerStatus           :Integer;        //0x0F8
    m_boAllowGuildReCall      :Boolean;        //0xFC
//      btFC               :Byte;
    m_btFD                    :Byte;
    m_btFE                    :Byte;
    m_btFF                    :Byte;
    m_dBodyLuck               :Double;        //0x100
    m_nBodyLuckLevel          :Integer;       //0x108
    m_wGroupRcallTime         :Word;          //0x10C
    m_boAllowGroupReCall      :Boolean;       //0x10E
    m_QuestUnitOpen           :TQuestUnit;    //0x10F
    m_QuestUnit               :TQuestUnit;    //0x11C
    m_QuestFlag               :TQuestFlag;    //0x128 129
    m_nCharStatusEx           :Integer;
    m_dwFightExp              :LongWord;      //0x194   //怪物经验值
    m_WAbil                   :TAbility;      //0x198
    m_AddAbil                 :TAddAbility;   //0x1C0
    m_nViewRange              :Integer;       //0x1E4   //可视范围大小
    m_wStatusTimeArr          :TStatusTime;   //0x60
    m_dwStatusArrTick         :array [0..MAX_STATUS_ATTRIBUTE -1] of LongWord; //0x1E8
    m_wStatusArrValue         :array [0..5] of Word; //0x218
    m_dwStatusArrTimeOutTick  :array [0..5] of LongWord; // :Tarry220;           //0x220
    m_wAppr                   :Word;         //0x238
    m_btRaceServer            :Byte;         //0x23A   //角色类型
    m_btRaceImg               :Byte;         //0x23B   //角色外形
    m_btHitPoint              :Byte;         //0x23C   人物攻击准确度(Byte)
    m_nHitPlus                :ShortInt;      //0x23D
    m_nHitDouble              :ShortInt;      //0x23E
    m_dwGroupRcallTick        :LongWord;     //0x240  记忆使用间隔(Dword)
    m_boRecallSuite           :Boolean;      //0x244  记忆全套
      bo245                   :Boolean;      //0x245
    m_boTestGa                :Boolean;      //0x246  //是否输入Testga 命令
    m_boGsa                   :Boolean;      //0x247  //是否输入gsa 命令
    m_nHealthRecover          :ShortInt;      //0x248
    m_nSpellRecover           :ShortInt;      //0x249
    m_btAntiPoison            :Byte;         //0x24A
    m_nPoisonRecover          :ShortInt;     //0x24B
    m_nAntiMagic              :ShortInt;     //0x24C
    m_nLuck                   :Integer;      //0x250  人物的幸运值Luck
    m_nPerHealth              :Integer;      //0x254
    m_nPerHealing             :Integer;      //0x258
    m_nPerSpell               :Integer;      //0x25C
    m_dwIncHealthSpellTick    :LongWord;     //0x260
    m_btGreenPoisoningPoint   :Byte;         //0x264  中绿毒降HP点数
    m_nGoldMax                :Integer;      //0x268  人物身上最多可带金币数(Dword)
    m_btSpeedPoint            :Byte;         //0x26C  人物敏捷度(Byte)
    m_btPermission            :Byte;         //0x26D  人物权限等级
    m_nHitSpeed               :ShortInt;     //0x26E  //1-18 更改数据类型
    m_btLifeAttrib            :Byte;         //0x26F
    m_btCoolEye               :Byte;         //0x270
    m_GroupOwner              :TBaseObject;    //0x274
    m_GroupMembers            :TStringList;  //0x278  组成员
    m_boHearWhisper           :Boolean;      //0x27C  允许私聊
    m_boBanShout              :Boolean;      //0x27D  允许群聊
    m_boBanGuildChat          :Boolean;      //0x27E  拒绝行会聊天
    m_boAllowDeal             :Boolean;      //0x27F  是不允许交易
    m_BlockWhisperList        :TStringList;  //0x280  禁止私聊人员列表
    m_dwShoutMsgTick          :LongWord;     //0x284
    m_Master                  :TBaseObject;    //0x288  是否被召唤(主人)
    m_dwMasterRoyaltyTick     :LongWord;     //0x28C  怪物叛变时间
    m_dwMasterTick            :LongWord;      //0x290
      n294                    :Integer;      //0x294  杀怪计数
    m_btSlaveExpLevel         :Byte;         //0x298  宝宝等级 1-7
    m_btSlaveMakeLevel        :Byte;         //0x299  召唤等级
    m_SlaveList               :TList;        //0x29C  下属列表
      bt2A0                   :Byte;         //0x2A0
    m_boSlaveRelax            :Boolean;      //0x2A0  宝宝攻击状态(休息/攻击)(Byte)
    m_btAttatckMode           :Byte;         //0x2A1  下属攻击状态
    m_btNameColor             :Byte;       //0x2A2  人物名字的颜色(Byte)
    m_nLight                  :Integer;    //0x2A4  亮度
    m_boGuildWarArea          :Boolean;    //0x2A8  行会占争范围
    m_Castle                  :TObject;    //0x2AC //所属城堡
      bo2B0                   :Boolean;    //0x2B0
    m_dw2B4Tick               :LongWord;   //0x2B4
    m_boSuperMan              :Boolean;    //0x2B8  无敌模式
      bo2B9                   :Boolean;    //0x2B9
      bo2BA                   :Boolean;    //0x2BA
    m_boAnimal                :Boolean;    //0x2BB
    m_boNoItem                :Boolean;    //0x2BC
    m_boFixedHideMode         :Boolean;    //0x2BD
    m_boStickMode             :Boolean;    //0x2BE
      bo2BF                   :Boolean;    //0x2BF
    m_boNoAttackMode          :Boolean;    //0x2C0
    m_boNoTame                :Boolean;    //0x2C1
    m_boSkeleton              :Boolean;    //0x2C2
    m_nMeatQuality            :Integer;    //0x2C4
    m_nBodyLeathery           :Integer;    //0x2C8
    m_boHolySeize             :Boolean;    //0x2CC
    m_dwHolySeizeTick         :LongWord;     //0x2D0
    m_dwHolySeizeInterval     :LongWord;     //0x2D4
    m_boCrazyMode             :Boolean;      //0x2D8
    m_dwCrazyModeTick         :LongWord;     //0x2DC
    m_dwCrazyModeInterval     :LongWord;     //0x2E0
    m_boShowHP                :Boolean;      //0x2E4
//      nC2E6                   :Integer;      //0x2E6
    m_dwShowHPTick            :LongWord;     //0x2E8  心灵启示检查时间(Dword)
    m_dwShowHPInterval        :LongWord;     //0x2EC  心灵启示有效时长(Dword)
      bo2F0                   :Boolean;      //0x2F0
    m_dwDupObjTick            :LongWord;     //0x2F4
    m_PEnvir                  :TEnvirnoment; //0x2F8
    m_boGhost                 :Boolean;    //0x2FC
    m_dwGhostTick             :LongWord;   //0x300
    m_boDeath                 :Boolean;    //0x304
    m_dwDeathTick             :LongWord;   //0x308
    m_btMonsterWeapon         :Byte;       //0x30C 怪物所拿的武器
    m_dwStruckTick            :LongWord;   //0x310
    m_boWantRefMsg            :Boolean;    //0x314
    m_boAddtoMapSuccess       :Boolean;    //0x315
    m_bo316                   :Boolean;    //0x316
    m_boDealing               :Boolean;    //0x317
    m_DealLastTick            :LongWord;   //0x318 交易最后操作时间
    m_DealCreat               :TBaseObject;  //0x31C
    m_MyGuild                 :TOBject;    //0x320
    m_nGuildRankNo            :Integer;    //0x324
    m_sGuildRankName          :String;     //0x328
    m_sScriptLable            :String;     //0x32C
    m_btAttackSkillCount      :Byte;       //0x330
      bt331                   :Byte;
      bt332                   :Byte;
      bt333                   :Byte;
    m_btAttackSkillPointCount :Byte;       //0x334
      bo335                   :Boolean;    //0x335
      bo336                   :Boolean;    //0x336
      bo337                   :Boolean;    //0x337
    m_boMission               :Boolean;    //0x338
    m_nMissionX               :Integer;    //0x33C
    m_nMissionY               :Integer;    //0x340
    m_boHideMode              :Boolean;    //0x344  隐身戒指(Byte)
    m_boStoneMode             :Boolean;    //0x345
    m_boCoolEye               :Boolean;    //0x346  //是否可以看到隐身人物
    m_boUserUnLockDurg        :Boolean;    //0x347  //是否用了神水
    m_boTransparent           :Boolean;    //0x348  //魔法隐身了
    m_boAdminMode             :Boolean;    //0x349  管理模式(Byte)
    m_boObMode                :Boolean;    //0x34A  隐身模式(Byte)
    m_boTeleport              :Boolean;    //0x34B  传送戒指(Byte)
    m_boParalysis             :Boolean;    //0x34C  麻痹戒指(Byte)
    m_boUnParalysis           :Boolean;
    m_boRevival               :Boolean;    //0x34D  复活戒指(Byte)
    m_boUnRevival             :Boolean;    //防复活
      bo34E                   :boolean;
      bo34F                   :Boolean;
    m_dwRevivalTick           :LongWord;   //0x350  复活戒指使用间隔计数(Dword)
    m_boFlameRing             :Boolean;    //0x354  火焰戒指(Byte)
    m_boRecoveryRing          :Boolean;    //0x355  治愈戒指(Byte)
    m_boAngryRing             :Boolean;    //0x356  未知戒指(Byte)
    m_boMagicShield           :Boolean;    //0x357  护身戒指(Byte)
    m_boUnMagicShield         :Boolean;    //防护身
    m_boMuscleRing            :Boolean;    //0x358  活力戒指(Byte)
    m_boFastTrain             :Boolean;    //0x359  技巧项链(Byte)
    m_boProbeNecklace         :Boolean;    //0x35A  探测项链(Byte)
    m_boGuildMove             :Boolean;    //行会传送
    m_boSupermanItem          :Boolean;
    m_bopirit                 :Boolean;    //祈祷

    m_boNoDropItem            :Boolean;
    m_boNoDropUseItem         :Boolean;
    m_boExpItem               :Boolean;
    m_boPowerItem             :Boolean;

    m_rExpItem                :Real;
    m_rPowerItem              :Real;
    m_dwPKDieLostExp          :LongWord;   //PK 死亡掉经验,不够经验就掉等级
    m_nPKDieLostLevel         :Integer;    //PK 死亡掉等级

    m_boAbilSeeHealGauge      :Boolean;    //0x35B  //心灵启示

⌨️ 快捷键说明

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