📄 objnpc.pas
字号:
unit ObjNpc;
interface
uses
Windows, Classes, SysUtils, StrUtils, ObjBase,Grobal2,SDK,IniFiles;
type
TUpgradeInfo = record //0x40
sUserName :String[ActorNameLen];//0x00
UserItem :TUserItem; //0x10
btDc :Byte; //0x28
btSc :Byte; //0x29
btMc :Byte; //0x2A
btDura :Byte; //0x2B
n2C :Integer;
dtTime :TDateTime; //0x30
dwGetBackTick:LongWord; //0x38
n3C :Integer;
end;
pTUpgradeInfo = ^TUpgradeInfo;
TItemPrice = Record
wIndex :Word;
nPrice :Integer;
end;
pTItemPrice = ^TItemPrice;
TGoods = record //0x1C
sItemName :String[14];
nCount :Integer;
dwRefillTime :LongWord;
dwRefillTick :LongWord;
end;
pTGoods = ^TGoods;
TQuestActionInfo = record //0x1C
nCmdCode :Integer; //0x00
sParam1 :String; //0x04
nParam1 :Integer; //0x08
sParam2 :String; //0x0C
nParam2 :Integer; //0x10
sParam3 :String; //0x14
nParam3 :Integer; //0x18
sParam4 :String;
nParam4 :Integer;
sParam5 :String;
nParam5 :Integer;
sParam6 :String;
nParam6 :Integer;
end;
pTQuestActionInfo = ^TQuestActionInfo;
TQuestConditionInfo = record //0x14
nCmdCode :Integer; //0x00
sParam1 :String; //0x04
nParam1 :Integer; //0x08
sParam2 :String; //0x0C
nParam2 :Integer; //0x10
sParam3 :String;
nParam3 :Integer;
sParam4 :String;
nParam4 :Integer;
sParam5 :String;
nParam5 :Integer;
sParam6 :String;
nParam6 :Integer;
end;
pTQuestConditionInfo = ^TQuestConditionInfo;
TSayingProcedure = record //0x14
ConditionList :TList; //0x00
ActionList :TList; //0x04
sSayMsg :String; //0x08
ElseActionList :TList; //0x0C
sElseSayMsg :String; //0x10
end;
pTSayingProcedure = ^TSayingProcedure;
TSayingRecord = record //0x08
sLabel :String;
ProcedureList :TList; //0x04
boExtJmp :boolean; //是否允许外部跳转
end;
pTSayingRecord = ^TSayingRecord;
TNormNpc = class(TAnimalObject) //0x564
n54C :Integer; //0x54C
m_nFlag :ShortInt; //0x550 //用于标识此NPC是否有效,用于重新加载NPC列表(-1 为无效)
m_ScriptList :TList; //0x554
m_sFilePath :String; //0x558 脚本文件所在目录
m_boIsHide :Boolean; //0x55C 此NPC是否是隐藏的,不显示在地图中
m_boIsQuest :Boolean; //0x55D NPC类型为地图任务型的,加载脚本时的脚本文件名为 角色名-地图号.txt
m_sPath :String; //0x560
private
procedure ScriptActionError(PlayObject:TPlayObject;sErrMsg:String;QuestActionInfo:pTQuestActionInfo;sCmd:String);
procedure ScriptConditionError(PlayObject:TPlayObject;QuestConditionInfo: pTQuestConditionInfo;sCmd:String);
procedure ExeAction(PlayObject:TPlayObject;sParam1,sParam2,sParam3:String;nParam1,nParam2,nParam3:Integer);
procedure ActionOfChangeLevel(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfMarry(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfMaster(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfUnMarry(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfUnMaster(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfGiveItem(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfGetMarry(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfGetMaster(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfClearSkill(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfDelNoJobSkill(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfDelSkill(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfAddSkill(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfSkillLevel(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfChangePkPoint(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfChangeExp(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfChangeCreditPoint(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfChangeJob(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfRecallGroupMembers(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfClearNameList(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfMapTing(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfMission(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfMobPlace(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo;nX,nY,nCount,nRange:Integer);
procedure ActionOfSetMemberType(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfSetMemberLevel(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfGameGold(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfGamePoint(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfAutoAddGameGold(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo;nPoint,nTime:integer);
procedure ActionOfAutoSubGameGold(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo;nPoint,nTime:integer);
procedure ActionOfChangeHairStyle(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfLineMsg(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfChangeNameColor(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfClearPassword(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfReNewLevel(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfChangeGender(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfKillSlave(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfKillMonExpRate(PlayObject:TPlayObject;QuestActionInfo:pTQuestActionInfo);
procedure ActionOfPowerRate(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfChangeMode(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfChangePerMission(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfKill(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfKick(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfBonusPoint(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfRestReNewLevel(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfDelMarry(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfDelMaster(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfClearNeedItems(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfClearMakeItems(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfUpgradeItems(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfUpgradeItemsEx(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfMonGenEx(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfClearMapMon(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfSetMapMode(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfPkZone(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfRestBonusPoint(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfTakeCastleGold(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfHumanHP(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfHumanMP(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfGuildBuildPoint(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfGuildAuraePoint(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfGuildstabilityPoint(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfGuildFlourishPoint(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfOpenMagicBox(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfSetRankLevelName(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfGmExecute(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfGuildChiefItemCount(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfAddNameDateList(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfDelNameDateList(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfMobFireBurn(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfMessageBox(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfSetScriptFlag(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfAutoGetExp(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfRecallmob(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfVar(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfLoadVar(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfSaveVar(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfCalcVar(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfGuildRecall(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfGroupAddList(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfClearList(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfGroupRecall(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
procedure ActionOfGroupMoveMap(PlayObject: TPlayObject;QuestActionInfo: pTQuestActionInfo);
function ConditionOfCheckGroupCount(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckPoseDir(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckPoseLevel(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckPoseGender(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckPoseMarry(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckLevelEx(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckSlaveCount(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckBonusPoint(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckAccountIPList(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckNameIPList(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckMarry(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckMarryCount(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckMaster(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfHaveMaster(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckPoseMaster(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfPoseHaveMaster(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckIsMaster(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckPoseIsMaster(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckHaveGuild(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckIsGuildMaster(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckIsCastleaGuild(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckIsCastleMaster(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckMemberType(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckMemBerLevel(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckGameGold(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckGamePoint(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckNameListPostion(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckGuildList(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckReNewLevel(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckSlaveLevel(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckSlaveName(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckCreditPoint(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckOfGuild(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckPayMent(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckUseItem(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckBagSize(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckListCount(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckDC(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckMC(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckSC(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckHP(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckMP(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckItemType(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckExp(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckCastleGold(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckPasswordErrorCount(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfIsLockPassword(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfIsLockStorage(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckGuildBuildPoint(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckGuildAuraePoint(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckStabilityPoint(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckFlourishPoint(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckContribution(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckRangeMonCount(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckItemAddValue(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckInMapRange(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckIsAttackGuild(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckIsDefenseGuild(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckCastleDoorStatus(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckIsAttackAllyGuild(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckIsDefenseAllyGuild(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckCastleChageDay(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckCastleWarDay(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckOnlineLongMin(PlayObject:TPlayObject;QuestConditionInfo:pTQuestConditionInfo):Boolean;
function ConditionOfCheckChiefItemCount(PlayObject: TPlayObject;QuestConditionInfo: pTQuestConditionInfo): Boolean;
function ConditionOfCheckNameDateList(PlayObject: TPlayObject;QuestConditionInfo: pTQuestConditionInfo): Boolean;
function ConditionOfCheckMapHumanCount(PlayObject: TPlayObject;QuestConditionInfo: pTQuestConditionInfo): Boolean;
function ConditionOfCheckMapMonCount(PlayObject: TPlayObject;QuestConditionInfo: pTQuestConditionInfo): Boolean;
function ConditionOfCheckVar(PlayObject: TPlayObject;QuestConditionInfo: pTQuestConditionInfo): Boolean;
function ConditionOfCheckServerName(PlayObject: TPlayObject;QuestConditionInfo: pTQuestConditionInfo): Boolean;
function ConditionOfCheckMap(PlayObject: TPlayObject;QuestConditionInfo: pTQuestConditionInfo): Boolean;
function ConditionOfCheckPos(PlayObject: TPlayObject;QuestConditionInfo: pTQuestConditionInfo): Boolean;
function ConditionOfReviveSlave(PlayObject: TPlayObject;QuestConditionInfo: pTQuestConditionInfo): Boolean;
function ConditionOfCheckMagicLvl(PlayObject: TPlayObject;QuestConditionInfo: pTQuestConditionInfo): Boolean;
function ConditionOfCheckGroupClass(PlayObject: TPlayObject;QuestConditionInfo: pTQuestConditionInfo): Boolean;
function GetDynamicVarList(PlayObject: TPlayObject;sType:String;var sName:String):TList;
public
constructor Create();override;
destructor Destroy; override;
procedure Initialize();override;
function Operate(ProcessMsg:pTProcessMessage):Boolean; override;//FFFC
procedure Run; override; //FFFB
procedure Click(PlayObject: TPlayObject);virtual; //FFEB
procedure UserSelect(PlayObject:TPlayObject;sData:String);virtual; //FFEA
procedure GetVariableText(PlayObject:TPlayObject;var sMsg:String;sVariable:String);virtual; //FFE9
function GetLineVariableText(PlayObject:TPlayObject;sMsg:String):String;
procedure GotoLable(PlayObject: TPlayObject;sLabel:String;boExtJmp:Boolean);
function sub_49ADB8(sMsg,sStr,sText:String):String;
procedure LoadNPCScript();
procedure ClearScript();virtual;
procedure SendMsgToUser(PlayObject:TPlayObject;sMsg:String);
procedure SendCustemMsg(PlayObject:TPlayObject;sMsg:String);virtual;
end;
TMerchant = class(TNormNpc) //0x594
m_sScript :String; //0x568
n56C :Integer;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -