📄 objbase.pas
字号:
n69C: Integer; //0x69C
m_dwSaveRcdTick: LongWord; //0x6A0 保存人物数据时间间隔
m_btBright: Byte;
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[ActorNameLen]; //配偶名称
m_DearHuman: TPlayObject;
m_boCanDearRecall: Boolean; //是否允许夫妻传送
m_boCanMasterRecall: Boolean;
m_dwDearRecallTick: LongWord; //夫妻传送时间
m_dwMasterRecallTick: LongWord;
m_sMasterName: string[ActorNameLen]; //师徒名称
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: TItem): 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 ClientGroupClose();
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);
procedure SendAddDealItem(UserItem: pTUserItem);
procedure OpenDealDlg(BaseObject: TBaseObject);
function EatItems(StdItem: TItem): Boolean;
function EatUseItems(nShape: Integer): Boolean;
function ReadBook(StdItem: TItem): Boolean;
function DayBright(): Byte;
procedure BaseObjectMove(sMap, sX, sY: string);
procedure MoveToHome();
function RepairWeapon(): Boolean;
function SuperRepairWeapon(): Boolean;
function WinLottery(): Boolean;
procedure ChangeServerMakeSlave(SlaveInfo: pTSlaveInfo);
function WeaptonMakeLuck(): Boolean;
function PileStones(nX, nY: Integer): Boolean;
function RunTo(btDir: Byte; boFlag: Boolean; nDestX, nDestY: Integer): Boolean;
procedure ThrustingOnOff(boSwitch: Boolean);
procedure HalfMoonOnOff(boSwitch: Boolean);
procedure RedHalfMoonOnOff(boSwitch: Boolean);
procedure SkillCrsOnOff(boSwitch: Boolean);
procedure SkillTwinOnOff(boSwitch: Boolean);
procedure Skill43OnOff(boSwitch: Boolean);
function AllowFireHitSkill(): Boolean;
function AllowTwinHitSkill(): Boolean;
procedure MakeMine();
procedure MakeMine2();
function GetRangeHumanCount(): Integer;
procedure GetHomePoint();
function GetStartPoint(var StartPoint: pTStartPoint): Boolean;
procedure MobPlace(sX, sY, sMonName, sCount: string);
procedure LogonTimcCost;
procedure SendNotice();
procedure SendLogon();
procedure SendServerConfig();
procedure SendServerStatus();
// procedure SendUserName(PlayObject:TPlayObject;nX,nY:Integer);
function CretInNearXY(TargeTBaseObject: TBaseObject; nX, nY: Integer): Boolean;
procedure ClientQueryUserName(Target: TBaseObject; x, y: Integer);
procedure SendUseitems();
procedure SendUseMagic();
procedure SendSaveItemList(nBaseObject: Integer);
procedure SendDelItemList(ItemList: TStringList);
procedure SendAdjustBonus();
procedure SendChangeGuildName();
procedure SendMapDescription();
procedure SendGoldInfo(boSendName: Boolean);
procedure ShowMapInfo(sMap, sX, sY: string);
function CancelGroup(): Boolean;
function GetSpellPoint(UserMagic: pTUserMagic): Integer;
function DoMotaebo(nDir: Byte; nMagicLevel: Integer): Boolean;
function DoSpell(UserMagic: pTUserMagic; nTargetX, nTargetY: Integer; BaseObject: TBaseObject): Boolean;
procedure GetOldAbil(var OAbility: TOAbility);
procedure ReadAllBook;
function CheckItemsNeed(StdItem: TItem): Boolean;
function CheckItemBindUse(UserItem: pTUserItem): Boolean;
function CheckActionStatus(wIdent: Word; var dwDelayTime: LongWord): Boolean;
procedure RecalcAdjusBonus;
procedure CheckMarry();
procedure CheckMaster();
procedure RefMyStatus;
procedure ProcessClientPassword(ProcessMsg: pTProcessMessage);
function CheckDenyLogon: Boolean;
procedure ProcessSpiritSuite;
function HorseRunTo(btDir: Byte; boFlag: Boolean): Boolean;
public
constructor Create(); override;
destructor Destroy; override;
procedure SendSocket(DefMsg: pTDefaultMessage; sMsg: string); virtual;
procedure SendDefMessage(wIdent: Word; nRecog: Integer; nParam, nTag, nSeries: Word; sMsg: string);
procedure SearchViewRange(); override;
procedure UpdateVisibleGay(BaseObject: TBaseObject); override;
procedure PKDie(PlayObject: TPlayObject);
procedure GameTimeChanged();
procedure RunNotice();
function GetMyStatus(): Integer;
function IncGold(tGold: Integer): Boolean;
function IsEnoughBag(): Boolean;
function IsAddWeightAvailable(nWeight: Integer): Boolean;
procedure SendAddItem(UserItem: pTUserItem);
procedure SendDelItems(UserItem: pTUserItem);
procedure Whisper(whostr, saystr: string);
function IsBlockWhisper(sName: string): Boolean;
function QuestCheckItem(sItemName: string; var nCount: Integer; var nParam: Integer; var nDura: Integer): pTUserItem;
function QuestTakeCheckItem(CheckItem: pTUserItem): Boolean;
procedure GainExp(dwExp: LongWord);
procedure GetExp(dwExp: LongWord);
procedure WinExp(dwExp: LongWord);
function DecGold(nGold: Integer): Boolean;
procedure Run(); override;
function Operate(ProcessMsg: pTProcessMessage): Boolean; override;
procedure RecalcAbilitys(); override; //FFF7
procedure MakeSaveRcd(var HumanRcd: THumDataInfo);
procedure DealCancel();
procedure DealCancelA();
function GetShowName(): string; override;
procedure GetBackDealItems();
procedure Disappear(); override; //FFFD
procedure GoldChange(sChrName: string; nGold: Integer);
procedure ProcessUserLineMsg(sData: string);
procedure ProcessSayMsg(sData: string); override;
procedure ClearStatusTime();
procedure UserLogon(); virtual;
procedure RefRankInfo(nRankNo: Integer; sRankName: string);
procedure RefUserState;
procedure SendGroupMembers();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -