📄 objbase.pas
字号:
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 + -