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

📄 objbase.pas

📁 原版翎风(LF)引擎(M2)源码(Delphi)
💻 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  //心灵启示
    m_boAbilMagBubbleDefence: Boolean; //0x35C  //魔法盾
    m_btMagBubbleDefenceLevel: Byte; //0x35D
    m_dwSearchTime: LongWord; //0x360
    m_dwSearchTick: LongWord; //0x364
    m_dwRunTick: LongWord; //0x368
    m_nRunTime: Integer; //0x36C
    m_nHealthTick: Integer; //0x370    //特别指定为 此类型  此处用到 004C7CF8
    m_nSpellTick: Integer; //0x374
    m_TargetCret: TBaseObject; //0x378
    m_dwTargetFocusTick: LongWord; //0x37C
    m_LastHiter: TBaseObject; //0x380  人物被对方杀害时对方指针(Dword)
    m_LastHiterTick: LongWord; //0x384
    m_ExpHitter: TBaseObject; //0x388
    m_ExpHitterTick: LongWord; //0x38C
    m_dwTeleportTick: LongWord; //0x390  传送戒指使用间隔(Dword)
    m_dwProbeTick: LongWord; //0x394  探测项链使用间隔(Dword)
    m_dwMapMoveTick: LongWord; //0x398
    m_boPKFlag: Boolean; //0x39C  人物攻击变色标志(Byte)
    m_dwPKTick: LongWord; //0x3A0  人物攻击变色时间长度(Dword)
    m_nMoXieSuite: Integer; //0x3A4  魔血一套(Dword)
    m_nHongMoSuite: Integer; //0x3A8 虹魔一套(Dword)
    m_n3AC: Integer; //0x3AC
    m_db3B0: Double; //0x3B0
    m_dwPoisoningTick: LongWord; //0x3B8 中毒处理间隔时间(Dword)
    m_dwDecPkPointTick: LongWord; //0x3BC  减PK值时间(Dword)
    m_DecLightItemDrugTick: LongWord; //0x3C0
    m_dwVerifyTick: LongWord; //0x3C4
    m_dwCheckRoyaltyTick: LongWord; //0x3C8
    m_dwDecHungerPointTick: LongWord; //0x3CC
    m_dwHPMPTick: LongWord; //0x3D0
    m_MsgList: TList; //0x3D4
    m_VisibleHumanList: TList; //0x3D8
    m_VisibleItems: TList; //0x3DC
    m_VisibleEvents: TList; //0x3E0
    m_SendRefMsgTick: LongWord; //0x3E4
    m_boInFreePKArea: Boolean; //0x3E8  是否在开行会战(Byte)
    LIst_3EC: TList; //0x3EC
    dwTick3F0: LongWord; //0x3F0
    dwTick3F4: LongWord; //0x3F4
    m_dwHitTick: LongWord; //0x3F8
    m_dwWalkTick: LongWord; //0x3FC
    m_dwSearchEnemyTick: LongWord; //0x400
    m_boNameColorChanged: Boolean; //0x404
    m_boIsVisibleActive: Boolean; //是否在可视范围内有人物,及宝宝
    m_nProcessRunCount: ShortInt;
    m_VisibleActors: TList; //0x408
    m_ItemList: TList; //0x40C  人物背包(Dword)数量
    m_DealItemList: TList; //0x410
    m_nDealGolds: Integer; //0x414  交易的金币数量(Dword)
    m_boDealOK: Boolean; //0x418  确认交易标志(Byte
    m_MagicList: TList; //0x41C  技能表
    m_UseItems: THumanUseItems; //0x420  + D8 -> 4F8
    m_SayMsgList: TList;
    m_StorageItemList: TList; //0x4F8

⌨️ 快捷键说明

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