📄 objbase.pas
字号:
procedure Initialize(); virtual; //FFFE
procedure Disappear(); virtual; //FFFD
function Operate(ProcessMsg: pTProcessMessage): Boolean; virtual; //FFFC
procedure SearchViewRange(); dynamic;
procedure Run(); virtual; //dynamic;//FFFB
procedure ProcessSayMsg(sMsg: string); virtual; //FFFA
procedure MakeGhost; virtual;
procedure Die(); virtual; //FFF9;
function KillFunc: Boolean;
function LevelUPFunc: Boolean;
procedure ReAlive(); virtual; //FFF8;
procedure RecalcAbilitys(); virtual; //FFF7
function IsProtectTarget(BaseObject: TBaseObject): Boolean; virtual; //FFF6
function IsAttackTarget(BaseObject: TBaseObject): Boolean; virtual; //FFF5
function IsProperTarget(BaseObject: TBaseObject): Boolean; virtual; //FFF4
function IsProperFriend(BaseObject: TBaseObject): Boolean; virtual; //FFF3
procedure SetTargetCreat(BaseObject: TBaseObject); virtual; //FFF2
procedure DelTargetCreat(); virtual; //FFF1
end;
TAnimalObject = class(TBaseObject)
m_nNotProcessCount: Integer; //未被处理次数,用于怪物处理循环
m_nTargetX: Integer; //0x538
m_nTargetY: Integer; //0x53C
m_boRunAwayMode: Boolean; //0x540
m_dwRunAwayStart: LongWord; //0x544
m_dwRunAwayTime: LongWord; //0x548
private
public
constructor Create(); override;
procedure SearchTarget();
procedure sub_4C959C;
function Operate(ProcessMsg: pTProcessMessage): Boolean; override; //FFFC
procedure Run; override; //FFFB
procedure DelTargetCreat(); override; //FFF1
procedure SetTargetXY(nX, nY: Integer); virtual; //FFF0
procedure GotoTargetXY(); virtual; //0FFEF
procedure Wondering(); virtual; //0FFEE
procedure Attack(TargeTBaseObject: TBaseObject; nDir: Integer); virtual;
//0FFED
procedure Struck(hiter: TBaseObject); virtual; //FFEC
procedure HitMagAttackTarget(TargeTBaseObject: TBaseObject; nHitPower:
Integer; nMagPower: Integer; boFlag: Boolean);
end;
//////--------------- And By Delphilxh------2005-06-21---------///////////
TVisibleBaseObject = record
BaseObject: TBaseObject;
MapItem: PTMapItem;
nVisibleFlag: Integer;
end;
pTVisibleBaseObject = ^TVisibleBaseObject;
//////--------------- And By Delphilxh------2005-06-21---------///////////
TPlayObject = class(TAnimalObject)
// m_sDbCharName : String;
m_DefMsg: TDefaultMessage; //0x550
TList55C: TMyList; //0x55C
m_sOldSayMsg: string; //0x560
m_nSayMsgCount: Integer; //0x560
m_dwSayMsgTick: LongWord; //0x568
m_boDisableSayMsg: Boolean; //0x56C
m_dwDisableSayMsgTick: LongWord; //0x570
m_dwCheckDupObjTick: LongWord; //0x574
dwTick578: LongWord; //0x578
dwTick57C: LongWord; //0x57C
m_boInSafeArea: Boolean; //0x580
n584: Integer; //0x584
n588: Integer; //0x584
m_sUserID: string[11]; //0x58C 登录帐号名
m_sIPaddr: string; //0x598 人物IP地址
m_sIPLocal: string;
m_nSocket: Integer; //0x59C nSocket
m_nGSocketIdx: Integer; //0x5A0 wGateIndex 人物连接到游戏网关SOCKET ID
m_nGateIdx: Integer; //0x5A8 nGateIdx 人物所在网关号
m_nSoftVersionDate: Integer; //0x5AC
m_dLogonTime: TDateTime; //0x5B0 //登录时间
m_dwLogonTick: LongWord; //0x5B8 战领沙城时间(Dword)
m_boReadyRun: Boolean; //0x5BC //是否进入游戏完成
m_nSessionID: Integer; //0x5C0
m_nPayMent: Integer; //0x5C4 人物当前模式(测试/付费模式)(Dword)
m_nPayMode: Integer; //0x5C8
m_SessInfo: pTSessInfo; //全局会话信息
m_dwLoadTick: LongWord; //0x5CC
m_nServerIndex: Integer; //0x5D0 人物当前所在服务器序号
m_boEmergencyClose: Boolean; //0x5D4 掉线标志
m_boSoftClose: Boolean; //0x5D5
m_boKickFlag: Boolean; //0x5D6 断线标志(Byte)(@kick 命令)
m_boReconnection: Boolean; //0x5D7
m_boRcdSaved: Boolean; //0x5D8
m_boSwitchData: Boolean; //0x5D9
m_nWriteChgDataErrCount: Integer; //0x5DC
m_sSwitchMapName: string; //0x5E0
m_nSwitchMapX: Integer; //0x5E4
m_nSwitchMapY: Integer; //0x5E8
m_boSwitchDataSended: Boolean; //0x5EC
m_dwChgDataWritedTick: LongWord; //0x5F0
m_dw5D4: LongWord; //0x5F4
m_nStatusGoodCount: Integer; //0x5F8
n5FC: Integer; //0x5FC
m_dwHitIntervalTime: LongWord; //攻击间隔
m_dwMagicHitIntervalTime: LongWord; //魔法间隔
m_dwRunIntervalTime: LongWord; //走路间隔
m_dwWalkIntervalTime: LongWord; //走路间隔
m_dwTurnIntervalTime: LongWord; //换方向间隔
m_dwActionIntervalTime: LongWord; //组合操作间隔
m_dwRunLongHitIntervalTime: LongWord; //移动刺杀间隔
m_dwRunHitIntervalTime: LongWord; //跑位攻击间隔
m_dwWalkHitIntervalTime: LongWord; //走位攻击间隔
m_dwRunMagicIntervalTime: LongWord; //跑位魔法间隔
m_dwMagicAttackTick: LongWord; //0x600 魔法攻击时间(Dword)
m_dwMagicAttackInterval: LongWord; //0x604 魔法攻击间隔时间(Dword)
m_dwAttackTick: LongWord; //0x608 攻击时间(Dword)
m_dwMoveTick: LongWord; //0x60C 人物跑动时间(Dword)
m_dwAttackCount: LongWord; //0x610 人物攻击计数(Dword)
m_dwAttackCountA: LongWord; //0x614 人物攻击计数(Dword)
m_dwMagicAttackCount: LongWord; //0x618 魔法攻击计数(Dword)
m_dwMoveCount: LongWord; //0x61C 人物跑计数(Dword)
m_dwMoveCountA: LongWord; //0x620 人物跑计数(Dword)
m_nOverSpeedCount: Integer; //0x624 超速计数(Dword)
m_boDieInFight3Zone: Boolean; //0x628
m_Script: pTScript; //0x62C
m_NPC: TBaseObject; //0x630
m_nVal: array[0..9] of Integer; //0x634 - 658
m_nMval: array[0..99] of Integer;
m_DyVal: array[0..9] of Integer; //0x65C - 680
m_sPlayDiceLabel: string;
m_boTimeRecall: Boolean; //0x684
m_dwTimeRecallTick: LongWord; //0x688
m_sMoveMap: string; //0x68C
m_nMoveX: Integer; //0x690
m_nMoveY: Integer; //0x694
bo698: Boolean; //0x698
n69C: Integer; //0x69C
m_dwSaveRcdTick: LongWord; //0x6A0 保存人物数据时间间隔
m_nBright: Integer; //0x6A4
m_boNewHuman: Boolean; //0x6A8
m_boSendNotice: Boolean; //0x6A9
m_dwWaitLoginNoticeOKTick: LongWord;
m_boLoginNoticeOK: Boolean; //0x6AA
bo6AB: Boolean; //0x6AB
m_boExpire: Boolean; //0x6AC 帐号过期
m_dwShowLineNoticeTick: LongWord; //0x6B0
m_nShowLineNoticeIdx: Integer; //0x6B4
//m_AddUseItems :array[9..12] of TUserItem;
m_nSoftVersionDateEx: Integer;
m_CanJmpScriptLableList: TStringList;
m_nScriptGotoCount: Integer;
m_sScriptCurrLable: string; //用于处理 @back 脚本命令
m_sScriptGoBackLable: string; //用于处理 @back 脚本命令
m_dwTurnTick: LongWord;
m_wOldIdent: Word;
m_btOldDir: Byte;
m_boFirstAction: Boolean; //第一个操作
m_dwActionTick: LongWord; //二次操作之间间隔时间
m_sDearName: string[14]; //配偶名称
m_DearHuman: TPlayObject;
m_boCanDearRecall: Boolean; //是否允许夫妻传送
m_boCanMasterRecall: Boolean;
m_dwDearRecallTick: LongWord; //夫妻传送时间
m_dwMasterRecallTick: LongWord;
m_sMasterName: string[14]; //师徒名称
m_MasterHuman: TPlayObject;
m_MasterList: TMyList;
m_boMaster: Boolean;
m_btCreditPoint: Byte; //声望点
m_btMarryCount: Byte; //离婚次数
m_btReLevel: Byte; //转生等级
m_btReColorIdx: Byte;
m_dwReColorTick: LongWord;
m_nKillMonExpMultiple: Integer; //杀怪经验倍数
m_dwGetMsgTick: LongWord; //处理消息循环时间控制
m_boNameChangeColor: Boolean; //名字是否变色 2005-09-15
m_sItemCodeFileName: string;
m_boSetItemCode: Boolean;
m_bItemCode: Byte;
m_boSetStoragePwd: Boolean; //设置仓库密码开始
m_boReConfigPwd: Boolean;
m_boCheckOldPwd: Boolean;
m_boUnLockPwd: Boolean;
m_boUnLockStoragePwd: Boolean;
m_boPasswordLocked: Boolean; //锁密码
m_btPwdFailCount: Byte;
m_boLockLogon: Boolean; //是否启用锁登录功能
m_boLockLogoned: Boolean; //是否打开登录锁
m_sTempPwd: string[7];
m_sStoragePwd: string[7];
m_PoseBaseObject: TBaseObject;
m_boStartMarry: Boolean;
m_boStartMaster: Boolean;
m_boStartUnMarry: Boolean;
m_boStartUnMaster: Boolean;
m_boFilterSendMsg: Boolean; //禁止发方字(发的文字只能自己看到)
m_nKillMonExpRate: Integer; //杀怪经验倍数(此数除以 100 为真正倍数)
m_nPowerRate: Integer; //人物攻击力倍数(此数除以 100 为真正倍数)
m_dwKillMonExpRateTime: LongWord;
m_dwPowerRateTime: LongWord;
m_dwRateTick: LongWord;
m_boCanUseItem : Boolean; //是否允许使用物品
m_boCanDeal : Boolean;
m_boCanDrop : Boolean;
m_boCanGetBackItem: Boolean;
m_boCanWalk : Boolean;
m_boCanRun : Boolean;
m_boCanHit : Boolean;
m_boCanSpell : Boolean;
m_boCanSendMsg : Boolean;
m_nMemberType: Integer; //会员类型
m_nMemberLevel: Integer; //会员等级
m_boSendMsgFlag: Boolean; //发祝福语标志
m_boChangeItemNameFlag: Boolean;
m_nGameGold: Integer; //游戏币
m_boDecGameGold: Boolean; //是否自动减游戏币
m_dwDecGameGoldTime: LongWord;
m_dwDecGameGoldTick: LongWord;
m_nDecGameGold: Integer; //一次减点数
m_boIncGameGold: Boolean; //是否自动加游戏币
m_dwIncGameGoldTime: LongWord;
m_dwIncGameGoldTick: LongWord;
m_nIncGameGold: Integer; //一次减点数
m_nGamePoint: Integer; //游戏点数
m_dwIncGamePointTick: LongWord;
m_nPayMentPoint: Integer;
m_dwPayMentPointTick: LongWord;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -