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

📄 objbase.~pas

📁 M2原代码 M2原代码
💻 ~PAS
📖 第 1 页 / 共 5 页
字号:
    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
      n5F8                    :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              :TList;
    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_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;

    m_dwDecHPTick             :LongWord;
    m_dwIncHPTick             :LongWord;

    m_GetWhisperHuman         :TPlayObject;
    m_dwClearObjTick          :LongWord;
    m_wContribution           :Word;//贡献度
    m_sRankLevelName          :String; //显示名称格式串
    m_boFilterAction          :Boolean;
    m_boClientFlag            :Boolean;
    m_nStep                   :Byte;
    m_nClientFlagMode         :Integer;
    m_dwAutoGetExpTick        :LongWord;
    m_nAutoGetExpTime         :Integer;
    m_nAutoGetExpPoint        :Integer;
    m_AutoGetExpEnvir         :TEnvirnoment;
    m_boAutoGetExpInSafeZone  :Boolean;
    m_DynamicVarList          :TList;
    m_dwClientTick            :LongWord;
    m_boTestSpeedMode         :Boolean; //进入速度测试模式

      {
      LatestRevivalTime       :LongWord;
      wObjectType  :Word;
      Feature      :TObjectFeature;
      boOpenHealth :Boolean;
      dwOpenHealthStart :LongWord;
      dwOpenHealthTime  :LongWord;
      dwMapMoveTime    :LongWord;

      dwTargetFocusTime:LongWord;

      dwWalkTime  :LongWord;
      AntiMagic     :Integer;
      BoAbilSeeHealGauge :Boolean;
      dwStruckTime :LongWord;
      nMeatQuality :Integer;
      nHitTime     :Integer;
      bofirst      :Boolean;
      nSlaveMakeLevel :Integer;
      dwNextHitTime  :LongWord;
      dwNextWalkTime :LongWord;
      boUsePoison    :Boolean;
      }
    nRunCount:Integer;
    dwRunTimeCount:LongWord;
    m_dwDelayTime:LongWord;
  private
    function  ClientDropGold(nGold:Integer):Boolean;
    procedure ClientQueryBagItems();
    procedure ClientQueryUserState(PlayObject:TPlayObject;nX,nY:Integer);
    procedure ClientQueryUserSet(ProcessMsg: pTProcessMessage);
    function  ClientDropItem(sItemName:String;nItemIdx:Integer):Boolean;
    function  ClientPickUpItem: Boolean;
    procedure ClientOpenDoor(nX,nY:Integer);
    procedure ClientTakeOnItems(btWhere:Byte;nItemIdx:integer;sItemName:String);
    procedure ClientTakeOffItems(btWhere:Byte;nItemIdx:integer;sItemName:String);
    procedure ClientUseItems(nItemIdx:Integer;sItemName:String);
    function  UseStdmodeFunItem(StdItem:pTStdItem):Boolean;
    function  ClientGetButchItem(BaseObject:TBaseObject;nX,nY:Integer;btDir:Byte;var dwDelayTime:LongWord):Boolean;
    procedure ClientChangeMagicKey(nSkillIdx,nKey:integer);
    procedure ClientClickNPC(NPC:Integer);
    procedure ClientMerchantDlgSelect(nParam1: Integer;sMsg: String);
    procedure ClientMerchantQuerySellPrice(nParam1,nMakeIndex:Integer;sMsg: String);
    procedure ClientUserSellItem(nParam1,nMakeIndex:Integer;sMsg: String);
    procedure ClientUserBuyItem(nIdent,nParam1,nInt,nZz:Integer;sMsg: String);
    procedure ClientQueryRepairCost(nParam1,nInt:Integer;sMsg: String);
    procedure ClientRepairItem(nParam1,nInt:Integer;sMsg: String);

    procedure ClientGropuClose();
    procedure ClientCreateGroup(sHumName:String);
    procedure ClientAddGroupMember(sHumName:String);
    procedure ClientDelGroupMember(sHumName:String);
    procedure ClientDealTry(sHumName:String);
    procedure ClientAddDealItem(nItemIdx:integer;sItemName:String);
    procedure ClientDelDealItem(nItemIdx:integer;sItemName:String);
    procedure ClientCancelDeal();
    procedure ClientChangeDealGold(nGold:Integer);
    procedure ClientDealEnd();
    procedure ClientStorageItem(NPC:TObject;nItemIdx:Integer;sMsg:String);
    procedure ClientTakeBackStorageItem(NPC:TObject;nItemIdx:Integer;sMsg:String);
    procedure ClientGetMinMap();
    procedure ClientMakeDrugItem(NPC:TObject;nItemName:String);
    procedure ClientOpenGuildDlg();
    procedure ClientGuildHome();
    procedure ClientGuildMemberList();
    procedure ClientGuildAddMember(sHumName:String);
    procedure ClientGuildDelMember(sHumName:String);
    procedure ClientGuildUpdateNotice(sNotict:String);
    procedure ClientGuildUpdateRankInfo(sRankInfo:String);
    procedure ClientGuildAlly();
    procedure ClientGuildBreakAlly(sGuildName:String);
    procedure ClientAdjustBonus(nPoint:Integer;sMsg:String);
    function  ClientChangeDir(wIdent:Word;nX,nY,nDir:Integer;var dwDelayTime:LongWord):Boolean;
    function  ClientWalkXY(wIdent:Word;nX, nY:Integer;boLateDelivery:Boolean;var dwDelayTime:LongWord): Boolean;

    function  ClientHorseRunXY(wIdent:Word;nX,nY:Integer;boLateDelivery:Boolean;var dwDelayTime:LongWord):Boolean;
    function  ClientRunXY(wIdent:Word;nX,nY:Integer;nFlag:Integer;var dwDelayTime:LongWord):Boolean;
    function  ClientHitXY(wIdent:Word;nX,nY,nDir:Integer;boLateDelivery:Boolean;var dwDelayTime:LongWord):Boolean;
    function  ClientSitDownHit(nX,nY,nDir:Integer;var dwDelayTime:LongWord):Boolean;
    function  ClientSpellXY(wIdent:Word;nKey:Integer;nTargetX, nTargetY:Integer;TargeTBaseObject: TBaseObject;boLateDelivery:Boolean;var dwDelayTime:LongWord):Boolean;


    function  CheckTakeOnItems(nWhere: Integer;var StdItem:TStdItem):Boolean;
    function  GetUserItemWeitht(nWhere: Integer):Integer;

    procedure SendDelDealItem(UserItem:pTUserItem);

⌨️ 快捷键说明

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