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

📄 objbase.pas

📁 乐都SQL版传奇全套代码,绝对可编译
💻 PAS
📖 第 1 页 / 共 5 页
字号:
    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 + -