📄 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 //心灵启示
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -